Autor | Zpráva | ||
---|---|---|---|
quickspider Profil |
#1 · Zasláno: 5. 2. 2011, 15:49:14
dobrý den,
použil jsem ód ze sekce faq, ale nevím jak ho mám upravi,t aby se pod každou položku vložil i název. echo "<table>\n"; for ($i = 0; $dotaz = mysql_fetch_assoc($vysledek); $i++) { if ($i % COLS == 0) echo "<tr>"; echo '<td><img src="2010/'.$dotaz["serie"].'/'.$dotaz["figurka"].'.gif" alt="'.$dotaz["figurka"].'"></td>'; if ($i % COLS == COLS - 1) echo "</tr>\n"; } if ($i != COLS - 1) { while ($i++ % COLS != 0) { echo "<td> </td>"; } echo "</tr>\n"; echo "<tr>\n"; } echo "</table>\n"; } děkuji. P. S. K čemu slouží % u ($i % COLS == 0)? |
||
candiess Profil |
#2 · Zasláno: 5. 2. 2011, 16:00:30
ani já se v tom kodu nevyznám, popiš prosím přesněji svůj problém, pokusím se ti poradit :)
( vypiš v jakém tvaru chceš co vypsat ) |
||
Taps Profil |
#3 · Zasláno: 5. 2. 2011, 16:04:59 · Upravil/a: Taps
quickspider:
a takto by to nešlo? echo "<table>\n"; for ($i = 0; $dotaz = mysql_fetch_assoc($vysledek); $i++) { if ($i % COLS == 0) echo "<tr>"; echo '<td><img src="2010/'.$dotaz["serie"].'/'.$dotaz["figurka"].'.gif" alt="'.$dotaz["figurka"].'"><br> '.$dotaz['nazev'].'</td>'; if ($i % COLS == COLS - 1) echo "</tr>\n"; } if ($i != COLS - 1) { while ($i++ % COLS != 0) { echo "<td> </td>"; } echo "</tr>\n"; echo "<tr>\n"; } echo "</table>\n"; } „K čemu slouží % u ($i % COLS == 0)?“ Jedná se o tzv. modulo dělení. V případě, že zbytek po dělení $i a COLS bude 0 tak se provedou další příkazy |
||
candiess Profil |
#4 · Zasláno: 5. 2. 2011, 16:10:55
Taps:
Prosímtě, $i je proměnná z toho cyklu FOR(), ale to COLS..to musí být define() ne.? nebo co je to.. díky za odpověď :) |
||
Alphard Profil |
#5 · Zasláno: 5. 2. 2011, 16:23:51
candiess:
„ale to COLS..to musí být define() ne.?“ Ano, je to použito jako konstanta. Mohla by tam být i proměnná, nezáleží na tom. Kód od Tapse [#3] vypadá správně. |
||
Taps Profil |
#6 · Zasláno: 5. 2. 2011, 16:24:14
candiess:
Ano COLS by mělo být někde definováno. Např takto define('COLS',3) |
||
quickspider Profil |
#7 · Zasláno: 5. 2. 2011, 17:49:00
Taps:
potřebuju ten název do dalšího řádku, tedy za tr a pak td jinak mi ještě nefunguje vnoření tohoto dotazu do while. Zpracuje se jednou celý kód, ale pak nepokračuje znovu. Zkoušel jsem podmínku na $serie !=NULL, ale nepomohlo to. celý kód: $dotaz ='SELECT distinct serie FROM `2010` order by serie'; $vysledek = mysql_query($dotaz); while ($dotaz = mysql_fetch_array($vysledek)) { $serie=$dotaz["serie"]; echo '<div class="titulek"><div class="titulek_text"><b>'.$dotaz["serie"]."</b>".'</span></div></div>'; $dotaz ="SELECT serie, figurka FROM `2010` where serie='$serie' order by figurka"; $vysledek = mysql_query($dotaz); define ("COLS", 3); // počet sloupců echo "<table>\n"; for ($i = 0; $dotaz = mysql_fetch_assoc($vysledek); $i++) { if ($i % COLS == 0) echo "<tr>"; echo '<td><img src="2010/'.$dotaz["serie"].'/'.$dotaz["figurka"].'.gif" alt="'.$dotaz["figurka"].'"></td>'; if ($i % COLS == COLS - 1) echo "</tr>\n"; } if ($i != COLS - 1) { while ($i++ % COLS != 0) { echo "<td> </td>"; } echo "</tr>\n"; echo "<tr>\n"; } echo "</table>\n"; } |
||
quickspider Profil |
#8 · Zasláno: 7. 2. 2011, 12:06:17
řešení jsem po dnu pátrání udělal takto:
<?php pripojeni_db(); $dotaz = 'SELECT distinct serie FROM `2010` order by serie'; $vysledek = mysql_query($dotaz); while ($dotaz = mysql_fetch_array($vysledek)) { $pole[]= $dotaz["serie"]; } foreach ($pole as $serie) { $dotaz ="SELECT serie, figurka FROM `2010` where serie='$serie' order by figurka"; $vysledek = mysql_query($dotaz); while ($dotaz = mysql_fetch_array($vysledek)) { define ("COLS", 4); // počet sloupců echo '<div class="titulek"><b>'.$serie."</b>".'</span></div>'; echo "<table align='center'>\n"; for ($i = 0; $dotaz = mysql_fetch_assoc($vysledek); $i++) { if ($i % COLS == 0) echo "<tr>"; echo '<td><img src="2010/'.$dotaz["serie"].'/'.$dotaz["figurka"].'.gif" alt="'.$dotaz["figurka"].'"><br><center>'.$dotaz["figurka"].'</center></td>'; if ($i % COLS == COLS - 1) echo "</tr>\n"; } if ($i != COLS - 1) { while ($i++ % COLS != 0) { echo "<td> </td>"; } echo "</tr>\n"; echo "<tr>\n"; } echo "</table>\n"; } } ?> Objevil jsem problém, že se nezobrazuje první položka z databáze. Konkrétně po příkazu $dotaz ="SELECT serie, figurka FROM `2010` where serie='$serie' order by figurka"; Mohl by mi někdo poradit? díky |
||
Tori Profil |
#9 · Zasláno: 7. 2. 2011, 12:42:39
První řádek z výsledku čtete už na ř.13. Nechtěl jste tam použít spíš toto:
if ($vysledek) |
||
quickspider Profil |
#10 · Zasláno: 7. 2. 2011, 13:05:00
Tori:
díky moc, už to funguje |
||
Časová prodleva: 14 let
|
0