ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
420
420
EMPFEHLEN
-
19.09.05 15:39 #1
- Registriert seit
- Apr 2004
- Ort
- Berlin
- Beiträge
- 196
Hi Leutz.
Ich habe ne Datenbank mit dem TABLE vmap. wenn ich mit folgendem Script was hinzufügen möchte macht er das nicht.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
$again =1; while($again == 1) { $x = mt_rand(1,25); $y = mt_rand(1,25); $sql = @mysql_query("SELECT * FROM vmap"); while($row = @mysql_fetch_array($sql)) { if($row[1] == $x && $row[2] == $y) { $again = 1; } if($row[1] != $x OR $row[2] != $y) { $again = 0; } } } echo "Koordinaten: X = $x / Y = $y"; $sql = "UPDATE vmap SET x='$x' WHERE username = '$nick'"; mysql_query($sql) OR die(mysql_error());
-
19.09.05 15:48 #2
- Registriert seit
- Jun 2004
- Beiträge
- 33
Was gibt es denn für eine Fehlermeldung?
Gibt es eine Fehlermeldung?
bzw. Was hast du vor?Geändert von denyo-style (19.09.05 um 15:50 Uhr)
Der schlimmste Weg, den man wählen kann, ist der, keinen zu wählen.
-
19.09.05 15:56 #3
- Registriert seit
- Apr 2004
- Ort
- Berlin
- Beiträge
- 196
es gibt keine fehlermedlung, er addet die werte nicht in den table. was ich vor habe? das wird ein online game
-
19.09.05 16:04 #4
- Registriert seit
- Jun 2004
- Beiträge
- 33
ich meinte eigentlich, was Du in der while - Schleife vorhast,
naja, ich gehe davon aus, dass Du in der Tabelle vmap überprüfen willst, ob
schon $x und $y existieren und erst dann die Werte in die Tabelle einträgst.
vielleicht wäre dieser Lösungsweg besser:
So läuft das Skript auch schneller durch, weil nicht immer alle Datensätze der Tabelle vmap abgerufen werden.PHP-Code:$again =1;
while($again == 1)
{
$x = mt_rand(1,25);
$y = mt_rand(1,25);
$sql = @mysql_query("SELECT * FROM vmap WHERE SpalteX = '$x' AND SpalteY = '$y' ");
$exist = mysql_num_rows($sql);
if($exist)
$again = 1;
else
$again = 0;
}
echo "Koordinaten: X = $x / Y = $y";
$sql = "UPDATE vmap SET x='$x' WHERE username = '$nick'";
mysql_query($sql) OR die(mysql_error());
Ich hoffe das hilft Dir weiter.Geändert von denyo-style (19.09.05 um 16:09 Uhr)
Der schlimmste Weg, den man wählen kann, ist der, keinen zu wählen.
-
$again nimmt immer den Wert entsprechend der letzten Ergebniszeile an.
Es gibt keine Fehlermeldung, weil es entweder keinen Fehler gibt oder weil Du die Fehlermeldungen mit @ unterdrückst.
Einfacher wäre es, wenn Du die Bedingung direkt ins Query aufnimmst:Du setzt übrigends y nicht in Deinem Update. Ich weiß nicht, ob das so gewollt ist.PHP-Code:$again =true;
//nur weil ich mir nicht sicher bin, ob
//bei PHP im Block deklarierte Variablen
//auch außerhalb des Blocks sichtbar sind:
$x=0;
$y=0;
while($again) {
$x = mt_rand(1,25);
$y = mt_rand(1,25);
$sql = mysql_query("SELECT x,y FROM vmap WHERE x=$x AND y=$y");
$again = (mysql_num_rows($sql)>0);
}
echo "Koordinaten: X = $x / Y = $y";
$sql = "UPDATE vmap SET x='$x' WHERE username = '$nick'";
mysql_query($sql) OR die(mysql_error());
Gruß hpvw
EDIT: Alternativ könnte eine do-while-Schleife hier Sinn machen:PHP-Code:do {
$x = mt_rand(1,25);
$y = mt_rand(1,25);
$sql = mysql_query("SELECT x,y FROM vmap WHERE x=$x AND y=$y");
} while (mysql_num_rows($sql)>0);
echo "Koordinaten: X = $x / Y = $y";
$sql = "UPDATE vmap SET x='$x' WHERE username = '$nick'";
mysql_query($sql) OR die(mysql_error());
Geändert von hpvw (19.09.05 um 16:15 Uhr)
Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.
-
19.09.05 16:23 #6
- Registriert seit
- Apr 2004
- Ort
- Berlin
- Beiträge
- 196
Alos mit der Variante:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$again =1; while($again == 1) { $x = mt_rand(1,25); $y = mt_rand(1,25); $sql = @mysql_query("SELECT * FROM vmap WHERE x = '$x' AND x = '$y' "); $exist = mysql_num_rows($sql); if($exist) $again = 1; else $again = 0; } echo "Koordinaten: X = $x / Y = $y"; $sql = "UPDATE vmap SET x='$x' y='$y' WHERE username = '$nick'"; mysql_query($sql) OR die(mysql_error());
kommt folgender fehler...
You have an error in your SQL syntax near 'y='11'
der kommt bei x aber nicht.
jetz probier ich mal deine hpvw
EDIT:
probiert, aber er addet die variablen nicht in die datenbank...Geändert von philishake (19.09.05 um 16:26 Uhr)
-
19.09.05 16:49 #7
- Registriert seit
- Jun 2004
- Beiträge
- 33
in deinem UPDATE Befehl fehlt das Komma bei
Code :1
...SET x = '$x', y = '$y'...
Geändert von denyo-style (19.09.05 um 16:51 Uhr)
Der schlimmste Weg, den man wählen kann, ist der, keinen zu wählen.
-
19.09.05 17:14 #8
- Registriert seit
- Apr 2004
- Ort
- Berlin
- Beiträge
- 196
jetzt kommen keine fehler mehr aber er addet immernoch nicht die x und y werte zur datenbank, langsam dreh ich durhc, ist doch alles richtig was wir machen ode r?
Code :1 2 3 4 5 6 7 8
do { $x = mt_rand(1,25); $y = mt_rand(1,25); $sql = mysql_query("SELECT x,y FROM vmap WHERE x=$x AND y=$y"); } while (mysql_num_rows($sql)>0); echo "Koordinaten: X = $x / Y = $y"; $sql = "UPDATE vmap SET x='$x',y='$y' WHERE username = '$nick'"; mysql_query($sql) OR die(mysql_error());
-
19.09.05 17:19 #9
- Registriert seit
- Jan 2004
- Ort
- Paderborn
- Beiträge
- 1.210
Probier es mal so:
PHP-Code:$sql = "UPDATE vmap SET x=$x,y=$y WHERE username = '$nick'";
-
19.09.05 23:14 #10
- Registriert seit
- Apr 2004
- Ort
- Berlin
- Beiträge
- 196
hi,leute, ich habe den table einfach mal gelöscht und neu generiert. jetzt klappt es danke trotzdem
mfg phil
Ähnliche Themen
-
mysql und Datenbank Fehler wir brauchen Hilfe.
Von FDGU im Forum Stellenangebote (unentgeltlich)Antworten: 1Letzter Beitrag: 08.09.10, 18:13 -
Fehler beim Ansprechen der MySQL Datenbank
Von atlantyz im Forum PHPAntworten: 16Letzter Beitrag: 05.07.08, 20:56 -
Problem mit MySQL-Datenbank - wo ist der Fehler
Von nicobischof im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 01.08.05, 18:11 -
Fehler beim Anlegen von Tabelle in MySQL-Datenbank
Von Robert Steichele im Forum PHPAntworten: 7Letzter Beitrag: 25.01.05, 22:02 -
Fehler beim Eintragen in MySQL Datenbank?
Von Martys im Forum PHPAntworten: 4Letzter Beitrag: 13.09.04, 20:36





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren