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 de tables via Checkbox.


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Points : 23
    Points
    23
    Par défaut Suppression de tables via Checkbox.
    Bonjours/Bonsoir à tous !

    J'ai donc une checkbox à chaque <tr> qui s'implémente automatiquement, on à donc n checkbox, j'ai crée une page supp.php avec un code PHP, simplement rien ne se passe, rien ne fonctionne et je n'est aucune erreur ce qui est le plus troublant !

    Voici le code de la checkbox :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <section title=".squaredFour">
        <!-- .squaredFour -->
        <div class="squaredFour">
            <td style="text-align:center;width:20%;"><input type="checkbox" id="squaredFour" name="champ[]" value="1" /></td> 
            <label for="squaredFour"></label> 
        </div>
        <!-- end .squaredFour -->
    </section>

    Avec le name je crée bien un tableau !

    Voici la page PHP :

    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
     
    <?php
     
    /* ------------------ CASE A COCHER ------------------ */
    error_reporting(E_ALL ^ E_DEPRECATED); //pas d'affichage error deprecated ! 
    // connexion à la Base de Données
    $mysql_user="admin";
    $mysql_password="admin";
    $reqco = mysql_connect("localhost",$mysql_user,$mysql_password) or die('Erreur de connexion '.mysql_error());
    // sélection de la BDD
    $reqse = mysql_select_db("tp_arexx",$reqco) or die('Erreur de selection de BDD '.mysql_error());
     
    // --------------------------------------------------
    // RECUPERATION / SUPPRESSION en BdD
    if(!empty($_POST['champ'])) {
        // selection des noms de tables
        $sql = 'SELECT Arexx_Table FROM tp_arexx_capteurs WHERE Arexx_index IN('.implode(',',$_POST['champ']).')';
        $req = mysql_query($sql) or die('Erreur de SELECT'.mysql_error());
        while($d = mysql_fetch_assoc($req)) {
            $sql1 = 'DROP TABLE' .$d['Arexx_Table'];
            $req1 = mysql_query($sql) or die('Erreur de DROP TABLES '.mysql_error());
     
        mysql_free_result($req1);
        // suppression des lignes
        $delete =  'DELETE FROM tp_arexx_capteurs WHERE Arexx_index in('.implode(',',$_POST['champ']).')';
    	$req2 = mysql_query($delete)or die('Erreur de DELETE FROM '.mysql_error());
     
     
           }
    	  	header('Location: index.php'); 
    }
     
     
     ?>
    Ouest-ce qui cloche ? Cela fait quelques heures que je cherche et j'en vient a bout !
    Un grand merci à vous !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td style="text-align:center;width:20%;"><input type="checkbox" id="squaredFour" name="champ[]" value="1" /></td>
    $_POST['champ'] aura pour valeurs... toujours que des 1 !!
    un simple var_dump ($_POST['champ']); te l'aurait prouvé !

    N.B. Le B.A.BA du débogage est d'AFFICHER les variables/requêtes... pour s'assurer qu'elles sont conformes.

    Il faut mettre Arexx_id en value de tes checkbox pour les récupérer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td style="text-align:center;width:20%;"><input type="checkbox" id="squaredFour" name="champ[]" value="<?php echo $row['Arexx_id']; ?>" /></td>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Points : 23
    Points
    23
    Par défaut
    Effectivement javait pas fait de var_dump, je le saurais toujours des var_dump après les variables !
    En donc après adaptation sa fonctionne parfaitement en effet javait pas le value="1", j’aurai réussit grâce au var_dump comme quoi !
    Par contre, il me supprime bien les lignes dans tp_arexx_capteurs mais pas leurs tables liées, je comprend pas!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Peut-être parce que tu ne lui a pas demandé ?...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Points : 23
    Points
    23
    Par défaut
    Oui! Y'avait ça, j'ai oublier d ele corriger dans mon méssage mais il m'affiche :
    Erreur de DROPYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TABLEtest' at line 1
    là c'est l'incompréhension totale !

    Merci à toi!

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Le message d'erreur est pourtant éloquent...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql1 = 'DROP TABLE' .$d['Arexx_Table'];
    si $d['Arexx_Table'] vaut test, ta requête deviendra
    , ce qui n'est pas vraiment correct...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Points : 23
    Points
    23
    Par défaut
    J'ai fait un var_dump et j'ai bien ça comme valeur, pis j'ai essayer d'ajouter un espace mais sans sucées .. Du coup je ne vois pas ou ce n'est pas correct ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/12/2009, 23h35
  2. Suppression table via SQVI
    Par billy51 dans le forum SAP
    Réponses: 0
    Dernier message: 21/04/2009, 23h18
  3. Suppression de lignes dans table via formulaire
    Par Pithonnette dans le forum IHM
    Réponses: 5
    Dernier message: 25/06/2008, 10h30
  4. [SQL] MaJ table via requete suppression
    Par Siu Lim Tao dans le forum VBA Access
    Réponses: 0
    Dernier message: 15/05/2008, 15h04
  5. Réponses: 3
    Dernier message: 19/09/2005, 14h20

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