Mit Wert aus DB rechnen

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

  • Mit Wert aus DB rechnen

    Hallo Leute.
    Bin ein absoluter Anfänger in Sachen PHP und MySQL, daher ist der Code auch nicht ganz sauber geschrieben.


    Ich habe ein Tabelle mit Benutzern (als ID hinterlegt) und deren Punktzahl. Beide Felder besitzen den Datentyp „int“.

    ID | Punkte
    1 | 22
    2 | 28
    13| 23

    Ich möchte jetzt über die Eingabe eines Formulars den Punktestand verändern aber nur wenn die neue Punktezahl des ausgewählten Benutzers höher ist als der schon vorhandene Wert. Dazu wähle ich in einem Pulldown-Menü die ID aus und gebe in ein Feld die Punkteanzahl ein.

    Beispiel:

    Der Benutzer „1“ hat laut Tabelle 22 Punkte. Nun hat er aber 30 Punkte erreicht. Also wähle ich im Pulldown-Menü den Benutzer „1“ aus und tippe ins Formular den Wert „30“. Anschließend klicke ich auf Eintragen.

    Ich hab folgendes Problem:
    Leider rechnet PHP nicht mit dem Wert aus der Tabelle(also dem alten Wert), sprich ich kann ihn auch nicht vergleichen lassen, ob dieser höher ist oder nicht.

    Hier mein Code. Allerdings erstmal nur darauf bedacht ob er richtig rechnet. Also er macht kein DB update, sondern gibt mir lediglich als Text aus ob der Wert größer oder kleiner ist (damit ich sehe ob er funktiniert).

    PHP-Code:
    <?php
    if (!empty($_POST["submit"])) {
    include(
    "zugriff.inc.php");

    $sql "SELECT Punkte FROM R_Pokal WHERE id=$_POST[auswahl]";
    $result mysql_query($sql);
    $alt mysql_fetch_assoc($result);
    $neu "$_POST[Punkte]";

    // Ausgabe der Werte
    echo "Alter Wert = $alt[Punkte]<br>";
    echo 
    "Neuer Wert = $neu<br><br>";


    // Bedingung
    if ($neu $alt) {
     echo 
    "<p>Der Wert ist größer!</p>";
     }
     else {
     echo 
    "<p>Der Wert ist kleiner!</p>";
     }


    mysql_close();
    }
    ?>

  • #2
    Re: Mit Wert aus DB rechnen

    $alt ist ein Array, deswegen klappt dein Vergleich if ($neu > $alt) nicht.

    Hast aber noch einige weitere "Fehler" im Code. Vergleich deinen mal hiermit:
    PHP-Code:
    <?php
    if (!empty($_POST['auswahl']) && !empty($_POST['Punkte'])) {
        include 
    'zugriff.inc.php';

        
    $sql 'SELECT Punkte FROM R_Pokal WHERE id=' intval($_POST['auswahl']);
        
    $result mysql_query($sql) or die(mysql_error());
        
    $alt mysql_fetch_assoc($result);
        
    $alt $alt['Punkte'];  // <- aus Array wird skalare Variable
        
    $neu $_POST['Punkte'];

        
    // Ausgabe der Werte
        
    echo 'Alter Wert = ' $alt '<br>';
        echo 
    'Neuer Wert = ' $neu '<br><br>';

        
    // Bedingung
        
    if ($neu $alt) {
            echo 
    '<p>Der Wert ist größer!</p>';
        }
        else {
            echo 
    '<p>Der Wert ist kleiner!</p>';
        }

        
    mysql_close();
    }
    ?>

    Kommentar


    • #3
      Danke. Es funktioniert. Habe bald schon keinen Rat mehr gehabt.
      Wie oben schon erwähnt bin ich Anfänger mit PHP und MySQL. Ich will auch nicht viel damit machen, außer halt diese Datenbank anlegen und führen. Hab mir als Hilfe das Buch "PHP und MySQL für Kids" besorgt. Da ist das alles schön erklärt.

      Kommentar

      Lädt...
      X