Gutscheinscript

thommy1972

Mitglied
Hallo mal wieder... Hänge mal wieder fest :)
Ich wollte ein Gutscheinsystem einbinden. Dazu habe ich eine Tabelle gutscheine mit id, gutscheincode und gebraucht erstellt

Sinn: ID man sieht wieviele Gutscheine man hat (übrig sind)
code zum abgleich
gebraucht wird mit Ja gefüllt wenn gebraucht.
Nun mein (theoretischer) Abfragecode: (der natürlich nicht geht)

PHP:
$gutscheincode = $_POST["gutscheincode"];
$gsabfrage=("SELECT * FROM `gutscheine` WHERE gutscheincode = '".$gutscheincode."'");
mysql_query($gsabfrage);
$rowgs = mysql_fetch_array(mysql_query("SELECT * FROM `gutscheine` WHERE gutscheincode = '".$gutscheincode."'"));
if($rowgs['gebraucht'] == 'Ja'){
echo "Kein Gutschein!";}
else{
echo "Gutschein eingefuegt !";
$gsloesch = mysql_query("UPDATE `gutscheine` SET
`gebraucht` = 'Ja'
WHERE gutscheincode = '$gutscheincode'");
}

Das Eintragen von Ja wenn der Code korrekt ist geht zumindest. Aber die Abfrage ob der Code stimmt geht nicht...

Weiss wer warum ?
 
Zuletzt bearbeitet:
du machst ein mysql_query und anschliessend gleich ein neues mysql_query. mit dem ersten machst du gar nix.
mit dem mysql_fetch_array(mysql_quer<()) -Konstrukt lebst du gefährlich. Wenn dein SELECT keine Datensätze zurückgibt, läuft dies wahrscheinlich auf ein Fehler.

Dein SQL kannst du mal anhand dieses Tutorials durchtesten
PHP MySQL Debug Queries

Ahcja, wenn du deinen Code noch ein wenig formatieren würde, könnte man ihn ev. sogar lesen
 
Kurze Frag vorab:
Wie sieht so ein Gutscheincode aus?

Wie yaslaw auch schon meinte musst du mit mysql_fetch_array vorsichtig sein! Ich empfehle dir, bevor du diese Funktion aufrufst, zunächst zu überprüfen, ob überhaupt ein Datensatz gefunden wurde (mysql_num_rows). Danach erst mysql_fetch_array.

Das Update oder überhaupt die Identifizierung von Datensätzen zur Modifikation würde ich immer über die ID machen!

Die Spalte "gebraucht" würde ich in ein tinyint umwandeln und da mit 0 oder 1 abfragen. Beispiel: 0 entspricht nein, 1 entspricht ja
 
Zuletzt bearbeitet:
Also wie macht man das genau, ich würd auch gern so einen Counter sehen und wissen ob die Codes auch richtig funktionieren und mir als Endnutzer was bringen?
Ich hoffe du hast eine Lösung finden, können. Beim Programmieren bin ich noch am Anfang...
 
Zurück