Spezielle Tabellenzelle ansteuern (MySQL)

Hi,

Code:
$last_id = mysql_query("SELECT LAST_INSERT_ID() FROM TABELLE", $db);

TABELLE durch deinen Tabellennamen ersezten

Aber denke das geht, habs selbst nie ausprobiert.

Das würde aber doch voraussetzen, dass vorher (in der selben Scriptinstanz) etwas eingefügt wurde (und zwar in genau die Tabelle, da diese ID nicht pro Tabelle gespeichert wird).

Aus dem Manual:

The ID that was generated is maintained in the server on a per-connection basis. This means that the value returned by the function to a given client is the first AUTO_INCREMENT value generated for most recent statement affecting an AUTO_INCREMENT column by that client. This value cannot be affected by other clients, even if they generate AUTO_INCREMENT values of their own. This behavior ensures that each client can retrieve its own ID without concern for the activity of other clients, and without the need for locks or transactions.

Mach das mit ORDER BY und LIMIT und Du bist auf der sicheren Seite.

LG
 
Könntest du vielleicht ein Beispiel schicken? ich habe so etwas noch nie gemacht.

Meine Tabelle Schaut im Moment so aus:

Zahl informationen
---------------------------
1 informationen1
2 informationen2
3 informationen3
4 informationen4

Nun soll immer die unterste, die 2.unterste oder die 3.unterste Information eingefügt werden. Wenn weitere Informationen hinzugefügt werden (4., 5., 6. usw...) soll dann von da abgehend die unterste, die 2.unterste oder die 3.unterste Information eingefügt werden.

Ich hoffe ihr versteht mich:)

lg Lukas
 
Hi,

Ich hoffe ihr versteht mich:)

Nö. Was willst Du denn jetzt? Die zuletzt eingefügte Zeile? Die liefert schon die Abfrage, die Dir einfach_nur_crack gepostet hat. Oder die letzten 3 Zeilen? Dann setze halt das Limit auf 3 statt 1. Dann liefert die Abfrage auch 3 Datensätze.

G4 94 hat gesagt.:
die unterste, die 2.unterste oder die 3.unterste Information eingefügt werden.

Was meinst Du da mit "oder"? :confused:

LG
 
Tut mir leid, ich hatte das Posting von einfach nur crack übersehen. Seine Lösung funktioniert auch, danke für deinen Aufwand und den der anderen.

@kuddeldaddeldu

was ich mit oder meine ist, dass auch die informationen aus der reihe mit der 2. größten zahl angezeigt werden können (oder eben mit der 3. größten). Ich hoffe ihr könnt mir da noch einmal helfen

lg lukas
 
Zuletzt bearbeitet:
Das steht im jeweiligen code. das heißt, wenn ich zahl seite1.php besuche, soll die information mit der größten zahl angegeben werden, wenn ich seite5.php besuche, soll die information mit der zweitgrößten zahl angegeben werden. (Die Seitennamen haben nichts damit zu tun, welche informationen angegeben werden. das soll nur im jeweiligen quellcode stehen.)
 
Hi,

wieso machst Du da für jede Option ein eigenes PHP-Script? :confused:
Man kann einem PHP-Script Parameter in der URL übergeben, die sich dann im $_GET-Array wiederfinden...

Die LIMIT-Klausel kann auch zwei Parameter haben: offset (beginnend bei 0) und row_count. Wenn Du aus einem Ergebnis also den zweiten Datensatz haben willst, setzt Du in der Abfrage halt LIMIT 1,1.

Und achte in Deinen Beiträgen bitte auf die Rechtschreibung, wie es in unserer Netiquette, Punkt 15 steht. Durchgängig klein geschriebene Beiträge sind hier nicht erwünscht. Danke.

LG
 
Nun überraschst du mich auch G5_94,

ich würde dir raten, dir mal die Basics von PHP anzuschauen.
Wir können dir (und machen das auch gern) hier im Forum viel Support bieten. Aber das alles Hilft nichts, wenn dein Projekt unsauber und nicht durchdacht geplant ist.

Kuddel hat die ja schon einen Link gegeben.
Mein Tipp: Lern die Basics von PHP und stell dich dann deinem Projekt. Anders rechne ich dir nicht viel Erfolg-Chancen aus. Ich will nicht sagen du sollst PHP beherrschen wir deine Muttersprache, ich bin auch Anfänger, aber dass man nicht für jede Funktionalität eine Datei anlegen muss soltle jedem PHP-Entwickler bewusst sein. Und ich versuche immer sowenig wie möglich hart zu Coden.
 
Das soll einfach im Quellcode festgelegt werden. So soll z.B. auf seite a.php immer die information mit der höchsten zahl angesteuert werden; auf Seite d.php immer die informaition mit der zweithöchsten zahl. (Der Seitenname hat nichts mit der Zahl zu tun)
 
Also um deine Frage zu beantworten:
Nutz die Variante mit LIMITED und mach dann als Wert 1, 2 oder 3.

Dann hast du entsprechend den letzten, die beiden letzten oder die drei letzten Datensätze.

Dennoch ist deine Vorgehensweise nicht im Sinne eines guten Programmierstils, weil du ein und die selbe Funktionalität mehrmals im Quellcode hinterlegst. Auch wenn du kein OOP programmierst... Funktionen können eine retundanz and Funktionalitäten entgegenwirken.
 

Neue Beiträge

Zurück