WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- letzte id herausfinden

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » letzte id herausfinden - 21 Nov 2024 Antworten
letzte id herausfinden
damilchmann
Pixelschubser
Threadstarter




Beiträge: 17

hallo, wie bekomme ich per phpabfrage an die datenbank (mysql) heraus, welches die letzte id, sprich der letzte eintrag ist?

hab es mit MAX(id) versucht da bekomme ich aber als ergebnis z.b. für den 4. datensatz
"#4"

wenn ich diesen wert dann weitergeben kann php natürlich damit nix anfangen, ich bräuchte also den reinen wert 4.

hätte da jemand nen tip für mich? thx

Diese Nachricht wurde geändert von: damilchmann
  Profil   Editieren   Zitieren
progrookie
Fachidiot




Beiträge: 127

1: 
2: 
3: 
4:
SELECT LAST_INSERT_ID(id) AS LAST_ID
FROM 
ORDER BY id DESC 
LIMIT 1

probiers es mal hiermit...

---

  Profil   E-Mail   Website   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

...aber ist es das, was man wirklich will?

angenommen:
man hat ein forum, dort sind schon ein paar beiträge drin.
wenn nun der letzte angemeldete user(4) beiträge schreibt und danach seinen acc löscht,
bekommt der nächste, der sich anmeldet, die selbe id,
wenn du dann mit dem resultat id(3)+1 arbeitest.
demzufollge hat der neue user die beiträge von dem, der sein acc gelöscht hat.
...
1: 
2: 
3:
'"),NULL,'Auto_increment');
?>


und die 2. frage stellt sich: hast du davor gerade ein insert in die tabelle gemacht?
weil dann geht die letze id rauszufinden ...
mysql_insert_id()

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
damilchmann
Pixelschubser
Threadstarter




Beiträge: 17

thx für die antworten:

@raiserle genau das scheint das problem, ich will die abfrage hinterher und unabhängig von nem SELECT bewerkstelligen bzw. auf ner ganz anderen seite, dadurch ist davor kein select-befehl durchgeführt worden.

@progrookie.

dein vorschlag hilft irgendwie nicht, es kommt als ergebnis Resource id #4 und diese ergebnis verändert sich auch nicht, nachdem ich einen neuen eintrag in die tabelle gemacht hab, kann aber auch sein, dass ich es falsch eingebunden habe. könntest du kurz mal drübergucken?

[PHP]$query = ("SELECT LAST_INSERT_ID(id) AS LAST_ID FROM history ORDER BY id DESC LIMIT 1");
$result = mysql_query($query);


$anzahl = $result;

echo "Anzahl der Datensätze: ".$anzahl."
";[/PHP]

noch mal @ raiserle. köntest du mir evtl. anhand des obigen codes erklären, wie ich deinen code da einbauen kann. das wäre super, steht da nämlich noch mehr auf dem schlauch. sollte diese zeile nach z.b. nem SELECT * FROM history?

wenn ich einfach das hier einbinde:

$next_increment=mysql_result(mysql_query("SHOW TABLE STATUS LIKE 'history'"),NULL,'Auto_increment');
echo $next_increment."
";

kommt als ergebnis ein wert der über der letzten id ist. 7 ist die aktuelle id und er spuckt aber 8 aus.

ps. ergänzung. man kann dann natürlich einfach $next_increment-- machen, das funktioniert dann auch aber sobald ich den letzten datensatz lösche, also die 7, also die letzte id 6 ist, bekomm ich als ergebnis trozdem die 8 und dann über "--" also minus 1 den wert 7, der ja jetzt eigentlich 6 sein sollte. daran kann man wohl erkennen, dass ich den befehlt nicht wirklich durchschaut hab.

wäre super, wenn ihr euch noch mal dazu äußern könntet

thx

Diese Nachricht wurde geändert von: damilchmann
  Profil   Editieren   Zitieren
progrookie
Fachidiot




Beiträge: 127

also ich bin davon ausgegangen, dass Du vorher ein INSERT getätigt hast, dann hättest Du im Anschluß einfach "mein" Statement ausgeführt und Voilà, da hättest Du die letzte ID gehabt...

1:
...LAST_INSERT_ID([b]id[/b])...
soll der NAME deiner ID Spalte sein, wenn deine Spalte anders heißt, dann muss Du das umändern...

#####################################################################

