2010-03-01 10 views
0

Pourquoi ne peut pas les données dans mysql pas mis à jour lorsque j'utilise case à cocher, j'ai déjà essayé de supprimer le type d'entrée caché, mais ne fonctionnait toujours pas. Je pense que le problème doit être dans cette partie, parce que quand j'essaie d'ajouter des enregistrements et de cocher toutes les cases à cocher. Ensuite, je vais essayer de le mettre à jour. En supprimant les contrôles dans l'autre entrée. Les données sont mises à jour. Les vérifications qui sont supprimées sont également reflétées dans la base de données, mais lorsque j'essaie d'y ajouter des contrôles en utilisant le module de mise à jour, il ne sera pas mis à jour. S'il vous plaît, aidez, je ne suis qu'un débutant.ne peut pas mettre à jour checkbox dans php

<td><input name="stats3" type="checkbox" id="sh" 
value="<?php echo $row["STAT3"]; ?>" <?php echo $row["STAT3"] ? 'checked="checked"' : ''; ?> >Stockholder</td> 

Répondre

3

Lorsque vous avez une case à cocher et que vous la cochez, vous obtenez une paire clé/valeur renvoyée dans le message au serveur.

Lorsque la case est cochée, il ne fait pas revenir dans le poste (vous pouvez le vérifier en utilisant Firebug, ou par print_r ($ _ POST)

Cela pourrait être la cause de votre problème.

vous pouvez utiliser:

if(isset($_POST['stats3'])) { 
    // checked is true 
} 

Ou une autre solution facile est d'avoir une liste de sélection avec oui et non comme des options, qui vous donnera toujours une valeur de retour - sinon vous devez définir et unset la valeur basée sur la présence de la case à cocher dans le message

+1

Je suis très en désaccord avec l'idée d'utiliser une liste de sélection parce qu'il est plus facile de coder. L'interface utilisateur/UX ne doit pas être compromise de cette manière. –

+0

Pour être juste, j'ai également indiqué comment déterminer si la case à cocher était cochée. Je ne pense pas que ce soit mauvais de donner des alternatives. – Fenton

0

ou vous pouvez vérifier

if (isset($_POST['stats3'])) 
    // value received 
else 
    // value not received 
0
<input name="stats3" type="checkbox" id="sh" 
    value=" 
     <?php echo $row["STAT3"]; ?> 
    " 
     <?php echo $row["STAT3"] ? 'checked="checked"' : ''; ?> 
    >Stockholder 

Son tout fonctionne très bien pour moi,

sont si vous envoyez des messages de plusieurs valeurs dans le même nom que « stats3 », alors vous aurez un problème

Questions connexes