Adatbázis listázás hol nem ír ki semmit, hol lehagy egy sort
Tudnátok nekem segíteni?!
Van egy olyan problémám, hogy php-ből listázok ki egy adatbázist. számítógép alkatrészekről tárol infókat. Gyártó, kategória, ár, stb stb. És listázáskor egy sort sem ír ki egyszerűen. Némelyiknél meg egyet lehagy. Ha közvetlenül mysql-ből listázoim kiírja.
Mi lehet a probléma???
■ Van egy olyan problémám, hogy php-ből listázok ki egy adatbázist. számítógép alkatrészekről tárol infókat. Gyártó, kategória, ár, stb stb. És listázáskor egy sort sem ír ki egyszerűen. Némelyiknél meg egyet lehagy. Ha közvetlenül mysql-ből listázoim kiírja.
Mi lehet a probléma???
?!
válasz
if($gyarto !== 'Kérem válasszon') {$q = "SELECT `kategoria`,`gyarto`,`tipus`,`ar` FROM `termekek` WHERE gyarto LIKE '$gyarto'";}
if($kategoria !== 'Kérem válasszon') {$q = "SELECT `kategoria`,`gyarto`,`tipus`,`ar` FROM `termekek` WHERE kategoria LIKE '$kategoria'";}
$result = mysql_q($adatb,$q);
$eredmeny = mysql_fetch_assoc($result);
while ($eredmeny = mysql_fetch_assoc($result))
{
print ...
}
a függvények:
function mysql_q($db,$qry)
{
$host = 'localhost';
$user = 'user';
$pass = 'password';
$kapcsolat = mysql_connect($host,$user,$pass)
or die ('Hiba! '.mysql_error($kapcsolat));
mysql_select_db($db,$kapcsolat) or die ('Hiba!'.mysql_error($kapcsolat));
$eredmeny = mysql_query($qry,$kapcsolat);
mysql_close($kapcsolat);
return($eredmeny);
}
kettő
$eredmeny = mysql_fetch_assoc($result);
while ($eredmeny = mysql_fetch_assoc($result))
Elsőnek fetch-eled az első sort, majd semmit nem csinálsz vele, és mész tovább a többi sorra (ha van). Így az első sor elveszik. (Ha csak az az egy sor van, akkor 0 sorod lesz kiírva.)
Töröld ki a while elötti sort.
És egy kérdés: Minek minden query-hez mysql_connect/close?
Sokkal lassabb mindig kapcsolódni, lezárni, mintha az oldal elején kapcsolódnál, és a végén lekapcsolódnál róla (bár a lekapcsolás automatikus, ha jól tudom).
KÖSZ
A kapcsolódással kapcsolatos észrevételt is! :)