Moin Joan,
alos das Problem mit dem Löschen hab ich jetzt im Griff.
Wie schön :-))
Aber leider ist mein Problem noch nicht 100% behoben.
Wie schade ;-((
Denn bei der Ausgabe wird mir ja die Zahl ausgegeben, die gleich der Anzahl der Datensätze ist.
Also, die Anzahl der Datensätze wird dir doch nur ausgegeben, wenn du explizit danach fragst. Tust du das? So nach dem Prinzip:
$result = mysql_query("SELECT * FROM tabelle);
$num_rows = mysql_num_rows($result);
Prinzipiell hat die Anzahl der Datensätze mit der ID des letzten Datensatzes nichts zu tun.
Ich brauche aber den Wert der in dem Feld bei dem Datensatz steht.
Also muss ich noch das Feld auslesen, oder?
Sind wir jetzt beim Einfügen oder beim Auslesen?
Möchtest du in dem Moment, wo ein neuer Datensatz eingefügt wird, wissen, welche ID dieser neue Datensatz erhalten hat?
In diesem Falle heißt dein Freund mysql_insert_id();
Zur Info:
Ich speicher die Datensätze, die Id die dabei vergeben wird, wird später für andere Funktionen (z.B.: Suche) benötigt. Also muss ich ja den Wert im Feld haben und nicht den Wert der entsteht, wenn ich die Datensätze zähle.
Hm, mit anderen Worten, dir ist unklar, wie du an die Werte der einzelnen Felder rankommst, nachdem du die Datensätze ausgelesen hast? Das geht wunderbar mit mysql_fetch_assoc(); Dadurch erhältst du pro Datensatz ein assoziatives Array mit dem Feldnamen als key und dem entsprechenden Wert als value. Diese assoziativen Arrays speicherst du in einem numerischen Array.
Hier ein Beispiel, dass davon ausgeht, dass wir eine Tabelle namens "leute" mit den Feldern id, nachname und vorname haben und 3 Datensätze enthält.
id | nachname | vorname |
---|---|---|
1 | Daumeier | Fred |
--------------- | --------- | |
3 | Amsel | Wilma |
---- | ---------- | --------- |
4 | Grube | Claire |
------------------------- |
$result = mysql_query("SELECT * FROM leute ORDER BY nachname,vorname");
while ($row = mysql_fetch_assoc($result) {
$arLeute[] = $row;
}
Im Ergebnis hast du nun ein zweidimensionales Array namens $arLeute, das folgendermaßen strukturiert ist:
Array
(
[0] => Array
(
[id] => 3
[nachname] => Amsel
[vorname] => Wilma
)
[1] => Array
(
[id] => 1
[nachname] => Daumeier
[vorname] => Fred
)
[2] => Array
(
[id] => 4
[nachname] => Grube
[vorname] => Claire
)
)
Durch dieses Array kannst du mit einer for-Schleife durchbrowsen, z.B. so:
for($i = 0; $i < count($arLeute); $i++) {
echo $arLeute[$i]["id"] ." : " .$arLeute[$i]["nachname"] ." : " .$arLeute[$i]["vorname"] ."<br />";
}
Mit count($arLeute) kommst du an die Anzahl deiner Zeilen.
Ich hoffe, ich konnte das ganze so kurz und präzise wie möglich beschreiben.
Leider nicht wirklich. Ich habe dein Problem nicht erfassen können :-((
gruß, uschi