Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > logik datensatz identifikation

Layoutprobleme? - Styleswitcher!

Antwort
 
Themen-Optionen
Alt 04.04.2008, 11:32 Nach oben    #1
richy
Benutzer
 
Registriert seit: 26.03.2008
Ort: paderborn
Beiträge: 43
Standard logik datensatz identifikation

moinsen!

folgende situation:

USER A triggert ein script, das einen datensatz anlegt. die id wird per auto increment festgelegt. in diesem script folgt gleich danach eine email-notification an USER B, die ihm mitteilt, dass ein neuer datensatz angelegt wurde. in dieser mail soll der link zum neuen datensatz stehen, damit USER B ihn sich angucken kann.

ich frage mich jetzt: wie krieg ich diesen link gebacken?

denn wenn ich zb den neuesten datensatz als grundlage fuer den link in der mail nehme, kann es ja sein, dass mittlerweile USER C einen weiteren, neueren datensatz angelegt hat.

meiner bester schuss bis jetzt: der neuesten, von USER A angelegten datensatz auslesen. dieser bleibt ja zumindest der richtige bis USER A ein weiteres mal das script triggert.

richtig gedacht, oder gibt es eine bessere loesung?
__________________
gruss,
richy
richy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.04.2008, 11:48 Nach oben    #2
Flor1an
Der Student
 
Benutzerbild von Flor1an
 
Registriert seit: 03.01.2007
Ort: München
Beiträge: 49
Standard

Bei mysql gibt es die Funktion "mysql_insert_id()"! Damit kannst du die auto_increment ID auslesen vom letzten INSERT Statement! Wenn du mysql_insert_id() direkt nach dem INSERT aufrufst bekommste somit die ID und kannst damit den Link generieren!
__________________
Wenn ich du wäre, wäre ich lieber ich.

http://www.clubstars.net
http://www.x-tinct.de
Flor1an ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.04.2008, 13:01 Nach oben    #3
MrNiceGuy
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 603
Standard

Wie auf http://www.php.net/manual/de/functio...-insert-id.php nachzulesen ist, sollte man - jenachdem, wie die Tabelle beschaffen ist - lieber auf die MySQL-interne Funktion LAST_INSERT_ID() als Abfrage nutzen:

Zitat:
mysql_insert_id() konvertiert den Typ der Rückgabe der nativen MySQL C API Funktion mysql_insert_id() in den Typ long (als int in PHP bezeichnet). Falls Ihre AUTO_INCREMENT Spalte vom Typ BIGINT ist, ist der Wert den mysql_insert_id() liefert, nicht korrekt. Verwenden Sie in diesem Fall stattdessen die MySQL interne SQL Funktion LAST_INSERT_ID() in einer SQL-Abfrage.
Code:
SELECT LAST_INSERT_ID() AS `integerInsertId`
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.04.2008, 13:09 Nach oben    #4
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Ist dann auch garantiert, dass es die gleiche ID ist, oder ist das einfach nur die Letzte?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.04.2008, 13:23 Nach oben    #5
mepeisen
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 353
Standard

-> http://dev.mysql.com/doc/refman/5.1/...unique-id.html
Zitat:
When inserting multiple values, the last automatically incremented value is returned.
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.04.2008, 21:00 Nach oben    #6
richy
Benutzer
 
Registriert seit: 26.03.2008
Ort: paderborn
Beiträge: 43
Standard

top! danke leute!
__________________
gruss,
richy
richy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.04.2008, 23:23 Nach oben    #7
richy
Benutzer
 
Registriert seit: 26.03.2008
Ort: paderborn
Beiträge: 43
Standard

Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
Ist dann auch garantiert, dass es die gleiche ID ist, oder ist das einfach nur die Letzte?
hm, da der select gleich danach kommt muesste es doch quasi unmoeglich sein, dass sich eine neuere id dazwischenmogelt, oder?
__________________
gruss,
richy

Geändert von richy (05.04.2008 um 09:24 Uhr).
richy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.04.2008, 00:53 Nach oben    #8
MrNiceGuy
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 603
Standard

Soweit ich das jetzt aus dem Kopf weiß, ist es unmöglich, da es immer für die aktuell gültige Datenbankverbindung zählt. User A und User B erhalten also unterschiedliche Ergebnisse, wenn ihre Anfragen quasi-gleichzeitig ausgeführt werden.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.04.2008, 10:34 Nach oben    #9
b0mbe
Neuer Benutzer
 
Registriert seit: 03.04.2008
Ort: Paderborn
Beiträge: 7
Standard

In dem Fall müsste man das ganze mit Transaktionen angehen...
b0mbe ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.04.2008, 19:42 Nach oben    #10
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Zitat:
Zitat von MrNiceGuy Beitrag anzeigen
Soweit ich das jetzt aus dem Kopf weiß, ist es unmöglich, da es immer für die aktuell gültige Datenbankverbindung zählt. User A und User B erhalten also unterschiedliche Ergebnisse, wenn ihre Anfragen quasi-gleichzeitig ausgeführt werden.
Wenn dem so wäre, dann wäre das eine nachvollziehbare Erklärung!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.04.2008, 23:13 Nach oben    #11
MrNiceGuy
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 603
Standard

@Jann: Ich weiß allerdings nicht, inwiefern sich das bei persistenten Verbindungen anders auswirkt. Möglicherweise gibt es da dann Probleme.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.04.2008, 20:52 Nach oben    #12
Flor1an
Der Student
 
Benutzerbild von Flor1an
 
Registriert seit: 03.01.2007
Ort: München
Beiträge: 49
Standard

Persistente Verbindungen sollte man sowieso mit Vorsicht genießen! Es gibt damit recht viele Probleme. In MySQLi wurde die Möglichkeit komplett abgeschafft da es einfach zu Fehleranfällig war.
__________________
Wenn ich du wäre, wäre ich lieber ich.

http://www.clubstars.net
http://www.x-tinct.de
Flor1an ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.04.2008, 16:45 Nach oben    #13
MrNiceGuy
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 603
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Persistente Verbindungen sollte man sowieso mit Vorsicht genießen! Es gibt damit recht viele Probleme. In MySQLi wurde die Möglichkeit komplett abgeschafft da es einfach zu Fehleranfällig war.

[ot]und funktioniert hat es auch nicht richtig [/ot]
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

« dauer einer session | 2 Sorten von Screenshots schießen und Daten aus der Datenbank holen »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

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 anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SQL Abfrage klappt nicht mit mehr als einem Datensatz Jan PHP-Programmierung 11 29.03.2007 20:05
Datensatz löschen andy74 Datenbanken 40 17.01.2006 14:55
Datensatz nur einmal oder mehrmals speichern? Jay Datenbanken 8 09.01.2006 23:29
Überprüfen ob Datensatz vorhanden Quakes Datenbanken 2 25.03.2005 14:24
2Dimensionales Array, 2mal denselben Datensatz zonk Allgemeine Java-Programmierung 1 20.10.2004 07:02


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:42 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.6.7, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44