# Datensatznummer ermitteln ?



## molotroc (2. Juni 2004)

Hallo,
iwie kann man die Datensatznummer ermitteln ? Beispiel: Ich habe die ID 3 und ich möchte wissen welcher Datensatz der ID 3 zugeordnet ist. Brauche das für die Abfrgae: mysql_result($result,$ds,"id"). $ds ist dann wiegesagt die Datensatznummer.

Eine Antwort wäre nett.

Gruss
molotroc


----------



## jenno (3. Juni 2004)

Guten Morgen,
also, ich weiss ja nicht, wie es den anderen geht....aber ich verstehe jedenfalls nicht wirklich was Du meinst.  Kannst Du vielleicht das Problem etwas genauer umschreiben?


----------



## molotroc (3. Juni 2004)

Alles klar, 
probiere es:
Mit mysql_result($result,$ds,"id") lese ich ja das Feld ID im Datensatz $ds aus. $ds beginnt ja bei 0 und geht bis ... (kommt ja drauf an wieviele Datensätze man hat). Durch Löschen ist mir der Datensatz mit der ID 1 abhanden gekommen. Ist ja nicht schlimm, so trage ich den nächsten Datensatz mit der ID 1 wieder ein. Jeodch wird dieser a hinten dran gehangen und hat somit eine andere Datensatznummer (kann z.b. 16 sein). Jetzt möchte ich aber den Datensatz auslesen, der die ID 1 hat. Somit muss ich wissen wie die Datensatznummer ($ds) lautet. Wie also kann ich die Datensatznummer ermittlen ? Möchte also wissen, welche Datensatznummer der Datensatz mit der ID 1 hat. 

Hoffe das war nun verständlicher.

Gruss
molotroc


----------



## jenno (3. Juni 2004)

Ich finds immer noch ein bisschen wirrwarr.  Aber egal.  Ich mach das immer so:

Das Tabellenfeld ID ist bei mir immer AUTO_INCREMENT und ob die IDs nun durchlaufend sind oder nicht, ist eigentlich egal.  Klar, wenn der Datensatz mit id=1 gelöscht wird, dann iss der weg.  Werden neue Datensätze hinzugefügt, kriegen sie immer wieder ne neue ID.  Das ist ja eigentlich auch kein Problem weiter, oder?

Um jetzt die Datenbank abzufragen, mach doch einfach:


```
$sql = "SELECT * FROM tabellenname WHERE bedingenungen";
$result = mysql_query($sql);

while($data = mysql_fetch_assoc($result)) {
     //hier hast Du nun Zugriff auf die Daten per $data['tabellenname']
}
```

Wenn Du einen Datensatz mit einer bestimmten Id abfragen willst, dann könnte Deine Abfrage so aussehen:


```
SELECT * FROM tabellenname WHERE id=1;
```

An welcher Stelle dieser Datensatz in der Tabelle steht, ist nicht so leicht zu sagen...kommt ja drauf an, wie sortiert wird.  Und wenn Du unbedingt ne Position haben willst, dann benutze doch einen Zähler bei der Ausgabe oder so.

Hmmm, bin ich irgendwie in die Nähe Deines Problems gekommen?  Ansonsten, erzähl doch mal, wofür Du das brauchst, was Du genau damit machen willst....


----------



## molotroc (3. Juni 2004)

Es fuktioniert wie du gesagt hast, weiss agr nicht, wieso ich das so umständlich gemacht habe ! Jetzt ist es ja auch egal, welche Ids vergeben werden - meine dass es nun egal ist wenn ein Datensatz gelöscht wird. Saubere Sache - Danke !


----------



## jenno (3. Juni 2004)

Gern geschehen


----------

