login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql update negeerd waarde

Offline Martijn - 02/06/2008 12:54
Avatar van MartijnCrew PHP Ik heb dit stukje html:
  1. <form method="post" action="<?=$formAction;?>">
  2. <table width="200">
  3. <tr><th colspan="10">Trainen</th></tr>
  4. <tr><td><input type="radio" name='traintype' value='1' /></td><td>Train 3 minuten</td><td>+2 kracht</td></tr>
  5. <tr><td><input type="radio" name='traintype' value='2' /></td><td>Train 6 minuten</td><td>+3 kracht</td></tr>
  6. <tr><td><input type="radio" name='traintype' value='3' /></td><td>Train 12 minuten</td><td>+5 kracht</td></tr>
  7. <tr><td colspan="10"><input type='submit' class='submit' value='Train!' name='trainen' /></td></tr>
  8. </table>
  9. </form>


met deze php:
  1. if(isset($_POST['trainen'])){
  2. if(!isset($_POST['traintype'])){echo"Je hebt geen training aangeklikt!";}
  3. else{
  4. $traintype=prep_num($_POST['traintype']);
  5. if($traintype==1){$traintijd=time()+60*3; $trainerbij=2;}
  6. elseif($traintype==2){$traintijd=time()+60*6; $trainerbij=3;}
  7. elseif($traintype==3){$traintijd=time()+60*12; $trainerbij=5;}
  8. else{$traintijd=time()*10; $trainerbij=0;}
  9.  
  10. mysql_query("UPDATE members SET status='armtrain' WHERE id=".$stat['id']." LIMIT 1") or die(mysql_error());
  11. mysql_query("UPDATE tijden SET armtrain=".$traintijd.", armtrainerbij=".$trainerbij." WHERE id=".$stat['id']." LIMIT 1") or die(mysql_error());
  12. echo"Je bent begonnen met trainen!";
  13.  
  14. }//einde controle
  15. }//einde post trainen


Het werkt als ik 3 minuten train, als ik 5 minuten train, maar niet als ik 12 minuten train.
Database kolomtype is enum met waardes '0','2','3','5' Not Null.
Bij 12 minuten set ie dus wel een NULL neer, zonder waarde dus. Ik meen toch echt dat ik het goed heb gedaan?

2 antwoorden

Gesponsorde links
Offline ArComAr - 02/06/2008 13:40
Avatar van ArComAr VB.NET gevorderde 12 staat dan toch niet in je enum, dus is het normaal dat hij dit niet gaat vinden.
Offline Martijn - 02/06/2008 15:17 (laatste wijziging 03/06/2008 11:50)
Avatar van Martijn Crew PHP 12min is deze:
elseif($traintype==3){$traintijd=time()+60*12; $trainerbij=5;}

oftewel 5, en die is wel in de enum

het rare is, vind ik, dat het 3 dezelfde regels zijn... alleen de 2 queries zijn anders.

als ik doe:
  1. echo"Je bent begonnen met trainen!".$trainerbij;

krijg ik gewoon
Je bent begonnen met trainen!5.

edit 2:
Als ik de $trainerbij waarde verander bij optie 3, naar 3, werkt ie wel. Ik heb de tabel aangepast, en opnieuw '5' erin gezet, maar dat lost het niet op...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.203s