PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 16-03-2010 19:42:21

gabi1202
Membre
Inscription : 26-05-2009
Messages : 13

restauration

Bonjour,

J'ai un petit problème de restauration dans une table

j'ai un formulaire avec des chekbox et un bouton restauration.
donc quand je sélectionne un checkbox et que j'appuie sue le boutton submit retauration,
il devrait faire un update de mon champs supprEcole et me chanher la valeur 1 par null mais il ne veux pas sad

voici mon code


<table width="100%">
  <tr>
      <td width="25%">Nom</td>
        <td width="25%">Séléction</td>
    </tr>
</table>
<?php
$sql = "SELECT * FROM ecole WHERE supprEcole IS NOT NULL";
$result = mysql_query($sql)or die(mysql_error());
?>
<form action="<?php $PHP_SELF ?>" method="get">
<?php
while ($corb = mysql_fetch_assoc($result)){
$compteur = $corb['compteur'];
?>
<table width="100%">
  <tr>
      <td width="25%">nom = <?php echo "$corb[nom]"; ?></td>
        <td width="25%"><input type="checkbox" name="compteur[]"  value="<?php echo $compteur; ?> "/></td>
  </tr>
</table>
<?php
}
?>
<input type="submit" name="restauration" value="Restauration"/>
</form>

<?php
  if(!empty($_GET['restauration']))
  {
    if ($compteur = isset($_POST['compteur']))
    {
      foreach ($compteur as $key => $value)
      {
        $sql = "UPDATE ecole SET supprEcole = NULL WHERE compteur = '".$value."'";
        mysql_query ($sql) or die (mysql_error());
      }
    }
  }
?>

 

en espérant que vs pourrez m'aide encore une fois smile

Gabi

Hors ligne

#2 17-03-2010 06:57:02

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : restauration

Ton !empty est fait sur la variable $_GET, ce serait pas plutôt la valeur du bouton submit que tu voudrais tester ? Soit $_POST ?

Hors ligne

#3 17-03-2010 09:25:45

gabi1202
Membre
Inscription : 26-05-2009
Messages : 13

Re : restauration

bah j'ai tester mais cela ne change pas, rien ne se passe

Hors ligne

#4 17-03-2010 12:27:30

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : restauration

La ligne 31... Je l'avais pas vu celle là. ^^"

Un isSet renvoie true ou false. Il ne peut donc jamais être égal à $_POST['compteur']...
Donc ton foreach se fait sur un booléen et non un tableau.

Hors ligne

#5 18-03-2010 08:54:45

gabi1202
Membre
Inscription : 26-05-2009
Messages : 13

Re : restauration

ah oki, merci smile

tu peux me dire ca serais quoi plutôt la syntaxe exact alors stp?

Merci a toi smile

Hors ligne

#6 18-03-2010 10:23:36

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : restauration

if( isSet($_POST['compteur']) )
{
  $compteur = $_POST['compteur'];

Hors ligne

#7 18-03-2010 11:19:41

gabi1202
Membre
Inscription : 26-05-2009
Messages : 13

Re : restauration

hello, je tiens a te remercier de ton aide smile j'ai trouver l'erreur grace a toi.

if ($compteur  = isset($_POST['compteur'])) remplacer par if ($compteur  = $_POST['compteur'])

et ca marche nickel smile

Hors ligne

#8 18-03-2010 11:39:45

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : restauration

Sauf qu'il est mieux de vérifier que la variable existe (cf mon code).

Hors ligne

#9 18-03-2010 11:49:05

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : restauration

Saluton,
Et surtout ne pas confondre, en PHP, l'opérateur d'affectation = avec l'opérateur de comparaison ==


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums