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

PHP & Base de données Discussion :

Suppression avec des case a cocher ne fonctionne pas [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut Suppression avec des case a cocher ne fonctionne pas
    Bonjour,

    Je voudrais supprimer des enegistrements d'un tableau grace à dex checkbox mais voila j'ai du modifier mon script pour le mettre en place.

    Lorsque je valide la selection les valeur sont bien envoyé via l'url mais la suppression de la base ne se fait pas.

    J'avais une autre methode de suppression mais cela me force a chaque fois de refaire appel à la selection.

    Du coup j'ai choisi de mettre des case à cocher au bout de chaque ligne afin que les personnes puissent faire leur choix

    Ci-joint mon le script de ma page

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <?php
    if (!empty($titre)) //Si le titre est indiqué, on l'affiche entre les balises <title>
    {
        echo '<title> '.$titre.' </title>';
    }
    else //Sinon, on écrit forum par défaut
    {
        echo '<title> Fiche societe </title>';
    }
    ?>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="Design" href="#" />
    </head>
     
    <body>
     
    <h3><center> Recherche des dûs d'un client</center></h3>
     
    <form method="POST" action="" name="formulaire">
     
    Numéro du client : <input type ="text" name= "numero" size="10">
       <input type="submit" name="submit" value="Envoyer" />
       <input type="reset" name="Effacer" value="Effacer" />
       </form>
    <br>
     
    <h3><center>Détail des factures dues par le client</center></h3>
     
     
    <?php
    include('inc_conexion.php');
    include ('suppression.php');
     
    if(!empty($_POST['numero']))
    {
    $id_numero=$_POST['numero'];
     
    $requete= "SELECT * FROM facture  WHERE id_numero LIKE '".$id_numero."'";
     
     
    //*******************************************************************************************//
    //  Récupération de la liste des facture du client (via une requête sur ma table facture     //
    //*******************************************************************************************//
     
     
    $ligne = "<table BORDER=1 BORDERCOLOR=#CCCCCC BGCOLOR=#fffccc CELLSPACING=0 CELLPADDING=1 WIDTH=98% ALIGN=left font-family:Verdana size=10px>
    			<td bgcolor='#669999'><b><u>Numero</u></b></td>
    			<td bgcolor='#669999'><b><u>Facture</u></b></td>
    			<td bgcolor='#669999'><b><u>Libelle</u></b></td>		
    			<td bgcolor='#669999'><b><u>Montant</u></b></td>
    			<td bgcolor='#669999'><b><u>Date facture</u></b></td>
    			<td bgcolor='#669999'><b><u>Date echeance</u></b></td>
    			<td bgcolor='#669999'><b><u>Relance</u></b></td>
    			<td bgcolor='#669999'><b><u>L 01</u></b></td>
    			<td bgcolor='#669999'><b><u>L 02</u></b></td>
    			<td bgcolor='#669999'><b><u>L 03</u></b></td>
    			<td bgcolor='#669999'><b><u>L 04</u></b></td>
    			<td bgcolor='#CC0033'><b><u>Suppr.</u></b></td>
    			
    			</tr>";
     
     
     
    $resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
     
     
     
    $total = 0;	
    $mont = 0;
     
     
    	while($dus = mysql_fetch_array($resultat)){
     
    		$id = $dus['id_numero'];
     
    		$facture = $dus['facture'];
    		$intitule = $dus['intitule'];
    		$montant = $dus['montant'];
    		$date_fact = $dus['date_fact'];
    		$date_echeance = $dus['date_echeance'];
    		$relance = $dus['relance'];
    		$l_01 = $dus['l_01'];
    		$l_02 = $dus['l_02'];
    		$l_03 = $dus['l_03'];
    		$l_04 = $dus['l_04'];				
    		$annee = $dus['annee'];
     
     
    				$mont = addslashes($dus['montant']);
     
    					$total += $mont;
     
    				$ligne .= "<tr>
    						<td><a href='./dus/fiche_pdv.php?numero=$id' tarPOST='_self'>".$id."</a></td>
    						<td>".$facture."</td>
    						<td>".$intitule."</td>
    						<td align='right'>".$montant."</td>
    						<td align='center'>".$date_fact."</td>
    						<td align='center'>".$date_echeance."</td>
    						<td align='center'>".$relance."</td>
    						<td align='center'>".$l_01."</td>
    						<td align='center'>".$l_02."</td>
    						<td align='center'>".$l_03."</td>
    						<td align='center'>".$l_04."</td>						
    <td align='center'><form method='GET' action=''><input type='checkbox' name='check[]' value=".$dus['facture']."/></td></tr>"; 
    	}
    $ligne .= "<tr><td colspan='3'>Total des dus du client N° $id_numero </td><td align='right'>".$total."</td>
    <td colspan='10' align='right'><input type='submit' value='delete' /></form></td></tr>";	
     
    echo $ligne;
     
     mysql_free_result($resultat);
     }
     
    else
    {
     
    echo "Merci de saissir un numero";
     
    }
    ?>
     
    </body>
    </html>
    Ma page de traitement

    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
     
     
    <?php
     
    include('inc_conexion.php');
     
    if (isset($_GET['check'])) 
    	{
    foreach ($_GET['check'] as $facture) 
    		{
     
     
     
                      $req = mysql_query("DELETE facture FROM facture WHERE facture  = '$facture'") or die (mysql_error());
     
    		}
    	}	
     
    ?>

    lors de la validation j'ai ceci qui passe par l'url

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    http://localhost/dus/index.php?check%5B%5D=08%2F08%2F030%2F&check%5B%5D=11am00111%2F
    Qui corresponde bien a mes factures selectionné pour la suppression

    Je vous remercie de votre aide

    Ci-joint une capture écran de ma page à l'écran

    Runcafre91

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Affiche tes requêtes pour voir exactement ce qui est executé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Affiche tes requêtes pour voir exactement ce qui est executé.
    Bonjour,

    Merci de votre aide, j'ai fais un écho de la manière suivant a parti de ma page de traitement et j'ai les valeur suivant

    Script de traitement
    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
     
     
    <?php
     
    include('inc_conexion.php');
     
    if (isset($_GET['check']) > 0) 
    	{
    foreach ($_GET['check'] as $facture) 
     
    echo $facture; 
    echo "<br>";
    		{
     
                      $req = mysql_query("DELETE facture FROM facture WHERE facture  = '$facture'") or die (mysql_error());
     
    			echo $req;
    		}
    	}	
     
    ?>

    Resultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Le numéro de la facture et le chiffre 1
    Runcafre91

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    tu ne dois pas obtenir :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DELETE facture FROM facture WHERE facture  = '$facture'"

    mais ca :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DELETE FROM facture WHERE facture  = '$facture'"

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    Bonjour,

    tu ne dois pas obtenir :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DELETE facture FROM facture WHERE facture  = '$facture'"

    mais ca :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DELETE FROM facture WHERE facture  = '$facture'"
    re,

    J'ai fais la modification et cela n'a rien changer, j'ai bien les éléments qui sont passés par l'url pour suppresion mais la suppression ne s'effectue pas.

    Quand je rappel le numéro les elements sont toujours présent

    Merci de votre aide

    Runcafre91

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    ton :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    foreach ($_GET['check'] as $facture)

    a les {} mal placées, il ne s'applique que sur echo $facture;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire dynamique avec des cases de cocher (en JS)
    Par SIO_Lucie dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/06/2015, 09h31
  2. developper un tableau avec des cases a cocher
    Par Msysteme dans le forum C#
    Réponses: 14
    Dernier message: 05/10/2011, 17h36
  3. [VBS] Fenêtre avec des cases a cocher
    Par TGV6773 dans le forum VBScript
    Réponses: 2
    Dernier message: 24/01/2010, 10h12
  4. Réponses: 13
    Dernier message: 05/09/2006, 16h25
  5. Comment creer un choix multiple avec des cases a cocher ??
    Par pedrosystem dans le forum Access
    Réponses: 5
    Dernier message: 09/03/2006, 10h36

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