Autor Zpráva
Rumburak
Profil *
ahojda poznovu :-) mam eshop kde k vypisu zbozi z tabulky pouzivam takovyto kod, jenze ten dokaze zbozi vypsat jen pod sebe a ja bych chtel aby bylo vedle sebe ve dvou radach(i pod sebou samozrejme .-D),proste tak jak je akorat dva sloupce misto jednoho vedel by nekdo poradit prosim jak na to? Byl bych rad i za odkaz kde je tao problematika vysvetlena nebo jen radu nechci hotove reseni dikes.



$co="SELECT zbozi.id,nazev,popis,cena,obrazek,datvloz,objcsl FROM zbozi where druh='odkaz' ORDER BY CENA DESC $limit";
$navrat=mysql_db_query("eshop1", $co);




echo("<table cellpadding=\"5\" id=\"tabulka\">");


while (list($id,$nazev,$popis,$cena,$obrazek,$datvloz,$objcsl) = mysql_fetch_row($navrat))
{
echo("<tr><td>
<table style=\"width:300;height:30\">
<tr><td>
&nbsp;&nbsp;<font style=\"color:red;font-size:20\">$nazev</font><br />
koupit <a href=\"dokose.php?zbozi_id=$id&&pocet=1\">1</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=2\">2</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=3\">3</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=5\">5</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=10\">10</a> kusů
&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"zobrazzbozi.php?zbozi_id=$id\">Detail</a><br />
<b>Popis:</b><div style=\"font-size:12;font-variant:small-caps\">$popis</div><br />
<div style=\"position:relative;top:25;left:\"><b>Obj.číslo:</b>$objcsl<br /><br />
<b>Cena:</b>$cena kč</div><br />
<img style=\"position:relative;top:0;left:150\" src=\"../miniatury/".$obrazek."\" width=\"80\" height=\"80\">
</td>
</tr>
</table>
");


}
echo("</td>
</tr></table>");
deter
Profil
$i=0;
while(... ) {
...
echo ($i % 2 ? '<td>SLOUPEC 1</td></tr>' : '<tr><td>SLOUPEC2</td>');
$i++;
...
..
}
deter
Profil
trošku ti to vysvětlím. Chceš, aby se ti střídala levá buňka s pravou buňkou. Levá buňka musí obsahovat tagy
<tr><td>obsah levé buňky</td>
a pravá buňka zase
<td>obsah pravé buňky</td></tr>
. Tím
($i % 2 ? ... : ...) 
zajistíš, aby se ti právě tyto dvě buňky střídaly. Jedná se totiž o tzv. ternární operátor, který kontroluje zda výraz před otazníkem je true nebo false. Pokud je true, vykoná se příkaz před dvojtečkou, pokud je false, vykoná se příkaz za dvojtečkou.
To, co vidíš před otazníkem je tzv. modulo, které vrací zbytek po dělení. V tomto případě vydělí $i dvěma. Jelikož je v prvním případě $i=0 , výsledek tedy bude 0 / 2 , tedy 0 a nula znamená v PHP vlastně FALSE, takže se provede příkaz za dvojtečkou (vždy se při false provádí ten za dvojtečkou). V druhém cyklu už nějaký zbytek po dělení je, je tedy TRUE a vykoná se příkaz před dvojtečkou a takhle se to furt střídá TRUE vs FALSE. Tím se ti vlastně střídavě vypisují <tr>levá buňka X pravá buňka </tr>

Snad je to takhle pochopitelný a odborníci mě neukamenují za nějaký nepřesnosti :) pokud jsou
Rumburak
Profil *
jo tohle pesne potrebuju diky moc jdu se s tim poprat....
Rumburak
Profil *
no nic diky za snahu deter ale nejak to nedokazu na svuj kod aplikovat jdu se nekam zahrabat zdarec...
Rumburak
Profil *
no tak se s tim porad peru kod vypadated takhle ale porad jen jeden slopupec pod sebou :-( jeste malou poradu prosim...


echo("<table cellpadding=\"5\" id=\"tabulka\">");
$i=0;

while (list($id,$nazev,$popis,$cena,$obrazek,$datvloz,$objcsl) = mysql_fetch_row($navrat))
{
echo ($i % 2 ? "<tr><td>
&nbsp;&nbsp;<font style=\"color:red;font-size:20\">$nazev</font><br />
koupit <a href=\"dokose.php?zbozi_id=$id&&pocet=1\">1</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=2\">2</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=3\">3</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=5\">5</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=10\">10</a> kusů
&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"zobrazzbozi.php?zbozi_id=$id\">Detail</a><br />
<b>Popis:</b><div style=\"font-size:12;font-variant:small-caps\">$popis</div><br />
<div style=\"position:relative;top:25;left:\"><b>Obj.číslo:</b>$objcsl<br /><br />
<b>Cena:</b>$cena kč</div><br />
<img style=\"position:relative;top:0;left:150\" src=\"../miniatury/".$obrazek."\" width=\"80\" height=\"80\">
</td></tr>"
:
"<tr><td>
&nbsp;&nbsp;<font style=\"color:red;font-size:20\">$nazev</font><br />
koupit <a href=\"dokose.php?zbozi_id=$id&&pocet=1\">1</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=2\">2</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=3\">3</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=5\">5</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=10\">10</a> kusů
&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"zobrazzbozi.php?zbozi_id=$id\">Detail</a><br />
<b>Popis:</b><div style=\"font-size:12;font-variant:small-caps\">$popis</div><br />
<div style=\"position:relative;top:25;left:\"><b>Obj.číslo:</b>$objcsl<br /><br />
<b>Cena:</b>$cena kč</div><br />
<img style=\"position:relative;top:0;left:150\" src=\"../miniatury/".$obrazek."\" width=\"80\" height=\"80\">");


}
echo("</td></tr></table>");
king26
Profil
samozdrejme, pokazdy tomu totiz davas novy radek tim <tr>!!!
$r = 0;
echo "<table>\n<tr>\n";
while (list($id,$nazev,$popis,$cena,$obrazek,$datvloz,$objcsl) = mysql_fetch_row($navrat))
  {  echo( "<td>
&nbsp;&nbsp;<font style=\"color:red;font-size:20\">$nazev</font><br />
koupit <a href=\"dokose.php?zbozi_id=$id&&pocet=1\">1</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=2\">2</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=3\">3</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=5\">5</a>
<a href=\"dokose.php?zbozi_id=$id&&pocet=10\">10</a> kusů
&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"zobrazzbozi.php?zbozi_id=$id\">Detail</a><br />
<b>Popis:</b><div style=\"font-size:12;font-variant:small-caps\">$popis</div><br />
<div style=\"position:relative;top:25;left:\"><b>Obj.číslo:</b>$objcsl<br /><br />
<b>Cena:</b>$cena kč</div><br />
<img style=\"position:relative;top:0;left:150\" src=\"../miniatury/".$obrazek."\" width=\"80\" height=\"80\">
</td>\n");
     if ($r++ % 2) echo "</tr>\n<tr>\n";  }
echo ($r % 2)?"<td></td>\n":"", "</tr>\n</table>";
Rumburak
Profil *
ty kurna to je vono dikec mockrat
Rumburak
Profil *
pambu ti to splati na detech :-D
king26
Profil
ty kurna to je vono dikec mockrat
nz

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0