Time

Stimmt, so geht es auch :). Manche Leute denken einfach viel zu kompliziert ;)

Kleine Frage. Wenn man zu einem Feld etwas dazu addieren will, muss dann dieses Feld vom Typ INT (oder einem anderen Zahlentyp) sein, oder geht soetwas auch bei Varchar, usw?
 
Selbstverständlich können nur Zahlenwerte addiert werden.

Dass bei PHP dies auch mit Zeichenketten möglich ist (etwa „'1'+'2'“), liegt an PHPs automatischem Type-Casting. So werden Zeichenketten bei arithmetischen Operationen oder Zahlwert-Vergleichen zuerst ebenfalls in Zahlwerte umgeformt. Aus einem „'1'+'2'“ wird also ein „3“.
Ein „'foobar' + 2“ ergibt jedoch nur „2“, weil „foobar“ nicht in einen ähnlichen Zahlwert konvertiert werden kann und deshalb einfach null behandelt wird. Der Ausdruck „'foobar' == 0“ ist somit wahr.
 
Danke nochmal,

aber ich hätte da noch eine Frage, wie könnte ich machen, dass das ganze für jeden user einzel erkennung gäbe?
Also wenn jetzt einer in der spalte "xp" 2 steht, dass das Einkommen höher ist als wenn dieser Wert 1 ist.
 
Verbinde die Aktualisierung einfach mit einer bestimmten Bedingung, etwa:
Code:
UPDATE
        `user`
  SET
        `money` = `money` + 3500
  WHERE
        `xp` = n
 
Danke damit wäre mir schon wieder mal sehr geholfen. Aber wenn ich jetzt gerne hätte, wenn der Wert für xp gleich 2 wäre das money um 1000 erhöht wird anstatt wenn xp gleich 1 ist das money um 500 erhöht werden würde.

Ich habe das vorerst so gelöst obwohl diese Option auch nicht wirklich funktioniert:

PHP:
<? include "_mysql.php";
$abfrage = "SELECT * FROM `user`";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
$xp = "$row->xp";
if($xp <= 500){
   $aendern = "UPDATE
        `user`
  SET
        `money` = `money` + 500"; 
   $update = mysql_query($aendern) or die(mysql_error());
} elseif($xp <= 1500) {

   $aendern = "UPDATE
        `user`
  SET
        `money` = `money` + 1000"; 
   $update = mysql_query($aendern) or die(mysql_error());
} elseif($xp >= 1500) {

   $aendern = "UPDATE
        `user`
  SET
        `money` = `money` + 1500";    $update = mysql_query($aendern) or die(mysql_error());}
 ?>
 
Sorry für doppel Post aber ich möchte doch recht schnell bitte eine Antwort da es sehr wichtig ist aber danke trozdem.
 
Zurück