Wenn Du dein Datenbankdesign relational aufgebaut hast, denke ich mir, dürfte es kein Problem sein unter einer bestimmten WHERE-Bedingung den letzten Beitrag einen bestimmten Benutzers herauszufinden. Ich versteh immer noch nicht ganz, unter welcher Bedingung du die letzte ID herausfinden möchtest. Beschreibe doch mal im Detail das Zenario und zur Hilfe vielleicht ein grobes Schema deine Tabellenstruktur, damit man sich besser ein Bild machen kann.

Gruß

---

Diese Nachricht wurde geändert von: progrookie
  Profil   E-Mail   Website   Editieren   Zitieren
damilchmann
Pixelschubser
Threadstarter




Beiträge: 17

es ist einfach eine seite auf der daten eingegeben werden können, datum usw.

danach auf einer anderen seite kann man z.b. nach datum suchen und es soll aber automatisch der letzte eintrag angezeigt werden, der gemacht wurde. diesen letzten eintrag kann aber jemand anderes gemacht haben und wieder jemand anderes nutz die suchseite und soll eben auch den letzten eintrag bekommen. daher hat person 2 natürlich vorher nichts eingetragen und hat daher auch keinen INSERT. daher funzt last_insert_id nicht.

undja, die spalte heisst id.

hab ich mich verständlich gemacht?


prinzipiell funktioniert raiserle´s variante, leider aber nur, solange man nichts aus der tabelle löscht, wenn doch spielt alles verrückt und warum das so ist, ist die große frage

Diese Nachricht wurde geändert von: damilchmann
  Profil   Editieren   Zitieren
Ehemaliges Mitglied (#378)
Quasselstrippe




Beiträge: 282

...warum nutzt Du nicht einfach einen Timestamp, den Du bei jedem Eintrag in ein Feld schreibst - und mit dem Du ganz problemlos die letzten Einträge findest? Mit dieser Methode kannst Du dann auch dem Suchenden mitteilen, zu welchem Zeitpunkt die letzten Einträge erstellt wurden.

Viele Grüße
Mondschatten

  Profil   Editieren   Zitieren
damilchmann
Pixelschubser
Threadstarter




Beiträge: 17

mondschatten, danke.

habe leider noch keine ahnung von dieser funktion.

könntest du mir nen tut dazu nennen oder mir kurz erklären, wie ich da vorgehen kann?

das wäre spitze. komme noch oft durcheinander mit den vielen verschiednen möglichkeiten in php.

ps. möglichst ein einfaches tutorial, es macht wernig sinn, wenn es eins für profis ist, was beim lesen wieder mehr fragen aufwirft als es fragen löst. thx

Diese Nachricht wurde geändert von: damilchmann
  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172


1: 
2: 
3: 
4: 
5: 
6: 
7:


hmm.. kann auch nur ne resourceid kommen, weil du ne resource ausgibst.
entweder
1: 
2: 
3: 
4:

oder
1: 
2: 
3:


---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

achso... vergessen
aber um die letze id herauszufinden sollte auch ein ganz einfacher
"SELECT `id` FROM `` ORDER BY `id` DESC LIMIT 1"

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!
  Profil   Editieren   Zitieren
damilchmann
Pixelschubser
Threadstarter




Beiträge: 17

super, so hat es jetzt geklapt:

$query = ("SELECT LAST_INSERT_ID(id) AS LAST_ID FROM history ORDER BY id DESC LIMIT 1");
$result = mysql_query($query);
$row=mysql_fetch_array($result);
$zahl = $row['LAST_ID'];
echo "Die letzte ID ist: ".$zahl."
";


noch eine frage: was macht das ODER BY 'id' DESC LIMIT1 ?

was bewirkt das?

big thx an alle beteiligten

  Profil   Editieren   Zitieren
progrookie
Fachidiot




Beiträge: 127

1:
ODER BY 'id' DESC

"sortiere mir die Spalte id absteigend"
1:
LIMIT 1 

1 Treffer vom Gesamtbestand der Trefferliste darf angezeigt werden"

---

  Profil   E-Mail   Website   Editieren   Zitieren
Ehemaliges Mitglied (#378)
Quasselstrippe




Beiträge: 282

[könntest du mir nen tut dazu nennen oder mir kurz erklären, wie ich da vorgehen kann?

Guckst Du hier.

Viele Grüße
Mondschatten

  Profil   Editieren   Zitieren
damilchmann
Pixelschubser
Threadstarter




Beiträge: 17

herzlichen dank an alle

  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » letzte id herausfinden

Aktuelle Beiträge zur Hilfe im Forum für Homepage - letzte id herausfinden im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8126493    Heute : 411     Gestern : 463     Online : 204     21.11.2024    13:33      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Nach oben