user_id ausgeben

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
deathcakeman
Mitglied
Beiträge: 52
Registriert: 22.06.2006 16:10

user_id ausgeben

Beitrag von deathcakeman »

Hallo.
und zwar. Ich habe eine Benutzerschnittstelle.
Jetzt will ich eine Userliste machen.
Dazu muss ich die letzte user_id aus der DB auslesen.
-->wie funktioniert das?
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Ermitteln des letzten ( newest ) User:

Code: Alles auswählen

			$sql = "SELECT user_id, username

				FROM " . USERS_TABLE . "

				WHERE user_id <> " . ANONYMOUS . "

				ORDER BY user_id DESC

				LIMIT 1";
deathcakeman
Mitglied
Beiträge: 52
Registriert: 22.06.2006 16:10

Beitrag von deathcakeman »

hä?
ich hab das irgendwie nicht gerafft.
was macht das anonymus?

ps.
dieser code ist NICHT für phpbb.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Es gibt bei Datenbanken keinen "letzten" Datensatz. Wenn du "den gerade eingefügten Datensatz" meinst, dann suchst du [php:mysql_insert_id], wenn du "den höchsten Wert der Spalte user_id aus allen Datensätzen" meinst, dann suchst du die SQL Funktion max().
KB:knigge
deathcakeman
Mitglied
Beiträge: 52
Registriert: 22.06.2006 16:10

Beitrag von deathcakeman »

so ich hab nochmal bissle im netz geschaut und das hier zusammen bekommen^^

Code: Alles auswählen

$abfrage = mysql_query("SELECT MAX(user_id) FROM login");
$aa=mysql_fetch_row($abfrage);
echo $aa;
jetzt gibt der mir aber nur "Array" zurück...was hab ich falsch gemacht?
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Hi, ich noch mal....

Zu dem Code den ich oben bereits gepostet habe.

Hier die Erklärung:

Die "höchste" User ID ist gleichzeitig der neueste User.

Einfachster Weg diese ID zu ermitteln ist ein Select auf alle User in Absteigender Reihenfolge.
Da die erste gelieferte ID bereits unsere gesuchte ID ist ( die höchste ID ) setzen wir ein Limit von 1.

Der Anonymous muss nicht unbeding da rein... ist nur eine Angewohnheit ;-)
deathcakeman
Mitglied
Beiträge: 52
Registriert: 22.06.2006 16:10

Beitrag von deathcakeman »

hä?
sry aber kannst du es nochma für "dumme"^^ machen?

was is an meinem codeschnippsel eigetnlich so falsch?
geht das in "der art und weise" nicht?
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

deathcakeman hat geschrieben:so ich hab nochmal bissle im netz geschaut und das hier zusammen bekommen^^

Code: Alles auswählen

$abfrage = mysql_query("SELECT MAX(user_id) FROM login");
$aa=mysql_fetch_row($abfrage);
echo $aa;
jetzt gibt der mir aber nur "Array" zurück...was hab ich falsch gemacht?
probier mal print_r($aa); dann siehst du, was du machen musst ;)
[php:mysql_fetch_row]
deathcakeman
Mitglied
Beiträge: 52
Registriert: 22.06.2006 16:10

Beitrag von deathcakeman »

Array ( [MAX(user_id)] => 3 )

bekomme ich zurück...yes..danke man.....

und die "3" ist jetzt in der var $aa drinne?

asso ich muss da jetzt nix mit machen, sondern kann das einfach in den code einbauen?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

In der SQL Abfrage können ja normalerweise mehrere Spalten abgefragt werden, dementsprechend wird das Ergebnis als Array zurückgeliefert.
Du musst also auf das passende Feld des Arrays zugreifen und bekommst deine ID:

Code: Alles auswählen

$abfrage = mysql_query("SELECT MAX(user_id) AS uid FROM login");
$array = mysql_fetch_row($abfrage);
$aa = $array['uid'];
echo $aa;
Oder Zugriff über $aa['MAX(user_id)'] vermutlich...
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“