Autor Zpráva
vipik
Profil *
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
- 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 *
no to by bylo dobrý sude ignorovat ale nevim jak toho docílit
ninja
Profil
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 *
--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 *
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
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 *
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 *
ještě bych tam potřeboval vkomponovat podmínku WHERE categori='$cat' a nějak mě tam nepasuje :-(
Kajman_
Profil *
where musí být mezi 'r' a 'having'

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: