Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

SQL Ausführung

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
jeep42
PostRank 1
PostRank 1
Beiträge: 15
Registriert: 21.05.2005, 19:40

Beitrag von jeep42 » 28.05.2005, 18:08

Hallo,

ich möchte in der Anfrage und Ausführung des query eine zusätzliche Optionen einbauen...

Wenn die tatsächliche Anzahl von $mypunkte grösser wie 3000 Punkte ist sollen die Punkte wieder auf 0 gesetzt werden...

Die unten angebene SQL Ausführung summiert nur die Punkte.

hmm wie ändere ich den Code so das bei 3000 Punkte die Punkte auf 0 gesetzt werden?

// punktevergeben

// Punkte schreiben
$mypunkte=$mypunkte+8;
$mygesamtpunkte=$mygesamtpunkte+8;
$query = "UPDATE Userdaten SET punkte='$mypunkte',gesamtpunkte='$mygesamtpunkte' WHERE anznummer='$anznummer' ";
mysql_db_query($dbname,$query,$conn) or die (mysql_error());

Header('Location: ../members/'.$from.'.php?'.SID.'&showid='.$showid.'&id='.$anznummer.'&language=DE&ordner='.$lastfolder);
exit();

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


pebosi
PostRank 7
PostRank 7
Beiträge: 495
Registriert: 06.11.2004, 18:38

Beitrag von pebosi » 28.05.2005, 20:17

mach einfach noch eine weitere anweisung unter die andere:

"UPDATE Userdaten SET punkte=0 WHERE punkt >= 3000";

oder welche punkte meintest du?

auftragslinker
PostRank 7
PostRank 7
Beiträge: 525
Registriert: 21.04.2005, 14:36

Beitrag von auftragslinker » 29.05.2005, 00:54

wie wärs mit
if ($mypunkte >= 3000) { $mypunkte = 0; }
vor der sql abfrage? verstehe dein problem auch nicht so recht...

jeep42
PostRank 1
PostRank 1
Beiträge: 15
Registriert: 21.05.2005, 19:40

Beitrag von jeep42 » 29.05.2005, 09:46

pebosi hat geschrieben:mach einfach noch eine weitere anweisung unter die andere:

"UPDATE Userdaten SET punkte=0 WHERE punkt >= 3000";

oder welche punkte meintest du?
Hallo vielen Dank

Das war die richtige Anbtwort:
$query ="UPDATE Userdaten SET punkte=0 WHERE punkt >= 3000";
mysql_db_query($dbname,$query,$conn) or die (mysql_error());

Funzt perfekt ;-)

pebosi
PostRank 7
PostRank 7
Beiträge: 495
Registriert: 06.11.2004, 18:38

Beitrag von pebosi » 29.05.2005, 09:49

ok alles klar :)

axelm
PostRank 7
PostRank 7
Beiträge: 603
Registriert: 18.10.2004, 11:42

Beitrag von axelm » 31.05.2005, 11:04

mach einfach noch eine weitere anweisung unter die andere:
"UPDATE Userdaten SET punkte=0 WHERE punkt >= 3000";

Das führt doch dazu, dass dieses Statment bei JEDEM Eintrag durchgeführt wird (egal was der aktuelle User für Punkte hat).
Wie wir alle wissen sind Statments auf der DB teuer. Spätestens wenn dein Spiel richtig einschlägt könnte die DB in die Knie gehen.

Ich würde dem eine If abfrage im PHP Code vorziehen.
Axel der Autoschieber
<br><br>snippetoptimizer.de Snippet optimieren
<br><br>Css Cruncher Ladezeiten optimieren.
<br><br>Webmaster Tools

Airport1
PostRank 10
PostRank 10
Beiträge: 4489
Registriert: 16.08.2004, 18:50
Wohnort: Backnang / bei Stuttgart

Beitrag von Airport1 » 01.06.2005, 13:03

Darf man es wieder vereinfachen? ;)
Kannst aus beiden Querys eines machen, das geht mit Einbau eines

IF (Bedingung, mach dies wenn wahr, mach dies wenn falsch)

ins Query ... Docu dazu bei mysql.com - Suchfunktion.
Hier kann man sich aber dann vortrefflich streiten was wartungsfreundlicherer Code ist, ob zwei Zeilen oder eine - bekomme schon Gewissensbisse ;)

Nach erster Ueberlegung wohl doch lieber die zwei Zeilen, ausser es geht um Performanz (z.B. weil Counter-Anbieter..)
Linktauschanfragen zwecklos
https://www.bot-trap.de/ Spamschutz fuer Webmaster - zentrale Meldestelle fuer Web Spam
https://www.airport1.de/blog/ Lombagruschd Blog mid Gardadierle
https://www.ranking-hits.de/ Counter & PR Service

Antworten