PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   DB MAX-Wert ermitteln und um 1 erhöhen (https://www.php-resource.de/forum/php-developer-forum/52418-db-max-wert-ermitteln-und-um-1-erhoehen.html)

think_twice 28-03-2005 11:20

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

TobiaZ 28-03-2005 11:37

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! :teach:

idarrerules 28-03-2005 11:55

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

think_twice 28-03-2005 11:58

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.

Milian 28-03-2005 13:25

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()); 


TobiaZ 28-03-2005 14:35

lieber mt mysql_query arbeiten!


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:28 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG