MySQL-Counter Problem

MySQL, PostgreSQL, SQLite
steds
Posts: 27
Joined: 2003-10-15 15:36
Location: Hauptstadt

MySQL-Counter Problem

Post by steds » 2003-10-15 15:47

Hi Rooties!! :-D


Also ich habe da ein Problem, eigentlich ist son Counter mit MySQL ja ganz locker und einfach programmiert,habs auch schon öfters gemacht, aber irgendwie ist dieses mal der Wurm drin.

Ich hab eine MySQL-Query die wie folgt aussieht (PHP-MySQL):

Code: Select all

$db=mysql_connect("localhost","user","pass");
mysql_select_db("eintragung",$db);
$counter = mysql_query("SELECT Count(*) as total FROM mitglieder WHERE $daten1='$daten2'  "); 
$eintraege = mysql_fetch_array($counter);
echo $eintraege["total"];
Die Variablen $daten1 und $daten2 werden aus der vorigen Suchmaske mitgenommen die aus dem Textfeld (daten2) und nem Scrolldownmenue mit den jeweiligen Tabellenkopfnamen (daten1) besteht.

So alles schön und gut. Nur leider findet man wenn man z.B. nach der PLZ sucht und sagen wir mal z.B. 34576 angibt IMMER nur einen Datensatz, obwohl in der DB aber mehrere Datensätze mit der PLZ:34576 eingetragen sind.

Weiss zufällig jemand von euch woran das liegen könnte???
Mir fällt nämlich nichts mehr ein, denn der Code ist doch inordnung, oder? :roll:

Also schon mal Vielen Vielen Dank im vorraus an euch alle. :wink:

cye
Posts: 144
Joined: 2003-03-27 19:18
Location: Bayerischer Wald

Re: MySQL-Counter Problem

Post by cye » 2003-10-15 16:18

probier mal:

$db=mysql_connect("localhost","user","pass");
mysql_select_db("eintragung",$db);

$result = mysql_query("SELECT * FROM mitglieder WHERE $daten1='$daten2' ");
$anz = mysql_num_rows($result);
echo $anz;


wenn das auch immer 1 ausgibt wird tatsächlich nur ein eintrag gefunden ;)

steds
Posts: 27
Joined: 2003-10-15 15:36
Location: Hauptstadt

Re: MySQL-Counter Problem

Post by steds » 2003-10-15 19:53

Hi Cye!

UPS.... Sorry!!!! Da war ich wohl zu voreilig und musste klugschei%%en,deswegen EDIT. :roll: :roll:

Also mit dem Code von dir zeigt er mir die Anzahl der Datensätze an die auch drinne sind, sprich 4. :-D

Also dann weiss i ja jetz wie's klappt.

VIELEN VIELEN DANK CYE!! :wink:

Greetz ::SchTeds::ZTETZ::Sdäetz::

steds
Posts: 27
Joined: 2003-10-15 15:36
Location: Hauptstadt

Re: MySQL-Counter Problem

Post by steds » 2003-10-16 09:40

nochmal tach!

Also ich habs jetzt so gemacht:

mal testweise ne PHP Datei angelegt(test.php) und deinen Code reinkopiert und mit meinen MYSQL Daten vervollständigt. Und jetzt kommts:
Die test.php funktioniert einwandfrei: Ergebnis=4
Aber wenn ich den Code in die Datei in der ich sie eigentlich brauche einbinde: Ergebnis=1 ??? 8O :?: :?:

Ich weiss nich mehr weiter... :oops:

cye
Posts: 144
Joined: 2003-03-27 19:18
Location: Bayerischer Wald

Re: MySQL-Counter Problem

Post by cye » 2003-10-16 10:19

prüf mal ob dein $daten1 und $daten2 variblen stimmen.

steds
Posts: 27
Joined: 2003-10-15 15:36
Location: Hauptstadt

Re: MySQL-Counter Problem

Post by steds » 2003-10-16 13:46

ok fine...

läuft jetzt alles prima.

hab einfach ne kleine If-Schleife rausgenommen aus der Datei und schon funzt es. Hab aber trotzdem keine Ahnung warum!? Der Codeschnipsel den ich entfernt habe sah so aus:

Code: Select all

<? if($eintraege["total"]=1) { echo "wurde"; } else { echo "wurden";} ?>
<? if($eintraege["total"]=1) { echo "Eintrag"; } else { echo "Eintraege";} ?>
also ich finds komisch das das, der fehler war.

Also danke dir :: Cye ::

::STEDS::ZTETZ:: .de ::

cye
Posts: 144
Joined: 2003-03-27 19:18
Location: Bayerischer Wald

Re: MySQL-Counter Problem

Post by cye » 2003-10-16 13:52

ich kann dir den fehler schon sagen:

<? if($eintraege["total"]=1) { echo "wurde"; } else { echo "wurden";} ?>
<? if($eintraege["total"]=1) { echo "Eintrag"; } else { echo "Eintraege";} ?>

in php heißt der vergleichsoperator == !

$eintraege["total"]=1 setzt daher die variable jedesmal auf 1 !

:-D

steds
Posts: 27
Joined: 2003-10-15 15:36
Location: Hauptstadt

Re: MySQL-Counter Problem

Post by steds » 2003-10-16 14:13

...ups... :oops: :roll:


so is das also..., gut zu wissen. :wink:

Dank dir nochmal!