zusätzlicher Zähler
Tina
- php
Hallo
wollte euch folgendes Fragen ich benötige einen zusätzlichen Zähler in meiner DB. Wie stell ich das ein das er die Zahl pro eintrag um 1 erhöht. Ich weiß ich könnte das auch mit auto_increment machen. Dieser ist allerdings bereits vergeben.
Die Zeile soll ProID heißen
Aussehen sollte das ganze so:
ID ProID Eintrag
1 1 Test
Vielen Dank
Tina
hallo,
wollte euch folgendes Fragen ich benötige einen zusätzlichen Zähler in meiner DB. Wie stell ich das ein das er die Zahl pro eintrag um 1 erhöht. Ich weiß ich könnte das auch mit auto_increment machen. Dieser ist allerdings bereits vergeben.
Die Zeile soll ProID heißen
Aussehen sollte das ganze so:
mach doch nach dem einfach ein update mit der letzten id
was willst du denn damit anstellen?
Das ganze soll als Positions ID diehnen.
Geht es nicht irgendwie über eine ZählerVariable das sich der Wert pro EIntrag erhöt wenn ja wie :O)???
Gruss
Tina
das hattest du gestern schon gefragt !
hatte das nicht geklappt.
glaub mir ich habe das schon gemacht.
was du brauchst ist:
1. eine spalte ID mit autoincement und primary key
2. eine spalte sort
wenn du ein INSERT machst musst du direkt danach eine UPDATE von deiner tabelle machen:
//ORDER
$last_insert_id=mysql_insert_id();
//UPDATE ORDER
$q="UPDATE table
SET sort
='$last_insert_id' WHERE id
='$last_insert_id' ";
mysql_query($q);
jetzt hast du einen eintrag mit ZB einer id = 5 und dein sort ist auch = 5
damit ist gewährleistet das der wert für sort nur einmal vorkommt.
später wenn du deine ordungungs funktion machst tauscht du einfach die beiden benötigten sort werte aus.
das sind später 2 UPDATES
Ja doch der Vorschlag ist super aber es muss doch ne einfache Möglichkeit geben ($i++) das ne Variable hochzählt und die passende Zahl in die Datenbank eingetragen wird.
Oder?
Tina
Ja doch der Vorschlag ist super aber es muss doch ne einfache Möglichkeit geben ($i++) das ne Variable hochzählt und die passende Zahl in die Datenbank eingetragen wird.
Oder?
Nein , das ist halt so , und schwer kompliziert ist das doch nicht.
scheib dir doch einfach ne funktion die das für dich erledigt
function sort($table)
{
$last_insert_id=mysql_insert_id();
$q="UPDATE $table
SET sort
='$last_insert_id' WHERE id
='$last_insert_id' ";
mysql_query($q);
}
dann brauchst du nur noch das nach deinem insert
sort("tabelle");
Hi,
Oder?
du könntest natürlich, wenn ein eintrag gelöscht wird was dich ja scheinabr davon abhält diese einfache lösung zu wählen nach dem löschen des eintrages sowas hier machen:
$sql = "SELECT id FROM tabelle ORDER BY sort";
$erg = mysql_query($sql);
$zaehler = 1;
while($datensatz = mysql_fetch_array($erg))
{
$datensatz_id = $datensatz['id'];
$sql = "UPDATE tabelle SET sort='$zaehler' WHERE id='$datensatz_id'";
mysql_query($sql);
$zaehler++;
}
kann natürlich auch nach dem hinzufügen eines neuen Datensatzes durchgeführt werden. sonst dürfte alles klar sein. evt. zum schluss noch ein:
$sql = "ALTER TABLE tabelle AUTO_INCREMENT=0";
mysql_query($sql);
dadurch wird der autoincrement wert runtergesetzt, wodurch eine halbwegs fortlaufende nummer gewährleistet werden kann. ist aber nicht empfehlenswert.
hi,
wollte euch folgendes Fragen ich benötige einen zusätzlichen Zähler in meiner DB. Wie stell ich das ein das er die Zahl pro eintrag um 1 erhöht.
das ist doch thematisch wohl immer noch das gleiche problem wie in https://forum.selfhtml.org/?t=111665&m=703725?
also bleibe bitte in deinem thread, und vermeide doppelpostings.
</faq/#Q-11>
gruß,
wahsaga