Autor | Zpráva | ||
---|---|---|---|
panmagor Profil * |
#1 · Zasláno: 23. 6. 2008, 15:46:53
Uhňácal jsem si jednoduchou galerii, kdy do složky naházím soubory, do DB zapíší název a následně je zobrazím na stránce.. JENŽE- Já bych u konkrétní série fotek chtěl zobrazit i název, z jaké akce pocházejí.. Ale pokud zařadím výpis názvu do "while" tak se mi zobrazí u každé fotky.. Jak upravit, aby se zobrazil pouze jednou (nad první fotografií z dané akce)?
$res = mysql_query("SELECT idfoto,nazev,akce FROM galerie JOIN akce"); if( mysql_num_rows($res) == 0){ echo "Žádné fotky v galerii"; } while ( $data = mysql_fetch_assoc($res)) { echo "<a href=img/foto/$data[nazev]>"; echo "<img src=img/foto/$data[nazev] class=\"mini\">"; echo "</a>"; } |
||
kletely Profil |
#2 · Zasláno: 23. 6. 2008, 16:01:49
panmagor
Použi WHERE ;) |
||
deter Profil |
#3 · Zasláno: 23. 6. 2008, 16:38:26
panmagor: nejlepší by bylo, kdyby jsi si rozdělil akce a fotografie do dvou různých tabulek. V tabulce akce by jsi pak měl například sloupce id_akce, nazev_akce a ve fotografie ..cokoliv ... a id_akce.
Dotaz by pak vypadal nějak následovně : function vyblij_fotky($akce_k_zobrazeni) { $query="SELECT f.nazev, f.id_akce, a.id_akce, a.nazev_akce FROM fotografie f INNER JOIN akce a ON f.id_akce=a.id_akce WHERE a.id_akce=='$akce_k_zobrazeni' " $res = mysql_query($query); if( mysql_num_rows($res) == 0){ echo "Žádné fotky v galerii"; } $x=mysql_fetch_assoc($res); echo $x['nazev_akce']; //Tady se vypíše název té dané akce while ( $data = mysql_fetch_assoc($res)) { echo "<a href=img/foto/$data[nazev]>"; echo "<img src=img/foto/$data[nazev] class=\"mini\">"; echo "</a>"; } vyblij_fotky('1'); // vyblije všechny fotky z akce, která má id 1 vyblij_fotky('2'); // vyblije všechny fotky z akce, která má id 2 atd... |
||
panmagor Profil * |
#4 · Zasláno: 23. 6. 2008, 16:44:06
nejlepší by bylo, kdyby jsi si rozdělil akce a fotografie do dvou různých tabulek
Přesně tak to mám ;-) Díky za radu.. Mrknu na to... |
||
panmagor Profil * |
#5 · Zasláno: 24. 6. 2008, 09:28:27
Tak jsem po menších problémech ten script víceméně upravil tak, že funguje. Nefungoval mi s
id_akce=='$akce_k_zobrazeni' id_akce='$akce_k_zobrazeni' |
||
panmagor Profil * |
#6 · Zasláno: 24. 6. 2008, 10:40:27
Tak mi kolega pomohl...
$i= 0; while ( $data = mysql_fetch_assoc($query) ) { if ($i == 0) echo '<p class="nadpis">'.$data['akce'].'</p>'; $i++; echo '<a href=img/foto/'.$data['nazev'].'>'; echo '<img src=img/foto/'.$data['nazev'].' class="mini">'; echo "</a>"; } |
||
panmagor Profil * |
#7 · Zasláno: 24. 6. 2008, 21:15:55
Ještě jedna věc... Pokud platí podmínka, že mysql_fetch_row vrátí 0 (Tedy zobrazí hlášku, že je galerie prázdná). Jenže ta hláška se zobrazí pokaždé, když já tu funkci zavolám. Takže pokud zavolám přesně jako v tom scriptu, mám vedle sebe 2x že je prádná.. Dalo by se to nějak omezit?
function vyblij_fotky($akce_k_zobrazeni) { $query = mysql_query("SELECT nazev,idakce,id_akce,akce FROM galerie JOIN akce ON id_akce=idakce WHERE idakce = '$akce_k_zobrazeni'"); if( (mysql_num_rows($query) == 0) ){ echo "Žádné fotky v galerii"; } $i= 0; while ( $data = mysql_fetch_assoc($query) ) { if ($i == 0) echo '<p class="nadpis">'.$data['akce'].'</p>'; $i++; echo '<a href=img/foto/'.$data['nazev'].'>'; echo '<img src=img/foto/'.$data['nazev'].' class="mini">'; echo "</a>"; } } vyblij_fotky('1'); vyblij_fotky('2'); |
||
Časová prodleva: 17 let
|
0