|
| Select count..... hvad gør jeg galt? Fra : Jakob Munck |
Dato : 19-05-06 05:55 |
|
Jeg har en listning, hvor jeg tæller antallet af medlemmer af en portal, som
har betalt for et tidsskrift. Optællingen ser sådan ud, og virker udmærket,
så længere der er mindst én betalende abonnent:
<?
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM kamedlemmer WHERE
betalt = '1'"),0) or die(mysql_error());
?>
Hvis der ikke er nogen betalende abonnenter, vil jeg godt have, at den
udskriver "Ingen betalende abonnenter" og det har jeg forsøgt at opnå ved at
tilføje denne kode:
<?
if ($antal = = '0'){
echo "Der er ingen betalende abonnenter";
}
?>
Men det virker ikke. Hvis antallet af betalende abonnenter er nul, bliver
if-sætningen tilsyneladende slet ikke eksekveret, men der kommer heller
ingen fejlmeldingen. Jeg gør altså et eller andet glat, men hvad??
Hvem kan hjælpe?
v.h.
Jakob
| |
Michael Zedeler (19-05-2006)
| Kommentar Fra : Michael Zedeler |
Dato : 19-05-06 09:02 |
|
Jakob Munck wrote:
<?
if ($antal = = '0'){
echo "Der er ingen betalende abonnenter";
}
?>
Der er to ting som springer i øjnene. For det første skriver du "= =",
hvilket jeg ikke tror virker. For det andet sammenligner du med en
streng på højresiden. Den del virker sikkert, men det er grimt.
Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf
| |
Jakob Munck (19-05-2006)
| Kommentar Fra : Jakob Munck |
Dato : 19-05-06 09:52 |
|
Tak for hjælpen, men det viste sig at fejlen lå et helt andet sted, end jeg
havde troet. Det handler om at:
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM kamedlemmer WHERE
betalt = '1'"),0) or die(mysql_error());
har den uheldige konsekvens, at hvis der er nul records at tælle, så melder
udtrykket fejl, og så eksekveres den efterfølgende kode ikke. Derfor virker
ingen efterfølgende optælling. Men nu har jeg fjernet mysql-error, og så
virker det som det skal.
v.h.
Jakob
| |
|
|