Mikkel Jakobsen skrev:
> Hej Ng..
>
> Jeg har følgende php kode hvor jeg henter data ud fra mysql.
>
> kode:
> $antal_off_billeder = mysql_result(mysql_query("SELECT COUNT(*)
> FROM billeder where tilstand ='off' and Galleri_id='$visgalleri'
> "),0) or die("fejl");
Din kode er lidt rodet og skaber ikke et nemt overblik. Prøv at dele den
op således:
$sql = "SELECT COUNT(*) as nb FROM billeder WHERE tilstand='off' and
Galleri_id='".$visgalleri."'":
$result = mysql_query($sql) or die(mysql_error());
$antal_off_billeder = mysql_result($result, 0, "nb");
Læg mærke til de ændringer jeg har lavet i koden:
COUNT(*) as nb // returnerer resultatet som et felt kaldet nb
Galleri_id='".$visgalleri."' // det ser pænere ud at holde variabler
uden for strengen
$result = mysql_query($sql) or die(mysql_error()); // overskuelighed,
resultatet kommer i variablen $result. Hvis mysql fejler dør den og
giver dig mysql fejlen som du så kan spørge os om, hvis det stadig ikke
virker.
$antal_off_billeder = mysql_result($result, 0, "nb"); //her hentes 'det
nye felt' nb med resultatet fra count()
> koden virker fint nok når der er et resultat, men når der intet
> resultat er, altså når der ikke er nogle billeder i '$visgalleri'
> med 'tilstan' = 'off', fejler koden.
Jeg tror det har noget med den måde forespørgslen blev udført på. Brug
altid mysql_error() når du har problemer med en sql sætning.
>
> Er der nogen der kan hjælpe med at finde fejlen eller omskrive
> mysql delen.
Prøv ovenstående. Vend tilbage med den fejlmelding mysql giver dig, hvis
det stadig ikke virker.
--
Dan Storm - storm at err0r dot dk /
http://err0r.dk
Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!