Text-Zahl in Variable in Integer-Zahl in Variable umformen

  • Hallo Leutz!

    Wie kann man eine Zahl, die als String in einer Variable steht, so umformen, sodass man mit ihr auch rechnen kann? Also, auch

    $Zahl = "3";
    (Was soll hier hin?)
    $Zahl++;

    rechnen kann?

  • Hier ist der Code noch dazu:

    Code
    if ( $_POST['Pic'] == "Bild1" ) {
    		$sql = "SELECT votes FROM votebestpic WHERE Bild = '1'";
    		$Ergebnis = mysql_query() or die(mysql_error());
    		$sql = "DELETE * FROM votebestpic WHERE Bild = '1'";
    		mysql_query() or die(mysql_error());
    		$Ergebnis++;
    		$sql = "INSERT INTO votebestpic VALUES (
    			'1', 
    			'".$Ergebnis."')";
    		mysql_query() or die(mysql_error());
  • so macht dein code mehr sinn.

    und 2tens geht es ganz einfahc so, da muss amn eigentlich nichts umformen.

    man kann aber:

    $zahl=(float)trim($zahl); machen

    dabei ist aber drauf zu ahcten, das die kommastelle mit punkt ist. ( zur not noch:

    $zahl=str_replace(",", ".", $zahl);

    Code
    if ( $_POST['Pic'] == "Bild1" ) {
          $sql = "SELECT votes FROM votebestpic WHERE Bild = '1'";
          $Ergebnis = mysql_query($sql) or die(mysql_error());
          $sql = "DELETE * FROM votebestpic WHERE Bild = '1'";
          mysql_query($sql) or die(mysql_error());
          $Ergebnis++;
          $sql = "INSERT INTO votebestpic VALUES (
             '1',
             '".$Ergebnis."')";
          mysql_query$sql() or die(mysql_error$zahl());
  • Danke so weit!

    Aber ich hab schon gesehen, warum das nicht funzte!

    Dann hab ich jetzt aber noch eine Frage:
    Ich will, dass PHP einen Datensatz aus der DB nimmt und um 1 erhöht!

    Muss ich es so machen, wie ich es dort als code gezeigt habe oder gibt es da einen anderen befehl, sodass ich den Wert nicht erst auslesen muss, speicher, ganze Zeile in der Db löschen und dann die neue Zeile, mit dem Wert um 1 vermehrt, wieder reinstellen?

  • Ich vergesse immer den Code!

  • Wieso geht das nicht?

    Code
    $sql = "UPDATE votebestpic SET votes = votes +1";
    		mysql_query($sql) or die(mysql_error());

    Fehlermeldung:
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '+' at line 1