PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 1, 2, 3, wie könnte ich ....



robiotor
22-04-2004, 18:03
ich möchte folgendes machen.

ein namens eintrag in der datenbank schaut so aus. name.
der user kann weiterer namen anlegen, diese werden im mom so angelegt mit rand also name und dann das rand. irgend wie gefällt mir das nicht so ganz gut, da die namen unübersichtlich sind.

wie könnte ich das hier realisieren name1, name2, name3, name4, naja ok das ist eigentlich easy das problem ist mehr wenn der user jetzt name3 löschen tut und später noch ein name anlegen tut. das muss dann name3 wieder heisen und wenn er dann noch eins anlegt muss es dann name5 heisen.

ich dachte mir das ich das so realisiere weis aber ned ob es eine saubere lösung ist.

wenn ein name angelegt wird dann wird mit count hochgezählt und jedes mal überprüft ob der eintrag schon existiert. wenn er nicht existiert dann wird name.zahl geschrieben. was sagt ihr dazu ?

Gaert
22-04-2004, 20:59
Ehrlich gesagt habe ich Probleme dir zu folgen...

Ist es wichtig, dass die Numerierung der Namen lückenlos ist?
Verwendest du den Namen als Schlüsselfeld?
Besteht deine Tabelle nur aus einem Feld?

robiotor
22-04-2004, 21:35
die tabelle schaut so aus

id, userid, user, nummer

1, 5, user, 1
2, 5, user, 2
21, 5, user, 3
22, 5, user, 6
34, 5, user, 7

hier hat der user mit der userid 5 zwei einträge gelöscht den eintrag mit der nummer 4 und 5.

was ich möchte ist das wenn der user einen neun eintrag macht das erst die nummer verwendet werden die fehlen. sprich user macht jetz ein eintrag dann wird das nummer 4 sein. macht er dann noch ein eintrag dann ist das die nummer 5 macht er dann noch ein dritter eintrag dann ist das die nummer 8


die tabelle wird dann so ausschauen


id, userid, user, nummer

1, 5, user, 1
2, 5, user, 2
21, 5, user, 3
22, 5, user, 6
34, 5, user, 7
35,5, user, 4
36, 5, user, 5
35, 5, user, 8

sixfriends
23-04-2004, 00:52
Wenn es wirklich lückenlos sein soll, dann muss das schon beim löschen passieren, ansonsten wäre es doch wohl egal, wenn da Lücken entstehen.

Wenn die Reihenfolge der Einträge egal ist, kannst du auch versuchen beim Löschen dem letzten Eintrag die Nummer des gelöschten zu geben, dann is es auch ohne Lücken.

robiotor
23-04-2004, 04:57
nein nein vorhandene einträge sollen nicht updatet werden. ledeglich gelöschte namen mit einer nummer sollen späther wiedr als nächstes genommen werden.

elrond
23-04-2004, 06:43
erweitere die tabelle um einen status, den du ggf. auf 'gelöscht' setzt. damit kannst du diese Datensätze wiederverwenden...

robiotor
23-04-2004, 16:51
so nun habeich was hingekritzelt aber irgend wo ist der hund begraben und ich kapiere selber nichts mehr.



$nummer = 1;
while($row3 = mysql_fetch_assoc($ergebnis3)){
if($nummer == $row3['nummer']){
while($nummer <= $row3['nummer']){
++$nummer;
if($nummer != $row3['nummer']){
#echo $nummer;
#break;
$eintrag = "INSERT INTO users (kundennr, kundenid, user, komentar, nummer) VALUES ('1', '1', 'user', 'kein', '$nummer')";
$insert = mysql_query($eintrag) or die (mysql_error());
}
}
}
}


wo soll da der fehler sein

robiotor
23-04-2004, 20:23
gibts keinen der das ned korigieren kann ?