formulaire

nas
Eléphanteau du PHP | 13 Messages

06 févr. 2008, 11:55

mon formulaire contient :
<input type="checkbox" name="s1[]" value="<? print "$num_ordre";?>">
Suppression:
if(isset($_POST['s1'])){
$nbs1= count($_POST['s1']);
$i=0;
while($i<$nbs1){ 
$num_ordre=$_POST['s1'][$i];
//echo($num_ordre);
$result=mysql_query ("DELETE FROM vaccin WHERE num_ordre=$num_ordre") or die ("Erreur de suppression");
$i++;
Merci pour l'aide.

Eléphanteau du PHP | 31 Messages

06 févr. 2008, 12:07

Bonjour,
Tu ne dit pas l'erreure que tu as. Tes boucles if et while ne sont pas fermé au premier coup d'oeil dans le code que tu présentes.
Et je te conseil de mettre ton code entre les balises php fait a cette effet.
you are bad

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 févr. 2008, 13:39

Modération :
nas, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

d0m
Mammouth du PHP | 1141 Messages

06 févr. 2008, 15:02

Déjà il faut effacer seulement si le bouton submit a été clické.
Ensuite, tu peux utiliser un foreach au lieu du while (plus pratique) :
Et en passant sortir les variables des chaines (requete sql)
if(isset($_POST['Submit3'])){
  foreach($_POST['s1'] as $num_ordre){
    //echo($num_ordre);
    $result=mysql_query ("DELETE FROM vaccin WHERE num_ordre=".$num_ordre) or die ("Erreur de suppression");
  }
}
Essaie voir avec ça.

Sinon ton formulaire et ton traitement PHP de suppression sont dans la même page?

nas
Eléphanteau du PHP | 13 Messages

06 févr. 2008, 15:41

Merci pour la réponse;

Je vien d'essaiyer votre code mais le résultat est le meme.
En réalité jai dans une meme page un formulaire pour l'insertion, et un autre pour la suppréssion.
quand je clique sur le boutton Supprimer l'enregistrement reste afficher dans ma page, et je vien de verifier q'uil a ete supprimer de la BD.

je crois que c'est un probleme de raffraissement de la page non?

d0m
Mammouth du PHP | 1141 Messages

06 févr. 2008, 16:27

non, pas de rafraichissement mais d'ordre d'execution des requetes.

Tu as surement un code de ce genre :
<?php
  //récupération des résultats
  $infos = aller_chercher_info();

  //suppresssion
  if(isset($_POST['Submit3'])){ 
  ....
  }
?>
<html>
...
//affichage des infos
<?php echo $infos[...]?>
</html>
Il faut aller chercher les résultats après les requêtes de suppression ou d'ajout car entre temps les informations ont changé.
Et si tu dois avoir ces infos pour la suppression alors il faut retourner les chercher après aussi.

nas
Eléphanteau du PHP | 13 Messages

06 févr. 2008, 17:06

C'est vrai :l'ordre des requettes.Merci pour l'aide d0m