| 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: 16 let
|
|||
0