Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: losowe rekordy - duża ilość danych
Forum PHP.pl > Forum > Bazy danych > MySQL
e4you
witam,

mam tababele gdzie mam ok. 8 tys produktów.. i chcę wyciągać je losowo przy czym muszą spelniac dane warunki.

Jeżeli mam wyciągac dane z innego przekroju kategori gdzie mam ok 100 to dziala prawidlowo ale jak jest 8 tys to sie sypie o mam taki blad


Kod
Warning: MySQL: Unable to save result set in /home/httpd/docs/nkcom/tresc/pl/cat.php on line 114



Warning: Supplied argument is not a valid MySQL result resource in /home/httpd/docs/nkcom/tresc/pl/cat.php on line 115



Warning: Supplied argument is not a valid MySQL result resource in /home/httpd/docs/nkcom/tresc/pl/cat.php on line 116


kod mam taki:

[php:1:45ad0d1611]

<?
$p11 = mysql_query ("SELECT * FROM prg WHERE galeria_kat >='0' AND l_cat = '$categ' LIMIT 5");
$GIMG = mysql_num_rows($p11);
while($z11 = mysql_fetch_array($p11))
{
$name_prg_s= $z11["nazwa"];
$id_prg_s= $z11["nr"];
$categ = $z11["categ"];
$Gelt = $z11["l_cat"];
$pcateg = $z11["categ"];
$cena = $z11["cena"];
$em = $z11["img"];
$class = $z11["class"];
$t7 = substr("$name_prg_s", 0, 25);
$t7 = str_replace("&para;","ś",$t7);
$t7 = str_replace("&brvbar;","Ś",$t7);
$t7 = str_replace("&plusmn;","ą",$t7);
$t7 = str_replace("ˇ","Ą",$t7);
$t7 = str_replace("Ľ","ź",$t7);
$t7 = str_replace("&not;","Ź",$t7);

echo "<center><a href=?akcja=informacja&info=VievItem&det=$id_prg_s&lang=$lang class=$class
>";

if ($em !='')
{
echo "<img src='img_prg/$em' width='80' height='80' border=1>";
}else{
echo "<img src="gmx/brakz.gif" width='80' height='80' border=1>";
}
echo "<br>$t7<br></a>";
echo "cena<b> $cena</b><br></center><br>";
}
if ($GIMG=='0'){ echo "<b>Brak produktów które są wyróżnione<BR><BR><BR><BR><BR><BR></b>"; }

?>[/php:1:45ad0d1611]

to samo jak mam wyswetlac spis produktow kategori jak produktow jest malo to dziala jak jest ok 400 w jednej kategori to sie sypie i wyskakują w/w bledy.

struktura kodu tez podobna do w/w

ma może ktoś jakis pomysl albo wie dlaczego tak siędzieje?

P.S tam jeszcze w zapytaniu ma być ORDER by ... ale i tak nie dziala i tak..
Koshin
co znaczy wyciagnac je losowo.. skoro losowa to jaki order ty tam chcesz dac, to po pierwsze,
po drugie bledy masz w liniach 114,115, 116, a kodu dales 30 lini....

po trzecie w manualu jest tak:

SELECT * FROM table1, table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000;

do wyciagania losowych rzeczy... zastosuj u siebie..

pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.