IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

supprimer un elemts d'une liste deroulante où l'erreur ds mon code !!!!


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut supprimer un elemts d'une liste deroulante où l'erreur ds mon code !!!!
    Bonjour a tous,

    J'ai une liste deroulante ses elements je les recuperent de ma base de données comme sui t
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select name="structure1" size ="1" onChange="chgpage(this)">
       <?php
    mysql_select_db($database_dbprotect, $dbprotect);
    $result=mysql_query('select valeur, id_str from structure_responsable order by id_str') or die(mysql_error());
    while($row = mysql_fetch_array($result)) echo "<option>".$row ["valeur"]."</option>\n";
       ?>
     </select>
    qlq 1 pourra m'aider et me montrer comment faire pour supprimer n'importe kel elements de la liste et bien sur le supprimer aussi de la BD

    merci d'avance

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Déjà tu mets dans l'attribut VALUE de tes OPTION les ids de tes éléments.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<option value='" . $row['id_str'] . "'>".$row [''valeur']."</option>\n";
    Après, tu peux mettre un bouton supprimer à côté de ta liste et tu fais pointer ça vers une page de traitement dans laquelle tu fais un delete dans ta table.

  3. #3
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut
    Citation Envoyé par JWhite
    Déjà tu mets dans l'attribut VALUE de tes OPTION les ids de tes éléments.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<option value='" . $row['id_str'] . "'>".$row [''valeur']."</option>\n";
    Après, tu peux mettre un bouton supprimer à côté de ta liste et tu fais pointer ça vers une page de traitement dans laquelle tu fais un delete dans ta table.
    j'ai rajoute le code au dessus , et mnt qd je veux rajoute un element, il me le rajoute en 2fois !!!!!!!!!!!!!!!

  4. #4
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut
    dsl j'ai regle le pb

  5. #5
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par moonia
    j'ai rajoute le code au dessus , et mnt qd je veux rajoute un element, il me le rajoute en 2fois !!!!!!!!!!!!!!!
    J'ai pas compris là...


    Edit : c'est déjà fini ? tout le problème est résolu ?

  6. #6
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    
    if($_POST['action'] == 'submitted')
    {
    $champs1 = $_POST['structure_responsable'];
    //echo "$compteur";
    
    {
    
    
    
    mysql_select_db($database_dbprotect, $dbprotect);
    $add_user1 = sprintf("INSERT INTO structure_responsable(id_str,valeur) values ('','$champs1')");
    mysql_select_db($database_dbprotect, $dbprotect);
    $result1= mysql_query($add_user1, $dbprotect) or die(mysql_error());
    }
    
    
    header("Location:modif_struc1.php?add=ok"); // redirection si création réussie
    
    }
    ?>
    <?php
    
    if($_POST['action1'] == 'submitted')
    {
    mysql_select_db($database_dbprotect, $dbprotect);
    $req2 = sprintf("delete from structure1 where valeur='".$_POST['" . $row["id_str"] . "']."'");
    	mysql_select_db($database_dbprotect, $dbprotect);
    	$verif2 = mysql_query($req2, $dbprotect) or die(mysql_error());
    header("Location:modif_struc1.php?add=ok"); // redirection si création réussie
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form name="page_form" action=""  method="post">
    <td align = "center"> 
     <select name="structure1" size ="1" onChange="chgpage(this)">
       <?php
    mysql_select_db($database_dbprotect, $dbprotect);
    $result=mysql_query('select valeur, id_str from structure_responsable order by id_str') or die(mysql_error());
    while($row = mysql_fetch_array($result)) echo "<option value='" . $row["id_str"] . "'>".$row ["valeur"]."</option>\n";   
     
       ?>
     </select>
    	</td>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    td colspan=2><input type="hidden" name="action" value="submitted">
    		 <input name="submit"  value="Enregistrer" type="submit"></td>
    		 <td colspan=2><input type="hidden" name="action1" value="submitted">
    		 <input name="submit"  value="Supprimer" type="submit"></td>
    Tout marcher tres bien pour rajouter un eletms a ma liste deroulante et qd j'a rajoute tt ce qui en rouge pour que je puisse en retour supprimir un eletms selectionne rien ne marche ni le rajout ni la suppr
    aider moi SVP

  7. #7
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 517
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 517
    Par défaut
    J'ai peut être un script qui pourra te donner plus de souplesse ou d'idées

    Tu as deux menu select.
    <select id="gauche" name="gauche[]" size="5" multiple>
    ...
    </select>
    <input type="button" id="gauche_droite" value=">>" onClick="Deplacer('gauche')">
    <input type="button" id="droite_gauche" value="<<" onClick="Deplacer('droite')">
    <select id="droite" name="droite[]" size="5" mutliple>
    ...
    </select>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    function Deplacer(l1,l2) {
    	l1 = document.getElementById(l1);
    	l2 = document.getElementById(l2);
    	if (l1.options.selectedIndex>=0) {
    		o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
    		l2.options[l2.options.length]=o;
    		l1.options[l1.options.selectedIndex]=null;
    	}else{
    		alert("Aucun élément sélectionné");
    	}
    }
     
    function selectAll(nom){
    	nom = document.getElementById(nom);
    	for(i=0;i<nom.options.length;i++){
    		nom.options[i].selected=true;
    	}
    }
    La fonction selectAll('droite') doit être appellé lors du submit pour qu'il puisse prendre tous les éléments présent dans le menu select.

    La j'ai fais un gros copier/coller peut être qu'il y a quelques petite erreur de syntaxe dedans.
    voila peut être que ça peut te servir

  8. #8
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut
    merci bcps mais moi mes elts sont sauvegrader ds une BD et donc il doivent etre supprimer aussi de la BD

  9. #9
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Il y a un problème parce que tes deux boutons enregistrer et supprimer ont le même nom. Et je vois pas à quoi servent tes deux champs cachés vu qu'ils ont la même valeur...
    Le truc c'est de nommer différement tes deux boutons (enregistrer et supprimer) et après dans la page de traitement tu regardes la valeur de $_POST['submit'] et tu fais le traitement approprié.

  10. #10
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut
    j'ai corrige et mnt pour rajouter un element ça marche par contre pour supprimer rien il ne supprime rien ?????????? qcq qui cloche ds mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
     
     
    if($_POST['enregister'] == 'submitted')
    {
     
    $champs1 = $_POST['structure_responsable'];
     
    mysql_select_db($database_dbprotect, $dbprotect);
    $add_user1 = sprintf("INSERT INTO structure_responsable(id_str,valeur) values ('','$champs1')");
    mysql_select_db($database_dbprotect, $dbprotect);
    $result1= mysql_query($add_user1, $dbprotect) or die(mysql_error());
    header("Location:modif_struc1.php?add=ok"); // redirection si création réussie
    }
    else
     
     if($_POST['supprimer'] == 'submitted')
    {
    mysql_select_db($database_dbprotect, $dbprotect);
    $req2 = sprintf("delete from structure1 where valeur='".$_POST['" . $row["id_str"] . "']."'");
    	mysql_select_db($database_dbprotect, $dbprotect);
    	$verif2 = mysql_query($req2, $dbprotect) or die(mysql_error());
    header("Location:modif_struc1.php?add=ok"); // redirection si création réussie
     
     
    }
     
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <td align = "center"> 
     <select name="structure1" size ="1" onChange="chgpage(this)">
       <?php
    mysql_select_db($database_dbprotect, $dbprotect);
    $result=mysql_query('select valeur, id_str from structure_responsable order by id_str') or die(mysql_error());
    while($row = mysql_fetch_array($result)) echo "<option value='" . $row["id_str"] . "'>".$row ["valeur"]."</option>\n";   
     
       ?>
     </select>
    	</td>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <td colspan=2>
    	<input type="hidden" name="enregister" value="submitted">
    		 <input name="submit"  value="Enregistrer" type="submit"></td>
     
    		 <td colspan=2><input type="hidden" name="supprimer" value="submitted">
    		 <input name="submit1"  value="Supprimer" type="submit"></td>

  11. #11
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Pourquoi tu veux pas faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <td colspan=2><input name="submit"  value="Enregistrer" type="submit"></td>
     
    <td colspan=2> <input name="submit"  value="Supprimer" type="submit"></td>
    Et après dans la page de traitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if($_POST['submit'] == "Enregistrer")
    {
    }
    else if($_POST['submit'] == "Supprimer")
    {
    }
    Ca résoudra pas le problème mais c'est quand même plus propre non ?

    Pour le problème, fais un echo $req2 avant de faire le mysql_query pour voir si la requête est correcte.

  12. #12
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut
    oui c vrai que c propore merci bcps j'ai corrige

    mais pk je ne peux pas supprimer klkkkkkk pourra m'ader svpppppppppp où le problèmeeee

  13. #13
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Ca donne quoi ce que je t'ai demandé de faire (le echo)

  14. #14
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req2 = sprintf("delete from structure1 where valeur='".$_POST['" . $row["id_str"] . "']."'");
    pourquoi comme ca???

    les valeur selectionnez du selecte tu les recupere avec post mais comme ca:
    $_POST['structure1'] car le name de ton select est structure 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req2 = sprintf("delete from structure1 where valeur='".$_POST['structure1'] . "'");
    comme ca donc

  15. #15
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut
    voici ce que j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
     
     
    if($_POST['submit'] == "Enregistrer")
    {
     
    $champs1 = $_POST['structure_responsable'];
     
    mysql_select_db($database_dbprotect, $dbprotect);
    $add_user1 = sprintf("INSERT INTO structure_responsable(id_str,valeur) values ('','$champs1')");
    mysql_select_db($database_dbprotect, $dbprotect);
    $result1= mysql_query($add_user1, $dbprotect) or die(mysql_error());
    header("Location:modif_struc1.php?add=ok"); // redirection si création réussie
    }
    else
     
      if($_POST['submit'] == "Supprimer")
    {
     
    $req2 = sprintf("delete from structure_responsable where valeur='".$_POST['" . $row["id_str"] . "']."'");
    	mysql_select_db($database_dbprotect, $dbprotect);
    	$verif2 = mysql_query($req2, $dbprotect) or die(mysql_error());
    header("Location:modif_struc1.php?add=ok"); // redirection si création réussie
     
     
    }
     
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <tr>
    	<td>Modification du champ&nbsp;&nbsp;<em>"Structure-Responsable"&nbsp;</em>:</td>
    	<td><input type="text" name="structure_responsable" size="15" value=""></td>
    	<td align = "center"> 
     <select name="structure1" size ="1" onChange="chgpage(this)">
       <?php
    mysql_select_db($database_dbprotect, $dbprotect);
    $result=mysql_query('select valeur, id_str from structure_responsable order by id_str') or die(mysql_error());
    while($row = mysql_fetch_array($result)) echo "<option value='" . $row["id_str"] . "'>".$row ["valeur"]."</option>\n";   
     
       ?>
     </select>
    	</td>
     </tr>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <td colspan=2>
    	 <input name="submit"  value="Enregistrer" type="submit"></td>
     
    		 <td colspan=2> <input name="submit"  value="Supprimer" type="submit"></td>
    donc pour rajouter un element le pb ne se pose pas mais supprimer il fais rien du tt

  16. #16
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Pour la troisième et dernière fois, fais un echo $req2 avant le mysql_query de la partie "supprimer".
    Et +1 avec Boo (où t'étais passé ?) car le problème vient probablement de là, justement si tu fais le echo que je t'ai demandé tu vas t'en rendre compte.


    Il y a rien de plus énervant que d'aider les gens mais que ceux-ci ne lisent pas les réponses en entier...

  17. #17
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    corrige ce que je t'ai di...

  18. #18
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut
    c fais mais ca ne marche pas

  19. #19
    Membre éclairé Avatar de moonia
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 283
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if($_POST['submit'] == "Supprimer")
    {
    
    $req2 = sprintf("delete from structure_responsable where valeur='".$_POST['structure1'] . "'");
    	mysql_select_db($database_dbprotect, $dbprotect);
    	$verif2 = mysql_query($req2, $dbprotect) or die(mysql_error());
    header("Location:modif_struc1.php?add=ok"); // redirection si création réussie
    
    
    }
    ça ne marche pas rien n'est supprimé de ma table

    youpi j'ai resolu le pb , l'erreure etait ds valeur il fallait mettre a la place de valeur id_str

  20. #20
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par JWhite
    Pour la troisième et dernière fois, fais un echo $req2 avant le mysql_query de la partie "supprimer".
    Et +1 avec Boo (où t'étais passé ?) car le problème vient probablement de là, justement si tu fais le echo que je t'ai demandé tu vas t'en rendre compte.


    Il y a rien de plus énervant que d'aider les gens mais que ceux-ci ne lisent pas les réponses en entier...
    Allô ? Y'a un bug ? Je suis le seul à voir mes posts ? Moonia ne les voit pas ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [langage] Supprimer un élément dans une liste
    Par myjuna dans le forum Langage
    Réponses: 15
    Dernier message: 06/08/2014, 11h49
  2. Supprimer une liste deroulante
    Par khongo agon dans le forum Excel
    Réponses: 2
    Dernier message: 05/12/2008, 16h37
  3. Supprimer le retour à la ligne après une liste deroulante
    Par kobe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 30/08/2006, 13h34
  4. Parcourir une liste deroulante
    Par brandon dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/02/2005, 19h03
  5. plusieurs value dans une liste deroulante
    Par lepierre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/11/2004, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo