Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    8

    Galleria con una foto random e database

    Buongiorno,

    premetto che ho una conoscenza minima del PHP.

    Dovrei realizzare il seguente script:
    1 - Pagina di upload di una foto con ridimensionamento (500px larghezza) e descrizione relativa all'immagine.
    2 - Immagine + descrizione corrispondente salvate su database Mysql
    3 - Pagina che mostra random le foto+descrizione pescate dal database. Ad ogni refresh della pagina dovà apparire una nuova foto.


    Potreste indicarmi come realizzarlo?

    Grazie molte.

    Ciao

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ..meno male che il primo 3D nel forum PHP è: "In rilievo:Regolamento + PILLOLE trattate [LEGGERE PRIMA DI POSTARE]"
    i primi due argomenti li trovi là.
    per il terzo ti basta fare una query "select * from tabella order by rand ()".
    se devi fare anche la paginazione random
    http://forum.html.it/forum/showthrea...readid=1317713
    dove trovi il link a questo
    http://kb.creativepark.it/kb/entry/11/
    che ho usato da poco e va alla grande..

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    8
    Originariamente inviato da telegio
    ..meno male che il primo 3D nel forum PHP è: "In rilievo:Regolamento + PILLOLE trattate [LEGGERE PRIMA DI POSTARE]"
    i primi due argomenti li trovi là.
    per il terzo ti basta fare una query "select * from tabella order by rand ()".
    se devi fare anche la paginazione random
    http://forum.html.it/forum/showthrea...readid=1317713
    dove trovi il link a questo
    http://kb.creativepark.it/kb/entry/11/
    che ho usato da poco e va alla grande..
    Ti ringrazio per la risposta.

    Ho trovato le guida a cui fai riferimento ma non parlano di upload+inseimento nel database, è quello il mio problema, cioè scrivere foto+descrizione corrispondente sul DB

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    nel momento in cui hai uploadato il file, fai un controllo "if (file_exists" sul nome del file nella cartella di upload. Se il file c'è fai con i dati che hai inviato in POST una semplice insert.
    Poi puoi fare più o meno controlli, ma intanto vedi se riesci a fare questo..

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    8
    Salve a tutti, dato che non ne vengo facilmente a capo vi chiedo questo:
    è possibile collegare un breve testo alla foto caricata dall'utente senza l'ausilio di un database?

    Grazie.

  6. #6
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    cos'è che non riesci a fare?
    se hai un solo utente che mette le foto va anche bene..
    se ne hai di più, la cosa si complica e devi complicare la cosa..
    Codice PHP:
    <?php require_once('ConnessioneDB.php');

    $abpathoriginali $_SERVER['DOCUMENT_ROOT'] .  "uploaded/originali" 
    $abpathminia $_SERVER['DOCUMENT_ROOT'] .  "uploaded/miniature" 
    $abpathgrandi $_SERVER['DOCUMENT_ROOT'] .  "uploaded/grandi" ;

    $size "2000000"//limita la grandezza del file
    $dim 80// DIMENSIONI MINIATURE
    $dimGRANDI 500// DIMENSIONI GRANDI


    $cert1 "image/pjpeg"//Jpeg type 1
    $cert2 "image/jpeg"//Jpeg type 2
    $cert3 "image/gif"//Gif type
    $img1 $_FILES['img1']['name'];
    $descrizione $_POST['descrizione'];


    if (
    $_FILES['img1']['name'] == "") {
        
    $log"non è stato selezionato nessun file";
        }
    $nome $_FILES['img1']['name'];
    $nomefile $abpathoriginali "/" $nome
    if (!
    file_exists($nomefile)) {
    if (
    $_FILES['img1']['size'] < $size) {
    if (
    $_FILES['img1']['type'] == $cert1 or $_FILES['img1']['type'] == $cert2 or $_FILES['img1']['type'] == $cert3) {
        
            if (
    $_FILES['img1']['name'] != "") {
        if ( 
    $_POST['testo'] == '' ) {
        
    $testo "img"; } else { $testo $_POST['testo']; }
        
    $name $_FILES['img1']['name'];
            
    $uploadfile $abpathoriginali."/"$_FILES['img1']['name'];
            
    $NUOVO $abpathoriginali."/"$name;
            
    move_uploaded_file($_FILES['img1']['tmp_name'], $uploadfile);
                 if (
    file_exists($NUOVO)) {
                   
    $log=  "Il file è stato caricato correttamente";
                   
    mysql_select_db ($DB);
    $sql "INSERT into tabella  (nomefoto, descrizione) VALUES ('$img1' , '$descrizione')";
    mysql_query($sql) or die("Errore: " mysql_error() . " - query[{$sql}]");

    list(
    $width$height$type$attr) = getimagesize($abpathoriginali "/" $_FILES['img1']['name']);
            
            
    // CONTROLLO SE è UN JPG
            
    if ($_FILES['img1']['type'] == $cert1 or $_FILES['img1']['type'] == $cert2)  {
            
            
    // Creo la versione 80*n dell'immagine (thumbnail)
            
    $numero = ($dim/$width);
            
    $thumb imagecreatetruecolor($width*$numero$height*$numero);
            
    $source imagecreatefromjpeg($abpathoriginali "/" $_FILES['img1']['name']);
            
            
    imagecopyresized($thumb$source0000$width*$numero$height*$numero$width$height);
            
            
    // Salvo l'immagine ridimensionata
            
    imagejpeg($thumb$abpathminia "/" $_FILES['img1']['name'], 65);
            
            
            
    // Creo la versione 500*n dell'immagine (thumbnail)
            
    if ($width $dimGRANDI ) {
            
    $numero = ($dimGRANDI/$width);
            
    $thumb imagecreatetruecolor($width*$numero$height*$numero);
            
    $source imagecreatefromjpeg($abpathoriginali "/" $_FILES['img1']['name']);
            
            
    imagecopyresized($thumb$source0000$width*$numero$height*$numero$width$height);
            
            
    // Salvo l'immagine ridimensionata
            
    imagejpeg($thumb$abpathgrandi "/" $_FILES['img1']['name'], 65);
            
            } else {
                
    $thumb imagecreatetruecolor($width$height);
            
    $source imagecreatefromjpeg($abpathoriginali "/" $_FILES['img1']['name']);
            
            
    imagecopyresized($thumb$source0000$width$height$width$height);
            
            
    // Salvo l'immagine ridimensionata
            
    imagejpeg($thumb$abpathgrandi "/" $_FILES['img1']['name'], 65);
            }
            } elseif (
    $_FILES['img1']['type'] == $cert3) {
            
    //    CONTROLLO SE è UNA GIF
            
            
            
    $numero = ($dim/$width);
            
    $thumb imagecreatetruecolor($width*$numero$height*$numero);
            
    $source imagecreatefromgif($abpathoriginali "/" $_FILES['img1']['name']);
            
            
    imagecopyresized($thumb$source0000$width*$numero$height*$numero$width$height);
            
            
    // Salvo l'immagine ridimensionata
            
    imagegif($thumb$abpathminia "/" $_FILES['img1']['name'], 65);
            
            
            if (
    $width $dimGRANDI ) {
            
    // Creo la versione 700*n dell'immagine (thumbnail)
            
    $numero = ($dimGRANDI/$width);
            
    $thumb imagecreatetruecolor($width*$numero$height*$numero);
            
    $source imagecreatefromgif($abpathoriginali "/" $_FILES['img1']['name']);
            
            
    imagecopyresized($thumb$source0000$width*$numero$height*$numero$width$height);
            
            
    // Salvo l'immagine ridimensionata
            
    imagegif($thumb$abpathgrandi "/" $_FILES['img1']['name'], 65);
            
            } else {
            
    $thumb imagecreatetruecolor($width$height);
            
    $source imagecreatefromgif($abpathoriginali "/" $_FILES['img1']['name']);
            
            
    imagecopyresized($thumb$source0000$width$height$width$height);
            
            
    // Salvo l'immagine ridimensionata
            
    imagegif($thumb$abpathgrandi "/" $_FILES['img1']['name'], 65);
            }
                
            } else {
    $log"Puoi inserire solo immagini visibili da un browser: JPG o GIF";    
    }

                  } else {
                   
    $log=  "Il file non è stato caricato per motivi sconosciuti";
                }
    }

    }
    } else {
           
    $log=  "ATTENZIONE. 
    Il file è troppo grande"
    ;
           }
    } else {
           
    $log=  "ATTENZIONE. 
    Il file che hai inserito è già stato caricato da te, per questo o un altro abstract."
    ;

    }
    ?>

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    8
    Dunque, sono riuscito tramite un componente di Joomla che crea form a crearne uno per il caricamento di immagine+descirizione sul db.

    A questo punto con i due script seguenti recupero la descrizione e la foto:

    Codice PHP:
    <?php
    /* dichiariamo alcune importanti variabili per collegarci al database */
    $DBhost "localhost";
    $DBuser "root";
    $DBpass "mysql";
    $DBName "galleria_test";

    /* specifichiamo il nome della nostra tabella */
    $table "jos_chronoforms_rinaldo";

    /* Connettiamoci al database */
    mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
    @
    mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName"); 

    /* impostiamo la query e cerchiamo solo le amiche donne...*/
    $sqlquery "SELECT * FROM $table";
    $result mysql_query($sqlquery);
    $number mysql_numrows($result);

    $i 0;

    if (
    $number 1) {
    print 
    "<center>

    La ricerca non ha prodotto nessun risultato</p></center>"
    ;
    }
    else {
    while (
    $number $i) {
    $thename mysql_result($result,$i,"file_0");
    $theemail mysql_result($result,$i,"text_1");
    print 
    "

    [b]Testo:[/b]
    $theemail</p>";
    $i++;
    }
    }

    ?>



    <?php 
    //Qui definiamo semplicemente le variabili da utilizzare per connetterci 
    $db_host 'localhost'//Host,solitamente "localhost" 
    $db_user 'root'//Username di accesso al database 
    $db_pass 'mysql'//Password di accesso al database 
    $db_name 'galleria_test'//Nome del database a cui connettersi 

    //Con la funzione mysql_connect ci connetteremo e successivamente sceglieremo il database con mysql_select_db 
    $connection mysql_connect ($db_host$db_user$db_pass); 
    $id=$_GET['id'];  
    if (
    $connection == false){ 
    die (
    'Impossibile Connettersi al database'); 

    $database mysql_select_db ($db_name); 
    if (
    $database == false){ 
    die (
    'Impossibile connettersi al database selezionato'); 

    $myvarsql "SELECT file_0 FROM `jos_chronoforms_rinaldo` "
    $myquery mysql_query ($myvarsql,$connection
    or die (
    "query di selezione fallita $myvarsql 
    "
    ); 

    while (
    $myvalues mysql_fetch_array ($myquery))  

    $immagine $myvalues['file_0']; 



    echo 
    "<img src=\"foto/$immagine\">

    "




    ?>
    Naturalmente la visualizzazione non va bene.

    Devo ora pescare la foto e la descrizione corrispondente in modo random e con una sola foto+descrizione visualizzata ad ogni refresh di pagina.


    Come posso fare?

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    poi mi dici il mio cosa aveva che non andava..
    prova a fare così e dimmi cosa ricevi..
    Codice PHP:
    while ($myvalues mysql_fetch_array ($myquery))  
    {
    $immagine $myvalues['file_0'];

    echo 
    $immagine
    ";



    e se metti $myvalues["file_0"]?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    8
    Originariamente inviato da telegio
    poi mi dici il mio cosa aveva che non andava..
    prova a fare così e dimmi cosa ricevi..
    Codice PHP:
    while ($myvalues mysql_fetch_array ($myquery))  
    {
    $immagine $myvalues['file_0'];

    echo 
    $immagine
    ";



    e se metti $myvalues["file_0"]?
    No no, mi dispiace, non volevo "non" utilizzare il tuo, solo che sono di fretta e grazie a joomla ho risolto (almeno il 50%).

    Nulla, mi restituisce pagina bianca (spero di aver fatto giusto)

  10. #10
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    metti questo a inizio pagina
    ini_set('error_reporting', E_ALL);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.