Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Galleria Php,db

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    11

    Galleria Php,db

    Ciao a tutti, sonon un neo iscritto in disperato bisogno di aiuto!

    Sto creando un sito in cui è contemplata la seguente architettura:

    DB: MySql
    Xampp
    Php

    Praticamente io ho la necessità di creare una galleria fotografica organizzata in maniera tale da avere una select con il menù a tendina con le varie categorie delle foto ( categorie prensenti nel db)

    codice:
    <?php mysql_connect("localhost", "root", "") or die("Connessione non riuscita: " . mysql_error()); if(!mysql_select_db("miodb")) die("Selezione database fallita!"); $query = mysql_query("SELECT nome FROM categorie"); echo "<p align=\"center\">"; echo"<select name='scelta_cat'>"; while ($row=mysql_fetch_array($query)) { echo "<option>". $row['nome']."</option>"; } echo "</select>"; echo "
    "; echo "
    "; ?>
    Le immagini vengono uplodate tramite radio button e submit.

    Io vorrei che quando clicco sulla categoria della select mi faccia vedere solo le foto appartenenti alla categoria medesima. Come posso fare?

    Grazie a tutti per l'aiuto!

  2. #2
    Benvenuto.
    Allore,crei due tabelle, una per le foto e l'altra con le categorie.
    Nella tabella categorie 2 campi, uno id e l'altro nomecategoria.
    Nelle foto minimo tre campi: id, foto e categoria.
    Quando aggiungi una foto le assegni l'id della categoria corrispondente, cosí quando invii il form dal sito con la select di scelta per categorie, invii l'id della categoria e fai vedere solo le foto dove il valore nel campo foto->categoria sia uguale a quello passato.(per intenderci: ...WHERE categoria='$_POST['id_categoria'])
    Capito il concetto generale?
    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    11
    Codice PHP:
    <?php $cartella="defaultImg/Miniature"$totale=0//conta le img $counttot=0; $perriga=5; //img per riga $w=80; //larghezza img $h=80; //altezza img $wtab="70%"; //larghezza blocco tabelle ?> //<script language="JavaScript"> function validateExtension(form) { var elem = form.upfile.value; if(elem.indexOf(".png")==-1 && elem.indexOf(".jpg")==-1 && elem.indexOf(".jpeg")==-1 && elem.indexOf(".gif")==-1 && elem.indexOf(".tif")==-1 && elem.indexOf(".tiff")==-1) { alert("Caricare un file con estensione: png, jpg, jpeg, tiff, tif, gif"); return false; } return true; } function setDisplayDiv(id) { if(id==0) { document.getElementById("galleria").style.display ='block'; document.getElementById("nuovaimmagine").style.display ='none'; } else if(id==1) { document.getElementById("galleria").style.display ='none'; document.getElementById("nuovaimmagine").style.display ='block'; } } function PrevFoto(img) { foto1= new Image(); foto1.src=(img); Controlla(img); } function Controlla(img) { if((foto1.width!=0)&&(foto1.height!=0)) { viewFoto(img); } else { funzione="Controlla('"+img+"')"; intervallo=setTimeout(funzione,100); } } function viewFoto(img) { largh=foto1.width+20; altez=foto1.height+25; stringa="width="+largh+",height="+altez; finestra=window.open(img,"",stringa); } </script> <style> body { font-family:verdana; font-size:10; } table { font-family:verdana; font-size:10; } </style> </head> <body> <form name = "selectTypeImg"> <input type="radio" name="myRadio" value="Defaut" checked="checked" onclick= "setDisplayDiv(0);"> Default </input> <input type="radio" name="myRadio" value="Scelta" onclick= "setDisplayDiv(1);"> Foto </input> </form> 

    </p> 

    </p> 

    </p> <div id= "galleria" style = "display:block;"> <?php mysql_connect("localhost""root""") or die("Connessione non riuscita: " mysql_error()); if(!mysql_select_db("photo_mosaic")) die("Selezione database fallita!"); $query mysql_query("SELECT nome FROM categorie"); echo "<p align=\"center\">"; echo"<select name='scelta_cat'>"; while ($row=mysql_fetch_array($query)) { echo "<option>"$row['nome']."</option>"; } echo "</select>"; echo "
    "
    ; echo "
    "
    ?> <form action="uploader.php" method="post"> <input type="hidden" name="fileName" value="<?php echo $_REQUEST['imgId']?>"/> <input type="hidden" name="action" value="sceltadefault"></input> <?php //1. popup img autoridim //2. img ridimensionate con proprietàgd //3. messe bene //conta tutte le img if ($handle = opendir($cartella)) { //while (false !== ($file = readdir($handle))) while($file = readdir($handle)) { $file = $cartella.'/'.$file; if ($file != "." && $file != ".." && substr($file,strlen($file)-6) == "_s.jpg" ) { if(is_file($file)) { $pieces = explode(".", $file); //prende l'estensione list(,,$ImageType) = getImageSize($file); // get image type if($ImageType==1 || $ImageType==2 || $ImageType==3) { /* numeri img GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, or WBMP */ $totale++; $counttot++; $tutteleimg[]= $file; //$foto = $cartella . '/' . $file; $foto = $file; //$miniatura = $cartella . '/' . substr($file,0,strlen($file)-6) . '.jpg'; $miniatura = substr($file,0,strlen($file)-6) . '.jpg'; $tutteleimgGrandi[]= $miniatura; } } } } closedir($handle); } echo"<table width=$wtab>"; while($totale>=0){ echo"<tr>"; for($j=$perriga;$j>0;$j--){ echo "<td align=\"center\">"; $totale--; $a=$totale; if(filesize($tutteleimg[$a])>0){ echo"<a href=\"JavaScript:PrevFoto('$tutteleimgGrandi[$a]');\"><img src=\"$tutteleimg[$a]\" border=\"0\" width=\"$w\" height=\"$h\" alt=\" ".filesize($tutteleimg[$a])." bytes\"></a>"; echo "
    "; echo "<input type=\"radio\" name=\"radioscelta\" value= \"$tutteleimgGrandi[$a]\">"; } echo"</td>"; } echo"</tr>"; } echo"</table>"; echo"
    "
    ; echo "<p align=\"center\">"; echo "<input type=\"submit\" name=\"submit\" value=\"submit\">"//echo"[b]totale img: $counttot[/b]"; ?> </form> <div id= "nuovaimmagine" style = "display:none;"> <form action="uploader.php" method="post" enctype="multipart/form-data" name="fileUp" onsubmit="return validateExtension(this);"> <input type="file" name="upfile"/>  <input type="hidden" name="fileName" value="<?php echo $_REQUEST['imgId']?>"/> <input type="hidden" name="action" value="sceltanuova"></input> <input type="submit" value="Invia il file" /> </form> </div> </body> </html>

    Nel mio codice praticamente dico alla upload.php di uplodare l'immagine sul db ma io voglio che nella pagina quando clicco sulla categoria che mi si visualizzi solo quelle appartenti a quella categoria

  4. #4
    Postalo meglio il codice, che a monoriga mi vanno insieme gli occhi.
    Ce l'ho fatta! - ItalianPixel -

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    11
    come devo fare? non lo so usare molto questo forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    11
    Codice PHP:
    <?php
    $cartella
    ="defaultImg/Miniature"
    $totale=0//conta le img
    $counttot=0;
    $perriga=5//img per riga
    $w=80//larghezza img
    $h=80//altezza img
    $wtab="70%"//larghezza blocco tabelle
    ?>


    //<script language="JavaScript">

    function validateExtension(form)
    {

        var elem = form.upfile.value;
        if(elem.indexOf(".png")==-1 && elem.indexOf(".jpg")==-1 && elem.indexOf(".jpeg")==-1 && elem.indexOf(".gif")==-1 && elem.indexOf(".tif")==-1 && elem.indexOf(".tiff")==-1)
        {
        alert("Caricare un file con estensione: png, jpg, jpeg, tiff, tif, gif");
        return false;
        }

        
        return true;
        
    }
    function setDisplayDiv(id)
    {
        
     if(id==0)
     {
        document.getElementById("galleria").style.display ='block';
        document.getElementById("nuovaimmagine").style.display ='none';
         }
     else if(id==1)
     { 
         document.getElementById("galleria").style.display ='none';
            document.getElementById("nuovaimmagine").style.display ='block';
            
    }
     }

    function PrevFoto(img)
        {
            foto1= new Image();
            foto1.src=(img);
            Controlla(img);
        }
    function Controlla(img)
        {
            if((foto1.width!=0)&&(foto1.height!=0))
                {
                    viewFoto(img);
                }
            else
                {
                    funzione="Controlla('"+img+"')";
                    intervallo=setTimeout(funzione,100);
                }
        }

    function viewFoto(img)
        {
            largh=foto1.width+20;
            altez=foto1.height+25;
            stringa="width="+largh+",height="+altez;
            finestra=window.open(img,"",stringa);
        }

    </script>

    <style>

    body
        {
            font-family:verdana;
            font-size:10;
        }
    table
        {
            font-family:verdana;
            font-size:10;
        }
    </style>
    </head>
    <body>
    <form name = "selectTypeImg">
    <input type="radio" name="myRadio" value="Defaut" checked="checked" onclick= "setDisplayDiv(0);"> Default </input>
    <input type="radio" name="myRadio" value="Scelta" onclick= "setDisplayDiv(1);"> Foto </input>
    </form>


    </p>


    </p>


    </p>

    <div id= "galleria" style = "display:block;">

    <?php
    mysql_connect
    ("localhost""root""")
    or die(
    "Connessione non riuscita: " mysql_error());

    if(!
    mysql_select_db("photo_mosaic"))
    die(
    "Selezione database fallita!");
    $query mysql_query("SELECT nome FROM categorie");
    echo 
    "<p align=\"center\">";
    echo
    "<select name='scelta_cat'>";
    while (
    $row=mysql_fetch_array($query)) 
        {
            echo 
    "<option>"$row['nome']."</option>";
        }
    echo 
    "</select>";
    echo 
    "
    "
    ;
    echo 
    "
    "
    ;
    ?>
    <form action="uploader.php" method="post">
    <input type="hidden" name="fileName" value="<?php echo $_REQUEST['imgId']?>"/>
    <input type="hidden" name="action" value="sceltadefault"></input>
    <?php

    //1. popup img autoridim
    //2. img ridimensionate con proprietà gd
    //3. messe bene



    //conta tutte le img
        
    if ($handle opendir($cartella))
            {
                
                
    //while (false !== ($file = readdir($handle)))
                
    while($file readdir($handle))
                    {
                        
    $file $cartella.'/'.$file;
                        if (
    $file != "." && $file != ".." && substr($file,strlen($file)-6) == "_s.jpg" )
                            {
                                 if(
    is_file($file))
                                    {
                                        
    $pieces explode("."$file); //prende l'estensione
                                        
    list(,,$ImageType) = getImageSize($file); // get image type
                                        
    if($ImageType==|| $ImageType==|| $ImageType==3)
                                            {
                                                
    /* numeri img
                                                GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, or WBMP
                                                */
                                                
    $totale++;
                                                
    $counttot++;
                                                
    $tutteleimg[]= $file;
                                                
    //$foto = $cartella . '/' . $file;
                                                
    $foto $file;
                                                
    //$miniatura = $cartella . '/' . substr($file,0,strlen($file)-6) . '.jpg';
                                                
    $miniatura substr($file,0,strlen($file)-6) . '.jpg';
                                                
    $tutteleimgGrandi[]= $miniatura;
                                                
                                            }
                                    }
                            }
                    }
        
    closedir($handle);
            }
    echo
    "<table width=$wtab>";
    while(
    $totale>=0){
    echo
    "<tr>";
    for(
    $j=$perriga;$j>0;$j--){
    echo 
    "<td align=\"center\">";
    $totale--;
    $a=$totale;
    if(
    filesize($tutteleimg[$a])>0){
    echo
    "<a href=\"JavaScript:PrevFoto('$tutteleimgGrandi[$a]');\"><img
    src=\"
    $tutteleimg[$a]\" border=\"0\" width=\"$w\" height=\"$h\" alt=\"
    "
    .filesize($tutteleimg[$a])." bytes\"></a>";
    echo 
    "
    "
    ;
    echo 
    "<input type=\"radio\" name=\"radioscelta\" value= \"$tutteleimgGrandi[$a]\">";
    }
    echo
    "</td>";
    }
    echo
    "</tr>";
    }
    echo
    "</table>";
    echo
    "
    "
    ;
    echo 
    "<p align=\"center\">";
    echo 
    "<input type=\"submit\" name=\"submit\" value=\"submit\">";
    //echo"[b]totale img: $counttot[/b]";

    ?>
    </form>

    <div id= "nuovaimmagine" style = "display:none;">
    <form action="uploader.php" method="post" enctype="multipart/form-data" name="fileUp" onsubmit="return validateExtension(this);">
    <input type="file" name="upfile"/>
    <!-- 
    <input type="hidden" name="MAX_FILE_SIZE" value="10000"/>
    -->
    <input type="hidden" name="fileName" value="<?php echo $_REQUEST['imgId']?>"/>
    <input type="hidden" name="action" value="sceltanuova"></input>
    <input type="submit" value="Invia il file" />
    </form>
    </div>








    </body>
    </html>

  7. #7
    Giusto se è php metti la parola php tra parentesi quadre, e chiudile con lo slash come i tag, sempre tra quadre. Stessa cosa con il codice semplice ma tra parola CODE.
    Più che altro prima di pubblicare fai sempre anteprima del messaggio cosí vedi se ci sono errori.
    Ce l'ho fatta! - ItalianPixel -

  8. #8
    30 righe di codice per contare le foto? Ma non usi il database ora, giusto?
    Andiamo per gradi, cerca sempre di postare parti di codice, quello che ti interessa prima e poco alla volta. Se uno vede cosí tanto codice cambia post, assicurato, tranne chi vuole davvero aiutare
    Togli javascript, l'html base e già si dimezza il codice. Poi mi sembra che la base del codice non vada per l'estrazione dei dati dal database. Inizia a fare la query per l'estrazione delle foto. Le immagini le conterai dal database, non dalle cartelle.
    Ce l'ho fatta! - ItalianPixel -

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    11
    praticamente questa parte di codice che fa? Ci sono due radio button una per le immagini di default e l'altra per quelle che l'utente vuole caricare. Quenado l'utente vuole caricare delle immagini di default che ho io, può sceglierla attraverso il radio button, in questo modo quando andrà a fare submit la query dice al db che deve salvare quell'immagine anche nel db

  10. #10
    Guarda sono al lago con l'ipad e mi sembra troppo complesso da seguire senza un Mac davanti.
    Aspetta qualcuno che ti da una mano o giovedì torno a Milano e ti rispondo.
    Ce l'ho fatta! - ItalianPixel -

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 © 2024 vBulletin Solutions, Inc. All rights reserved.