46356
Goto Top

ID will sich nicht erhöhen lassen wollen!

Hallo!

Ich sitz hier schon eine Stunde und löse das Problem einfach nicht!
Wer kann mir hier weiterhelfen?

Die ID wird nicht erhöht!
Es wird immer nur eine 0 ausgegeben und eine 0 in die DB geschrieben!

 $abfrage = "SELECT ID FROM GENERALLY LIMIT 1";  
 $ergebnis = mysql_query($abfrage);
 while($row = mysql_fetch_object($ergebnis))   
    {
    $ID = "$row->ID";  
    echo $ID;
    $new_id = $ID++;
    echo $new_id;
 
    $eintrag = "INSERT INTO GENERALLY (ID) VALUES   
    ('$new_id');";  
    $eintragen = mysql_query($eintrag); 
      }

Dieses Script soll die aktuellste ID von der DB ausgeben und anschließend um 1 erhöhen

Vielen Dank für Eure Mithilfe,
Alexander

Edit:

$ID = "$row->ID";
funktioniert sowohl mit Anführungszeichen als auch ohne " nicht!

Content-Key: 76847

Url: https://administrator.de/contentid/76847

Printed on: April 25, 2024 at 07:04 o'clock

Member: Dani
Dani Dec 29, 2007 at 23:53:20 (UTC)
Goto Top
Abend Alex,
äh...du wirst doch nicht im ERnst eine Tabelle haben mit einem Spalte (ID) oder? Sowas macht nämlich keinen Sinn! Des Weitern was möchtest du eigentlich damit erreichen? Denn es gibt eigentlich eine Autoinkrementfunktion die dir sowas abnimmt.
Schilder einfach mal, was du machen willst?


Grüße
Dani
Mitglied: 42503
42503 Dec 30, 2007 at 08:53:45 (UTC)
Goto Top
Guten Morgen,

natürlich stimmt das was Dani sagt. Aber wenn du so willst....

$sql = "SELECT ID FROM tabelle ORDER BY id ASC";
$query = mysql_query($sql);
while($row = mysql_fetch_array($query)){
$AktuelleId = $row["id"];
}
$AktuelleId++;
// Hier der Eintrag....

Wenn du es "professionel" machen möchtest setze den Typ von ID wie Dani schon sagt auf Autoinkrement. Danach passiert das erhöhen der ID automatisch.

Beispiel:

Letzer Eintrag in Tabelle:
id name strasse
1 max musterstraße

Nun möchtest du Anette Mustermann noch hinzufügen. Die Query lautet so:

INSERT INTO tabelle (name, strasse) VALUES ('anette','bahnhofstrasse');

Nun sieht die Tabelle (auch wenn keine ID eingiebst face-wink) so aus:
id name strasse
1 max musterstraße
2 anette bahnhofstrasse

Viele Grüße

Gespenst
Mitglied: 46356
46356 Dec 30, 2007 at 09:52:30 (UTC)
Goto Top
Hallo!

Habs mit autoinkrement versucht, hat aber leider nicht geklappt...
In phpmyadmin habe ich die Spalte ID ausgewählt und anschließend
als Extra Autoinkrement hinzugefügt...

4f92f8c3d25c11955b4e50cd580e8eb3-autoinkrement

Leider bekam ich folgende Fehlermeldung:

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key


Wer kann mir da weiterhelfen?


Lg. Alex
Mitglied: 42503
42503 Dec 30, 2007 at 10:36:29 (UTC)
Goto Top
Hallo,

hier ein Beispiel Abfrage:

CREATE TABLE IF NOT EXISTS `tabelle` (
`id` int(11) NOT NULL auto_increment,
`name` text collate latin1_german1_ci NOT NULL,
`strasse` text collate latin1_german1_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1;


Viele Grüße
Philipp
Member: masterG
masterG Dec 30, 2007 at 10:38:13 (UTC)
Goto Top
Hast du die Attribute auf UNSIGNED gegeben und ist ID primärschlüssel?!?

masterG
Mitglied: 46356
46356 Dec 30, 2007 at 11:01:47 (UTC)
Goto Top
Hallo!

Hab nun die ID Spalte gelöscht und durch eine neue ausgetauscht ;)

Dort konnte ich alle Einstellungen problemlos vornehmen!

Danke nochmals für den Tip!

Lg. Alex
Member: masterG
masterG Dec 30, 2007 at 11:09:51 (UTC)
Goto Top
Dann Thread gelöst und geschlossen!

masterG(Moderator)