Kontrollieren ob etwas in der Tabelle schon eingetragen ist
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
argument
bundesliga
button
code
dank
datenbank
eintrag
export
fehler
formular
mache
mannschaft
menge
not
spiel
tabelle
tag
tip
tippen
verbindung
-
Hi,
ich möchte ein Tiptag/spiel">spiel machen.
Zu jedem Spiel kann man ein Tip abgeben.
Wie finde ich jetzt heraus ob ein Tip schon für ein
Spiel abgegeben wurde?
Ich hab das so versucht:
$result = mysql_query("SELECT id FROM bundesliga WHERE username LIKE '$username'"); $menge = mysql_num_rows($result); if($menge == 0) { Formular }
Aber sobald in der Tabelle bundesliga ein Eintrag ist, wird das Formular nicht mehr angezeigt.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
könntest du mir mal den Aufbau deiner Tabelle zeigen? So kann ich dir leider nur bedingt helfen.
Gruß
DCBlaze -
Ja, es gibt einmal die Tabelle
wo die Mannschaften, der Spieltag aufgezählt sind.
Also z.B.
Mannschaft1 - Mannschaft2 - ID
Bayern München - HSV - 1
Werder Bremen - VFB STuttgart - 2
Dann gibt es die 2.Tabelle bundesliga
Da wird der Benutzername, die beiden Mannschaften und die ID eingetragen.
Und es soll halt kontrolliert werden, ob zu dem Spiel schon ein
Tip abgegeben wurde, wenn ja, dann soll der Tip angezeigt werden, wenn nicht, dann das Formular zum mittippen.
-
$Formular = ''; $SubmitButton = ''; $result = mysql_query("SELECT * FROM bundesliga WHERE username = ".$username." AND ID = ".XXX."" ); $menge = mysql_num_rows($result); if($menge != 0) { $Formular = readonly; $SubmitButton = disabled; }
(XXX muss ersetzt werden)
Danach machst du dein Formular rein und schreibst in jedem Tag des Formulars $Formular mit rein. Also z.B.:
<input ".$Formular." type="text" name="Tor_1" id="Tor_1" size=2 maxlength=2>
Wenn bereits Ergebnisse zum Spiel drin sind, dann sind die Formularfelder zwar da, aber sie können nicht geändert werden. Solltest du den Absenden-Button dann auch noch weghaben wollen, dann musst du im Tag des Buttons noch die Variable $SubmitButton hinzufügen.
Habe es noch nicht ausprobiert, aber sollte so klappen.
Gruß
DCBlaze
Beitrag geändert: 23.10.2008 13:46:21 von dcblaze -
Hi,
danke erstmal für dein Script.
Da kommt folgende Fehlermeldung:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/hosting/jinnyboy/tippen.php on line 49
Die bekomm ich aber seit Tagen wenn ich mysql_num_rows mache.
Ich find den Fehler nicht. Verbindung steht, Tabelle exisitert und
die Tabelle ist auch gefüllt.
-
Kannst du dir denn die Tabelle ausgeben lassen? Hört sich für mich so an als ob das mysql_query nicht funktioniert und deshalb nichts im $result steht.
Ansonsten probiere diese mal aus:
$result = mysql_query("SELECT * FROM bundesliga WHERE username = ".$username." AND ID = ".XXX.";");
Kurz vor Ende der Zeile habe ich ein Semikolon hinzugefügt. Vielleicht liegt es dadran.
Gruß
DCBlaze -
Versuch mal das:
$result = mysql_query("SELECT * FROM bundesliga WHERE username = '".$username."' AND ID = '".XXX."'") or die(mysql_error());
Damit sollte dann zumindest eine aussagekräftigere Fehlermeldung kommen. -
Du kannst einfach das was du auf Existenz überprüfen willst aus der Datenbank in eine Variable auslesen und dann Überprüfen ob etwas n der Variablen steht, falls nicht liegt dass daran dass nichts ausgelesen werden konnte und das wiederum daran, dass der geünschte Eintrag in der Datenbank nicht vorhanden war
-
Wahrscheinlich liegt es einfach daran, dass im Beispielcode ID als String angegeben wird, in der DB aber als int deklariert ist. Einfach mal die Anführungszeichen weglassen. Und nächstes Mal statt irgendwelcher Beispielinhalte der Tabelle lieber die Datentypen posten.
-
Hi,
danke erstmal für dein Script.
Da kommt folgende Fehlermeldung:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/hosting/jinnyboy/tippen.php on line 49
Die bekomm ich aber seit Tagen wenn ich mysql_num_rows mache.
Ich find den Fehler nicht. Verbindung steht, Tabelle exisitert und
die Tabelle ist auch gefüllt.
Hatte ich auch mal...
Lösung:
Fange vorher ab, ob die Rückgabe vielleicht "false" ist, also:
<? $result = mysql__query(...); if ($result != false): $var = mysql_num_rows($result); //(...Mache irgendwas mit deiner Zeilenanzahl) endif; ?>
Dürfte keinen Fehler geben!
Euer LDer -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage