Update checkbox liste d'utilisateurs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Update checkbox liste d'utilisateurs

Re: Update checkbox liste d'utilisateurs

par Couin » 15 nov. 2014, 05:19

Hello,

Merci pour ta réponse rapide.

Je viens de tester, cela ne fonctionne pas mieux (toujoursp as d'erreur mais aucune action).

Je continue de chercher :)

M'ciiii :)

Re: Update checkbox liste d'utilisateurs

par Nestecha » 15 nov. 2014, 03:05

Sûrement un problème lié au fait que tu n'as pas fermé ton <form>.

Je veux dire, même si tu l'as fermé après le code inscrit ici, il n'est quand même pas fermé, puisque tu as fermé <table>. Donc tu fermes <table>, puis tu lances un submit. Donc rien ne s'envoit, le <input> submit ne peut pas envoyer les données d'un form dans lequel il n'est pas.

Et je crois que tu as deux </td> qui ne servent à rien (ligne 26-27).

Code corrigé (pas pu le tester) :
<?php
//requête SQL:
$sql = "SELECT * FROM trs_users ORDER BY user_name ASC
                        ";

//exécution de la requête:
$requete = mysql_query( $sql ) ;

?>
<body>
<table width="100%"  valign="top" border="1" cellpadding="0" cellspacing="1">
    <form name="mise à jour" action="supervisors_result.php" method="POST">
        <?php

        //affichage des données:
        while( $result = mysql_fetch_object( $requete ) )
        { ?>
            <tr>
                <td><?php echo($result->user_name);?><?php echo($result->is_active);?></td>
                <td><?php if (($result->is_active)==1) {?>
                    <input type="checkbox" name="is_active" value="1" checked="checked" ></td>
                <?php } else { ?>
                    <input type="checkbox" name="is_active" value="0"  >
                    <input type="hidden" name="user_id" value="<?php echo($result->user_id);?>"  >
                <?php } ?>
            </tr>
        <?php } ?>
        <?= '<tr><input name="submit" type="submit" value="Mettre à jour"></tr></form>'; ?>
</table>
<?= est identique à <?php echo.

Update checkbox liste d'utilisateurs

par Couin » 15 nov. 2014, 02:44

Hello :D

Encore une de mes questions bizaroïdes.
Voilà, je construis une page où j'ai une liste d'utilisateurs, tirée d'une table où on a comme colonne :
user_id pour le numéro d'utilisateur
user_name pour le nom du'tilisateur
is_active pour le faire apparaitre ou non (valeurs respectives 1 ou 0)dans la liste des choix de mes diverses pages.
Dance cette page, je voudrais que 'lon puisse activer ou non un utilisateur.
J'arrive bien à faire un tableau avec la liste des utilisateurs, et une checkbox cochée ou non selon que la valeur is_active est à 1 ou a 0 dans la table.

Mais le probleme se pose au niveau de la mise à jour si on change l'état d'une case à cocher: Ce n'est pas pris en compte.

Voilà ce que j'ai fais comme code :
Pour la page liste :
	  <?php
    //requête SQL:
    $sql = "SELECT * FROM trs_users ORDER BY user_name ASC
			";
	
	    //exécution de la requête:
    $requete = mysql_query( $sql ) ;

?>
<body>
<table width="100%"  valign="top" border="1" cellpadding="0" cellspacing="1">
<form name="mise à jour" action="supervisors_result.php" method="POST">
<?php

    //affichage des données:
    while( $result = mysql_fetch_object( $requete ) )
    { ?>
			<tr> 
			<td><?php echo($result->user_name);?><?php echo($result->is_active);?></td>
			<td><?php if (($result->is_active)==1) {?>
			<input type="checkbox" name="is_active" value="1" checked="checked" ></td>
				<?php } else { ?>
			<input type="checkbox" name="is_active" value="0"  >
			<input type="hidden" name="user_id" value="<?php echo($result->user_id);?>"  >
				<?php } ?>
				</td>
			</td>
			</tr>
	<?php } ?>
		</table>
	    <input name="submit" type="submit" value="Mettre à jour">
Et pour la page de validation :
  //récupération des valeurs des champs:
  $is_active     = $_POST["is_active"] ;

  
    //récupération de l'identifiant de la personne:
  $id         = $_POST["user_id"] ;
 
  //création de la requête SQL:
  $sql = "UPDATE trs_users
          SET is_active = '$is_active' 
          WHERE user_id = '$id'
			" ;
 
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
 
 
  //affichage des résultats, pour savoir si la modification a marchée:
  if($requete)
  {
	header("Location: supervisors_2.php" );
  }
  else
  {
    echo("La modification à échouée") ;
  }
Je n'ai aps d'erreur, mais il ne se passe rien.
Je ne trovue pas où j'ai commis l'erreur ?

Si quelqu'un là aussi, à une idée , ca m'aiderait bien :)
Merciiii
Couin