PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

28-03-2005, 11:20
|
think_twice
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 3
|
|
DB MAX-Wert ermitteln und um 1 erhöhen
Einen schönen Montagmorgen,
ich habe folgendes Problem. Ich möchte aus einer Tabelle und Spalte den maximalen Wert herauslesen, anschließend um eins erhöhen und in die Datenbank schreiben. Der ausgelesene Wert soll nicht überschrieben werden.
Ich bekomme als Ausgabe immer:
Neue Seite Resource id #4 Fehler: mysql_error Resource id #4 5Seite erfolgreich angelegt!
Hier lasse ich mir einmal den übergebenen Wert ausgeben "Neue Seite" und die Variablen zu verchieden Zeiten. Resource id #4 ist das eine Fehlermeldung von MySQL? Wenn nicht bekomme ich egal bei wievielen Datensätzen immer die 4.
Mein Script:
<?
include 'db_verbindung.php';
if(!true == empty ($_GET['addseite']))
{
$seitennamen = $_GET['addseite'];
echo ("\n" .$seitennamen. "\n");
//Ermittlung des Maximalwertes in der Spalte
//menu_sortieren um einen neuen Eintrag eine hohe id zuzuweisen
$max_sql = "SELECT MAX(menu_sortieren)
FROM menu";
$sortieren_max = mysql_query($max_sql, $verbindung)
or die("Fehler bei Ermittlung des max Wertes von menu_sortieren");
$max_wert = 0;
echo ("\n" .$sortieren_max. 'Fehler: ' .mysql_error);
$max_wert = $sortieren_max;
echo ("<b>\n" .$max_wert. "</b>");
$max_wert += 1;
echo $max_wert;
//Schreiben in die Datenbank
$sql = "INSERT INTO menu (menu_id, menu_titel, menu_status, menu_sortieren)
VALUES ('','$seitennamen',1, '$max_wert')";
$eintrag = mysql_query($sql, $verbindung)
or die("Fehler beim Datenbankeintrag");
echo ("Seite erfolgreich angelegt!");
}
else
{
echo ("Hier fehlt ein Eintrag!");
}
Recht vielen Dank für Eure Hilfe.
Gruß think_twice
|

28-03-2005, 11:37
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Welcome,
glaube kaum, dass es wirklich das ist, was du willst.
Ich geb dir mal das Stichwort auto_increment.
Ansonsten such mal im Forum, Thema ist nicht das erste mal da.
Bitte auch die Forumregeln beachten!
|

28-03-2005, 11:55
|
idarrerules
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 2
|
|
hi,
hast du es mal mit 'ORDER BY wert' versucht
$sql = "SELECT wert FROM 'db' ORDER BY wert DESC";
der erste wert im array ist dann der höchste.
ciao
|

28-03-2005, 11:58
|
think_twice
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 3
|
|
Ok sorry, ich meine aber nicht auto_increment. Der Index läuft schon unter auto_increment und eine 2. Spalte mit auto_increment zu versehen ist meiner meinung nach nicht möglich. Ich benötige diese Spalte um später Menüeinträge nach Ziffern zu sortieren.
|

28-03-2005, 13:25
|
Milian
Junior Member
|
|
Registriert seit: Sep 2004
Beiträge: 152
|
|
mysql_query($max_sql, $verbindung)
muss mysql_db_query sein
$sortieren_max wird immer eine Resource ID bleiben, weil du lediglich die DB queriest, versuch das mal:
PHP-Code:
$query = mysql_db_query($max_sql, $verbindung);
list($sortieren_max) = mysql_fetch_assoc($query) or die(mysql_error());
|

28-03-2005, 14:35
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
lieber mt mysql_query arbeiten!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|