php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.09.2004, 22:23  
Benutzer
 
Registriert seit: 23.08.2004
Beiträge: 35
Ente
Standard

also hinterm query else?
Ente ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.09.2004, 22:34  
Gast
 
Beiträge: n/a
Standard

bin ein wenig verwirrt.

Nochmal zum "Mitschreiben"
Du möchtest eine Abfrage starten,
- die bei bestehenden Kunden und Kauf das Feld Anzahl inkrementiert
- und Neukunden-Käufen einen neuen Datensatz in die Datenbank packt.

Hab ich das so richtig verstanden?

Falls ja, musst Du 2 Abfragen draus machen.
Update wenn vorhanden
und
Insert wenn nicht vorhanden
 
Alt 27.09.2004, 22:38  
Benutzer
 
Registriert seit: 23.08.2004
Beiträge: 35
Ente
Standard

genau... nur wie?
Ich weiß nicht wie der vergleichen soll...
Ente ist offline  
Alt 27.09.2004, 22:44  
Gast
 
Beiträge: n/a
Standard

Du kannst zuerst die Abfrage machen und dann mit mysql_affected_rows() rausbekommen wieviele Datensätze editiert wurde. Wenn das eben 0 ist musst du ein INSERT machen.

Gibts da nicht auch ein Befehl für "Insert (...) wenn kein Datensatz mit id=123 sonst Update" - Dachte mal was gehört zu haben... hmmm
 
Alt 27.09.2004, 22:46  
Benutzer
 
Registriert seit: 23.08.2004
Beiträge: 35
Ente
Standard

Nur wie soll ich überprüfen ob 0 Zeilen vorhanden sind?
Ente ist offline  
Alt 27.09.2004, 22:49  
Gast
 
Beiträge: n/a
Standard

Also, sofern Du den Kunden und sein Fahrzeug mal in Variablen hast, und davon gehe ich aus, ist es sehr einfach.

Irgendwo hast Du
Code:
"SELECT * FROM tabelle WHERE kunde ='$kundenvariable';"
- wenn nicht, wäre jetzt ein guter Zeitpunkt dafür.

mit $anzahl = mysql_num_rows($result); erhälst Du 0 oder 1 - wenn Du mehr erhälst, ist Deine Tabellenstruktur Mist, denn Du kannst den Kunden nicht mehr eindeutig zuordnen - dann musst Du ganz von vorne anfangen.

Aber nehmen wir mal an, Dein Feld kunde ist eindeutig und Du bekommst 0 oder 1 als Ergebnis.

Dann kannst Du die 2. Abfrage mit If/Else schalten:

Code:
if ($anzahl == 0) // Neukunde
 $query = "INSERT INTO tabelle VALUES('lfdnr','kunde','fahrzeug','gekauft');";
else
 $query = "UPDATE tabelle set gekauft=(gekauft+1) WHERE kunde='$kundenvariable;";
dann noch

Code:
$result=mysql_query($result) or die("Mist, habsch wieder was falsch gemacht und zwar ".mysql_error());
Und Dein Datensatz ist drin respektive inkrementiert respektive Mist, Du hast wieder was falsch gemacht und zwar mysql_error();

 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
frage zu mySQL abfrage imported_dex PHP Tipps 2005-2 3 26.10.2005 23:28
Frage bzgl. Apache2 mit PHP5 und MySQL?!? PHP Tipps 2005-2 3 07.10.2005 08:39
Frage zu einer MySQL Datenbank Datenbanken 3 10.09.2005 12:24
Frage zu Mysql JanM PHP Tipps 2005-2 1 03.09.2005 19:35
mysql frage schmiddy PHP Tipps 2005-2 2 14.07.2005 13:29
Frage zur Mysql PHP Tipps 2005-2 2 14.07.2005 10:38
[Erledigt] MYSQL PHP Frage Datenbanken 9 02.06.2005 20:40
PHP MySql Frage PHP Tipps 2005 7 01.06.2005 18:54
PHP MySql Frage PHP Tipps 2005 2 01.06.2005 18:21
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
allgemeine frage | mysql und htaccess notyyy Datenbanken 13 18.05.2005 21:01
Frage - JS ausführen -> neuer Eintrag in MySQL vorhanden. HTML, Usability und Barrierefreiheit 2 27.11.2004 22:11
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
order frage php & mysql PHP Tipps 2004 3 04.11.2004 00:45
mysql frage PHP Tipps 2004 2 17.07.2004 23:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\mysql php befehle insert und per select id rausbekommen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:09 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.