ERLEDIGT
JA
JA
ANTWORTEN
24
24
ZUGRIFFE
1108
1108
EMPFEHLEN
-
Hi Leute,
ich bin schon wieder am verzweifeln. Wahrscheinlich seh ich den Wald vor lauter Bäumen nicht.
Aber ich hab folgendes:
Ich bau gerade an einem Bingo Lotteriespiel für mein Forum.
http://delta787.dyndns.org/tip/tip.php
Soweit funktioniert alles, nur jetzt will ich ein Script schreiben, wenn ich Zahlen ziehe, die in ein Textfeld eingebe, soll die Datenbank durchsucht werden nach einer dieser Zahlen. Wenn eine oder mehrere gefunden wurden, sollen die durch ein * ersetzt werden.
Wahrscheinlich Kinderleicht, aber wie gesagt ich komm grade nich drauf.
Herzlichen Dank im Vorraus
-
24.05.09 17:55 #2
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
z.B.:
Code :1
UPDATE tabelle SET feld = '*' WHERE feld IN ('3', '5', '7')
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
e:/ ok, dann hab ich es doch falsch verstanden. Post einfach ignorieren =)
There are only 10 types of people in the world — those who understand binary, and those who don't.
Mach mal einer das Licht an, ich hör nix!
Why is 6 afraid of 7? Because 7 8 9.
-
24.05.09 18:06 #4
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
Ich bin davon ausgegangen, dass er es außerhalb der Datenbank ersetzten möchte, bei der ausgabe oder so.
Also hab ich str_replace vorgeschlagen
There are only 10 types of people in the world — those who understand binary, and those who don't.
Mach mal einer das Licht an, ich hör nix!
Why is 6 afraid of 7? Because 7 8 9.
-
ja nur woher weiß er jetzt welche genau er ersetzen muss ich muss ja irgendwie die übergeben zahl da eingeben.
warte ich schick euch ma nen paar quellcodes damit ihr ne vorstellung habt wie meine Datenbank aussieht:
also meine tabelle "zahlen" besteht aus folgenden spalten:PHP-Code:<?
include ("db.php");
$abfrage = "SELECT * FROM zahlen WHERE z1,z2,z3,z4,z5,z6,z7,z8,z9,z10 = '".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"].",".$_POST["gzahl"]."";
$ergebnis = mysql_query($abfrage);
$ergebnis1 = mysql_num_rows($ergebnis);
if ($ergebnis1) > 0)
{
$eingabe = "UPDATE zahlen SET
}
name, z1 ,z2 ,z3 usw. bis z10
und er soll z1 - z10 durchsuchen und wenn ein treffer dabei ist durch ein * ersetzen
hoffe mein code is bis hierhin noch richtig
Vielen Dank für die mühe
-
24.05.09 18:32 #7
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
nö, das Select-Statement schlägt doch schon fehl, weil es syntaktisch falsch ist. Lies mal im Manual, wie Select-Statements aufgebaut sein können. Vielleicht schaust Du Dir die Update-Syntax auch gleich an.
Warum hast Du in diesem falschen Select-Statement denn 10 mal die gleiche Postvariable verwendet? Nach welcher Logik die Zahlen ersetzt werden sollen, ist mir immer noch nicht klar.
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
Ohjee... naja bin in sachen php und mysql noch nich ganz so fit (wie man merkt), aber ich muss doch jede einzelne Spalte auslesen oder nicht?
also meine Eintragung und das Abrufen funktionieren wie man auf der seite ja sieht da sieht das Eingeben in die Datenbank so aus:
PHP-Code:<?PHP
include ("db.php");
$abfrage = "SELECT name FROM zahlen WHERE name = '".$_POST["name"]."'";
$ergebnis = mysql_query($abfrage);
if (mysql_num_rows($ergebnis) > 0)
{
echo "<font size=`7`><br><br>Du hast schon ein Tipp abgegeben</font>";
}
else
{
mysql_query("INSERT INTO zahlen(name,z1,z2,z3,z4,z5,z6,z7,z8,z9,z10)VALUES('$_POST[name]','$_POST[z1]','$_POST[z2]','$_POST[z3]','$_POST[z4]','$_POST[z5]','$_POST[z6]','$_POST[z7]','$_POST[z8]','$_POST[z9]','$_POST[z10]')");
echo "<font size=`7`><br><br>Du hast erfolgreich dein Tipp abgegeben</font>";
}
?>
Also wie schon gesagt jede Zahl hat seine eigen Spalte die von z1-z10 gehen.
Und da muss ich doch jede Spalte auslesen und mit der $_POST'gzahl' überprüfen ob eine dabei ist und dann eine if schreiben womit er übereinstimmende Zahlen ersetzt mit diesem * also, dass man auf der ersten Seite nicht mehr die zahl sondern das * sieht für gezogen.
Ich hoffe, dass das jetzt verständlicher war. Bin nich so ein guter Erklärer.
Hoffe ihr könnt mir zeigen wie das denn dann auszusehen hat das abfragen und ersetzen.
Vielen Dank
-
24.05.09 18:57 #9
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
Die Syntax ist sowieso falsch und außerdem brauchst Du kein Select dafür, da man auch in einem Update-Statement eine WHERE-Klausel verwenden kann.
Du bräuchtest 10 Update-Statements (für jede Spalte eins), ungefähr so, wie in meiner ersten Antwort.
Lies Dir wie gesagt mal die Manualseiten durch.
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
Schuldigung wenn ich schon wieder nerve, aber so oder ähnlich müsste der Code dann ja aussehen oder?
funktioniert aber noch nicht wo sitzt jetzt der fehler?PHP-Code:$update1 = "UPDATE zahlen SET z1 = '*' WHERE z1 = '$_POST[gzahl]'";
glaub ich bin heute zu doof dafür
-
24.05.09 19:35 #11
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
lass Dir $update1 mal ausgeben. mysql_error() könnte außerdem helfen.
Und Du solltest Dich mal über Sicherheit informieren. Daten vom Benutzer müssen immer geprüft werden (hier: Stichwort SQL-Injection).
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
hab den fehler... jetzt gehts... wie meinst du das mit sicherheit? benutzer geben ja keine daten an also PW und so is ja nichts oder was meinst du?
-
er meint dass POST-Daten niemals direkt in die DB geschrieben werden sollten. Das ist eine sehr große Sicherheitslücke!
Mach dich mal über Google oder so schlauThere are only 10 types of people in the world — those who understand binary, and those who don't.
Mach mal einer das Licht an, ich hör nix!
Why is 6 afraid of 7? Because 7 8 9.
-
24.05.09 20:03 #14
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
habs mir durchgelesen und eingefügt aber jetzt funktioniert die übergabe nicht mehr
mit get (will ich nicht) geht es aber mit post geht es nicht
hier mal das formular:
und hier die php datei dazu:HTML-Code:<form methode="post" action="ziehung1.php"> <input type="text" name="gzahl"> <input type="submit" name="button" value="Zahl eintragen"> </form> </body> </html>
PHP-Code:$update1 = "UPDATE `bingo`.`zahlen` SET `z1` = '*' WHERE `zahlen`.`z1` = '".mysql_real_escape_string($_POST['gzahl'])."'";
Ähnliche Themen
-
Abfrage wenn vorhanden dann
Von wobeni im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 03.09.08, 21:09 -
Werte aus DB prüfen (wenn ja dann weiter Wenn nein dann nicht)
Von harderph im Forum PHPAntworten: 3Letzter Beitrag: 27.01.08, 10:45 -
Datenbank Abfrage: Wenn Status 1 dann...
Von absyrtos im Forum PHPAntworten: 2Letzter Beitrag: 26.09.06, 20:15 -
Anfänger SQL-Abfrage (wenn dann)
Von fritz74 im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 03.10.05, 22:46 -
MySql - Wenn falsche Datumsangabe, dann Meldung...
Von Newcomer1 im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 26.07.05, 15:55





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren