Größten Wert ausgeben

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

  • Größten Wert ausgeben

    Hallo,

    ich habe eine Tabelle namens "spiel"
    Dort befindet sich eine Spalte "id"
    Ich möchte nun den größten Wert der Spalte "id" in einer Variablen speichern und um 1 erhöhen.

    Mein bisheriger Ansatz der nicht funktioniert:
    PHP-Code:
    //Letzte Spielfeld ID wird ausgelesen und um eins erhöht      
    $anfrage="SELECT id FROM spiel ORDER BY id DESC LIMIT 1";      
    //$anfrage="SELECT MAX(id) FROM spiel LIMIT 1";      
    $letzte_id=mysql_query($anfrage);      
    $neue_id=$letzte_id+1
    Wie man sieht habe ich es zum einen mit ORDER BY ... DESC LIMIT 1 und einmal mit MAX(...) versucht.
    Beides funktioniert aber nicht
    Zuletzt geändert von Lofesto; 28.03.2006, 16:06.

  • #2
    Wo ist dein UPDATE?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Achso das kommt später in einer for Schleife:

      PHP-Code:
      //Alle Felder werden in die Datenbank eingetragen.      
      for($i=1$i<=$anzahl_felder$i++){          
         
      $anfrage="INSERT INTO spiel VALUES ('";          
         
      $anfrage.=$neue_id;          
         
      $anfrage.="','1','";          
         
      $anfrage.=$i;          
         
      $anfrage.="','1','0')";                        
         
      mysql_query($anfrage)              
              or die(
      "Fehler bei der Datenbankabfrage");      

      Kommentar


      • #4
        Re: Größten Wert auslesen

        Original geschrieben von Lofesto
        Beides funktioniert aber nicht
        "funktioniert nicht" ist immer noch keine Fehlerbeschreibung ...!
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Re: Re: Größten Wert auslesen

          Original geschrieben von wahsaga
          "funktioniert nicht" ist immer noch keine Fehlerbeschreibung ...!
          Also die for Schleife dient dazu, Spielfelder in die Datenbank einzutragen.
          Gibt der Benutzer zB 2X2 ein, so ist $anzahl_felder = 4
          So werden 4 Felder mit eigener "feldnr" eingetragen.
          Alle Felder sollen nun zu einem Spielfeld gehören.
          Deshalb die Spalte "id"
          In diesem Fall id=1 (weil erstes Spielfeld)

          Trägt der Benutzer nun noch ein Feld ein zb 3X3, so werden 9 Spielfelder eingetragen mit den feldnr 1-9 und jedes Feld soll die id=2 haben(weil zweites Spielfeld)

          Egal wie groß ich nun das Spielfeld anlege, es wird immer in dem Bereich "id" eine 4 eingetragen.
          Auch wenn ich ein zweites Spielfeld eintrage, es wird wieder die 4 eingetragen.

          Das ist mein "funktioniert nicht"

          Kommentar


          • #6
            Re: Re: Re: Größten Wert auslesen

            Kontrollausgaben deiner Update-Query?


            Btw: Klingt, als möchtest du eigentlich Spiel und Spielfelder auf zwei Tabellen verteilen (Stichwort Normalisierung), in Spiel für die ID autoincrement verwenden, und dir nach dem Anlegen eines neuen Spiels in der Spiel-Tabelle dir diese mit LAST_INSERT_ID() o.ä. besorgen, um sie dann beim Anlegen der Spielfelder weiterzuverwenden ...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              PHP-Code:
              $letzte_id=mysql_query($anfrage);      
              $neue_id=$letzte_id+1
              Du weißt schon, dass $letzte_id jetzt eine ResourceID auf das Ergebniss deiner mysql_query enthält und du den Datensatz erst mit mysql_fetch_array oder mysql_fetch_object holen musst?
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                Original geschrieben von Quetschi
                PHP-Code:
                $letzte_id=mysql_query($anfrage);      
                $neue_id=$letzte_id+1
                Du weißt schon, dass $letzte_id jetzt eine ResourceID auf das Ergebniss deiner mysql_query enthält und du den Datensatz erst mit mysql_fetch_array oder mysql_fetch_object holen musst?
                hm das kann sein ich habe mal ein echo gemacht und da kommt immer Resource id#3 raus.
                Und wie mache ich das nun einfach:

                PHP-Code:
                $anfrage="SELECT MAX(id) FROM spiel";      
                $ergebnis=mysql_fetch_array($anfrage);      
                $letzte_id=$ergebnis[0];      
                $neue_id=$letzte_id+1

                Kommentar


                • #9
                  Schon ausprobiert?

                  Hast dir auch schon mal das zu Gemüte geführt, was wahsaga in seinem 'btw' geschrieben hat?
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    Original geschrieben von Quetschi
                    Schon ausprobiert?

                    Hast dir auch schon mal das zu Gemüte geführt, was wahsaga in seinem 'btw' geschrieben hat?
                    Ja hab ich

                    Es geht nun auch

                    Habe nun das gemacht was wahsaga gesagt hat.

                    MfG und Danke für eure Hilfe

                    Kommentar

                    Lädt...
                    X