selezione di una foto di una photogallery

  • Creatore Discussione Creatore Discussione Skk
  • Data di inizio Data di inizio

Skk

Nuovo Utente
11 Gen 2013
4
0
0
Ecco il problema:
Su un sito devo creare una photogallery, dove potranno essere inserite X foto divise in X album.
Sulla pagina del sito saranno visibili solo una foto per ogni album. Cliccando su quella foto si apre una lightbox, dove si vedranno tutte le foto di quell'album.

E' tutto a posto, tranne che non riesco a far si che nella pagina del sito compaia solo una foto dell'album. Adesso mi compaiono tutte le foto contenute nell'album...

Qualcuno mi può aiutare?


Questo è il codice attuale:

PHP:
<?php
$query = "SELECT marchio,didascalia FROM marchi ORDER BY didascalia";
$result = mysql_query($query) or die($query.'<br />'.mysql_error());
while(list($marchio,$dida)=mysql_fetch_row($result)){
print "<div style='width:200px;text-align:center;float:left;border:0px solid green;background:#333;margin:0 15px 15px 0'>
<div style='height:110px;border:0px solid red;margin:15px 0 0 0'>
<a href='".ResampImg($marchio,800,600,"imgApp/","imgApp/thumbs/")."' class='normaltip' rel='prettyPhoto1[$dida]'>
<img src='".ResampImg($marchio,150,150,"imgApp/","imgApp/thumbs/")."' class='immagine' style='border:1px solid white'></a>
</div>
<div style='clear:both;margin:0 0 0 0;height:40px;background:#666;'>$dida </div>
</div>";
}
?>
 
Ultima modifica di un moderatore:
Nella query, utilizza la clausola LIMIT, per limitare la selezione, impostando la query in questo modo:

Codice:
SELECT marchio,didascalia FROM marchi ORDER BY didascalia LIMIT 1

E no, così non va bene. Mi tira fuori solo 1 record dal db.

Se ho 10 foto nella galleria chiamata "gallery1", bisogna tirare fuori tutti i record, visualizzarne solo 1 nella pagina web, e poi cliccando sulla foto si apre una lightbox contenente tutte le 10 foto.
 
Prova in questo modo:
PHP:
<?php
$query = 'SELECT marchio, didascalia FROM marchi ORDER BY didascalia';
$result = mysql_query($query) or die("{$query}<br />" . mysql_error());

$count = 1;

while ($row = mysql_fetch_assoc($result)) {
    $fullImage = ResampImg($row['marchio'], 800, 600, 'imgApp/', 'imgApp/thumbs/');
    $smallImage = ResampImg($row['marchio'], 150, 150, 'imgApp/', 'imgApp/thumbs/');

    $css = ($count > 1) ? 'display: none' : '';

    echo <<<EOF
<div style="width: 200px; text-align: center; float: left; border: 0px solid green; background: #333; margin: 0 15px 15px 0; {$css}">
    <div style="height: 110px; border: 0px solid red; margin: 15px 0 0 0">
        <a href="{$fullImage}" class="normaltip" rel="prettyPhoto1[$dida]">
            <img src="{$smallImage}" class="immagine" style="border: 1px solid white" />
        </a>
    </div>
    
    <div style="clear: both; margin: 0 0 0 0; height: 40px; background: #666;">
        {$row['didascalia']}
    </div>
</div>
EOF;

    $count++;
}
?>
Un consiglio: non usare gli stili CSS in linea ma crea delle classi apposite.
 
#alessandro1997

Funziona... a metà:

Io adesso nel sito ho 2 album: "gallery2" e "gallery2"

Col codice che ho postato io, visualizzavo TUTTE le foto nella pagina del sito, e dentro l'album (nel lightbox), solo le foto di quell'album.
Col codice che mi hai mandato, adesso visualizzo solo la prima foto della "gallery1", e dentro l'album (nel lightbox) visualizzo TUTTE le di ambedue le gallery.

Adesso devo andar via, darò un'occhiata al codice dopo.

Grazie Alessandro
 

Discussioni simili