Hatten wir das nicht gerade - dass *nicht* der Wert 3 hinein soll, sondern der derzeit höchste Wert (4) plus 1, also 5?
Sorry, hab mich da vertan. Es sollte natürlich die 5 sein.
+--------+------------+--------------+-----------+
| id | gruppe | benutzer | order |
++++++++++++++++++++++++++++++++++++++++++++++++++
| 1 | 2 | 5435 | 1 |
+--------+------------+--------------+-----------+
| 2 | 2 | 412 | 2 |
+--------+------------+--------------+-----------+
| 4 | 2 | 1546 | 4 |
+--------+------------+--------------+-----------+
| 5 | 5 | 51 | 1 |
+--------+------------+--------------+-----------+
| 6 | 5 | 14 | 2 |
+--------+------------+--------------+-----------+
| 7 | 5 | 125 | 3 |
+--------+------------+--------------+-----------+
| 8 | 5 | 3 | 4 |
+--------+------------+--------------+-----------+
| 9 | 2 | 3333 | 5 | <- Der neue Eintrag
+--------+------------+--------------+-----------+
Du ermittelst den derzeit höchsten Wert, udn verwendest für den neuen Eintrag einen um eins erhöhten Wert.
(Dabei beachten, Ermittlung und Einlegen des neuen Eintrages so zu kapseln, dass nicht vor dem Eintrag durch einen anderen Prozess der ermittelte Wert schon nicht mehr der höhste ist.)
Die ganze Sache bringt mich irgendwie total durcheinander.
Hättest du hierfür vielleicht ein kleines Beispiel für mich? Würde mir echt helfen.
$sql="SELECT
*
FROM
gruppen_benutzer
WHERE
gruppe = 2"
$mitglieder_order = array();
$result = mysql_query($sql) OR die(mysql_error());
while($entry = mysql_fetch_assoc($result)) {
array_push($mitglieder_order,$entry['order']);
}
Das würde bei mir folgendes ausgeben:
array(3) {
[0]=>
int(1) "1"
[1]=>
int(1) "2"
[2]=>
int(1) "4"
[n] =>
int (1) "x"
}
....mir fehlt da jetzt wohl eine Funktion, mit der ich den höchsten Wert ermitteln kann. Was kann ich da nehmen ?