Autor | Zpráva | ||
---|---|---|---|
vipik Profil * |
#1 · Zasláno: 30. 1. 2008, 11:51:07
Dobrý den, mám dva dotazy na db a v jednom potřebuji získat vípis sudých a v druhém lichých poradí někdo jak to jednoduše udělat?
|
||
nightfish Profil |
#2 · Zasláno: 30. 1. 2008, 12:03:35
- na straně klienta suché/liché řádky výsledku ignorovat
nebo - přímo v dotazu můžeš použít funkci vracející zbytek po dělení - MOD(2, sloupec), pak ale potřebuješ nějak očíslovat řádky, což může být problém |
||
vipik Profil * |
#3 · Zasláno: 30. 1. 2008, 12:15:21
no to by bylo dobrý sude ignorovat ale nevim jak toho docílit
|
||
ninja Profil |
#4 · Zasláno: 30. 1. 2008, 12:20:17
Todle bude jiste jednodusi na aplikacni urovni, ale muzes zkusit neco na zpusob (zapis pro MySQL):
SET @pocitadlo:=0; SELECT @pocitadlo:=@pocitadlo+1, _TVOJE_SLOUPECKY_ FROM _TVOJE_TABULKA_ WHERE MOD(@pocitadlo,2) = 0; |
||
Kajman_ Profil * |
#5 · Zasláno: 30. 1. 2008, 12:24:07
--sude
select t.*, @counter rownum from tabulka t, (select @counter:=0) r having (@counter:=@counter+1)%2=0 order by id; --liche select t.*, @counter rownum from tabulka t, (select @counter:=0) r having (@counter:=@counter+1)%2=1 order by id; |
||
vipik Profil * |
#6 · Zasláno: 30. 1. 2008, 12:37:53
Panove asi jsem tupej ukážete mě to v praxi?
<?php $sql="SELECT * FROM zbozi"; $result2 = mysql_query($sql); $resultsnumber1 = mysql_numrows($result2); $result = mysql_query("SELECT $resultsnumber1:=$resultsnumber1+1, zbozi FROM kava WHERE MOD($resultsnumber1,2) = 0"); while ($row = mysql_fetch_array($result)) { $id = $row["id"]; $categori = $row["categori"]; $subcategori = $row["subcategori"]; $popis = $row["popis"]; $name = $row["name"]; $cena = $row["cena"]; $img = $row["img"]; $textzkr = substr("$text", 0, 100); echo "<div class='tabulka9'>"; echo " <div class='tabulka10'> <div class='tabulka12'>$name</div> <div class='tabulka13'><img src='img/$img' height='95'>$popis</div> <div class='tabulka14'>Sortiment</div> </div>"; } $result1 = mysql_query("SELECT * FROM zbozi ORDER BY id DESC"); while ($row = mysql_fetch_array($result1)) { $id = $row["id"]; $categori = $row["categori"]; $subcategori = $row["subcategori"]; $popis = $row["popis"]; $name = $row["name"]; $cena = $row["cena"]; $img = $row["img"]; $textzkr = substr("$text", 0, 100); echo " <div class='tabulka11'> <div class='tabulka12'>$name</div> <div class='tabulka13'><img src='img/$img' height='95'>$popis</div> <div class='tabulka14'>Sortiment</div> </div> "; echo "</div>"; } ?> |
||
djlj Profil |
#7 · Zasláno: 30. 1. 2008, 12:43:41
mysql_numrows
Ta funkce je mysql_num_rows. Ale takhle se to nedělá, pro spočítání řádků použij COUNT. ukážete mě to v praxi Tu vidíš v příspěvcích ninji a Kajmana_. |
||
vipik Profil * |
#8 · Zasláno: 30. 1. 2008, 12:46:17
díky tohle funguje, sice sem to nepochopil ale i tak super VELKÉ DÍKY
--sude select t.*, @counter rownum from tabulka t, (select @counter:=0) r having (@counter:=@counter+1)%2=0 order by id; --liche select t.*, @counter rownum from tabulka t, (select @counter:=0) r having (@counter:=@counter+1)%2=1 order by id; |
||
vipik Profil * |
#9 · Zasláno: 30. 1. 2008, 14:55:28
ještě bych tam potřeboval vkomponovat podmínku WHERE categori='$cat' a nějak mě tam nepasuje :-(
|
||
Kajman_ Profil * |
#10 · Zasláno: 30. 1. 2008, 16:21:18
where musí být mezi 'r' a 'having'
|
||
Časová prodleva: 16 let
|
0