DB MAX-Wert ermitteln und um 1 erhöhen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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

  • #2
    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!

    Kommentar


    • #3
      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
      Schon mal eine Seite über Strassenmalerei besucht?
      Was ist, wenn es regnet? Strassenmaler-Forum
      Idarerrules

      Kommentar


      • #4
        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.

        Kommentar


        • #5
          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()); 

          Kommentar


          • #6
            lieber mt mysql_query arbeiten!

            Kommentar

            Lädt...
            X