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 :

[SQL] mauvaise requete ou mauvais codage ?


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut [SQL] mauvaise requete ou mauvais codage ?
    voila j'affiche les login et mot de passe des utilisateurs et j'ai affiché pour chacun un buton supprimer
    je souhaite donc que pour bouton le supprimer sur lequel je clique le login et mot de passe soit supprimé de ma base

    voici mon affichage de la liste :
    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
     
     require_once('CUser.php');
            $clients = new CUser();
            $nbcli = $clients->Select_all();
            $tab_cli = $clients->the_values;
            $info;
            $j=0;
            for(;$j < $nbcli; $j++)
            {
               $k=0;
               $info[$j][$k++] = '<a href=" gestionclient.php?EX=1&amp;numcli='
                                 . $tab_cli['LOGIN'][$j]
                                 . '">'
                                 . $tab_cli['LOGIN'][$j]
                                 . '</a>'
                                 . '<br>'
                                 . '<a href=" gestionclient.php?EX=2&amp;numcli='
                                 . $tab_cli['IDC'][$i]
                                 . '">'
                                 . 'supprimer'
                                 . '</a>';
                //$info[$j][$k++] = $tab_cli['PWD'][$j];
            }
    et mon fichier gestionclient
    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
     
    <?php
    session_start();
    $i=0;
    define('START',$i++);
    define('SUPP',$i++);
    define('AJOU',$i++);
    define('CLIENT',$i++);
    $EX = isset($_REQUEST['EX']) ? $_REQUEST['EX'] : 0;
    switch($EX)
    {
      case START : start();
                    break;
      case CLIENT : client();
                     break;
      case SUPP   : suppcli();
                     break;
      case AJOU   : ajoucli();
                     break;
    }
    function start()
    {
               require ('client.php');
    } //start()
    function client()
    {
               $numcli = $_REQUEST['numcli'];
               require('client.php');
    } //client()
    function suppcli()
    {
            if(!isset($_SESSION['login']))
            {
               echo '<center>Vous n\'êtes pas autorisé à acceder a cette page du site sans login<br>';
               echo '<a href="adminpass.php">Logez vous </center></a>';
            }
            else
            {
               require('client.php');
               require_once('CUser.php');
               $client = new CUser($_REQUEST['numfam']);
               $client->Delete();
               //require('client.php');
            }
    } //suppcli()
    function ajoucli()
    {
               require('ajout_client.mod');
               require_once('CUser.php');
               $cli = new CUser();
               $cli->Set_login($_POST['login']);
               $cli->Set_pwd($_POST['pwd']);
               $cli->Insert();
    } //ajoucli()
    ?>
    et enfin mon DELETE
    function Delete()
    {
    $query = "DELETE FROM USERS WHERE LOGIN = " .$_REQUEST['login'];
    $result = mysql_query($query);
    echo $query;
    } //Delete()

    voila donc pour l'instant rien ne se supprime est ce que c'est la requete ou le paramétrage de numfam puisque mon constructeur de la classe CUser à pour parametre le login et le mot de passe ...

    j'espere que quelqu'un pourra m'aider
    merci

  2. #2
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Login et users sont écrits en majuscule dans ta base?

  3. #3
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    non en minuscule il faut que je mette tout en minuscule ou seulement dans la requete ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut a l'aide
    j'ai modifié mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $info[$j][$k++] = '<a href=" gestionclient.php?EX=0&amp;numcli='
                                 . $tab_cli['LOGIN'][$j]
                                 . '">'
                                 . $tab_cli['LOGIN'][$j]
                                 . '</a>'
                                 . '<br>'
                                 . '<a href=" gestionclient.php?EX=1&amp;numcli='
                                 . $tab_cli['LOGIN'][$i]
                                 . '">'
                                 . 'supprimer'
                                 . '</a>';
    et la fonction suppclient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      require('client.php');
               require_once('CUser.php');
               $client = new CUser($login);
               $client->Delete();
    dans ce cas au second clique sur n'importe quel bouton supprimer toute la table se vide
    je n'arrive pas à spécifier que c'est l'élement de la ligne du supprimier qu'il faut supprimer justement

  5. #5
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    et que donne l'affichage de $query?

  6. #6
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut ceci
    DELETE FROM USERS WHERE LOGIN =

    je suis sur c'est au niveau de mes parametres puisque cette ligne
    $client = new CUser($_REQUEST['numcli']);
    selon se que je met dans les parentheses au moment du clic sur n'importe quel supprimer soit tout se supprime soit rien donc il faut arriver à spécifier lequel élement
    mé ossi la :
    . '<a href=" gestionclient.php?EX=1&amp;numcli='
    . $tab_cli['LOGIN'][$i]
    . '">'
    . 'supprimer'
    . '</a>';

    que çasoit relier je fais plein de test mais .... pas comme je veux

  7. #7
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    quand tu affiches la source de ta page, les liens sont corrects, on retrouve bien les bons identifiants ou il n'y a rien?

  8. #8
    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


    => A prendre au second degré bien sûr (rapport à un autre topic récent ou ça chauffe un peu)

    Pour ton problème, je commencerais par mettre des quotes autour du login du membre dans la requête DELETE de ton premier post. Par contre j'ai rien compris à ton dernier message...
    Et sinon c'est quoi le amp; dans le lien de ton dernier message (c'est un caractère spécial ok mais ça fout pas le bordel dans l'url ? (je sais pas c'est juste une question)).

  9. #9
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DELETE FROM USERS WHERE LOGIN = <br><table>liste des clients<br><tr><td><a href="gestionclient.php?EX=0&amp;nomcli=prenom">prenom</a><a href="gestionclient.php?EX=1&amp;nomcli="><br>supprimer</a>
    pour supprimer nomcli= ?? rien
    pareil pour la requete login = ??

    comment bien paramétré pour prendre en compte l'élément à supprimer !
    en plus j'ai fais la meme chose pour des familles mais l'attribut parametre de la classe famille est un seul élément mais la pour ma table USER G 2 attribut login et pwd

  10. #10
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    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
    34
    35
     
     function CFamille ($_id = 0)
            {
     
     
    $query = "DELETE FROM FAMILLES WHERE ID_F = ".$this->v
    alue['ID_F'];
                    $result = mysql_query($query);
     
    function suppr_fam()
    {
               require_once('CFamille.php');
               $famille = new CFamille($_REQUEST['numfam']);
               $famille->Delete();
     
               require('menu_fam_admin.php');
    } //suppr_fam()
     
    for(;$i < $nbfam; $i++)
    {
            $data[$i] = '<a href=" admin.php?EX=1&amp;numfam='
                        . $tab_fam['ID_F'][$i] . '">'
                        . $tab_fam['NOM_F'][$i]
                        . '</a>'
                        . '<a href="admin.php?EX=7&amp;numfam='
                        . $tab_fam['ID_F'][$i] .'">'
                        . '<br>'
                        . 'supprimer'
                        . '</a>'
                        . ' '
                        . '<a href="admin.php?EX=9&amp;numfam='
                        . $tab_fam['ID_F'][$i] . '">'
                        . 'modifier'
                        . '</a>';
    }
    voila je vous ais mis en vrac ce sui concerne les familles et cel amrche tres bien

  11. #11
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    et le code de
    $clients->the_values;

    car il se peut que cette méthode ne fonctionne pas, du moins si a la generation des liens il n'y a rien, il y a de forte chance que cela vienne de la

  12. #12
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    pour preuve quand j'affiche la source des familles j'ai :
    <a href=" admin.php?EX=1&amp;numfam=1">IMPRIMANTE</a><a href="admin.php?EX=7&amp;numfam=1"><br>supprimer</a>

    la dans les 2 cas le numfam = 1 alor que moi pour la suppression le numcli n'est pas spécifié

  13. #13
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    Bebel mon the_values fonctionne puisque ma liste s'affiche quand meme
    mon Select_all marche correctement !

  14. #14
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    bon si cela ne vient pas de ta methode, que contient exactement ton tableau alors, je pense qu'un var_dump devrait aider a voir.

  15. #15
    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
    C'est quoi la requête de 10h17 ?

    Sinon tu as essayé avec les quotes (avec un id numérique pas de problème mais avec un login en string à voir) ?

  16. #16
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    mon tableau est comme ceci

    login1 supprimer
    login2 supprimer
    login3 supprimer

    donc je veux que quand je clique sur supprimer (ligne 2) login2 se supprime de ma table je pensais que vous aviez compris ça

    var_dump je ne connais pas ou je l'utilise ?

    et la requete 10h17 c''est la source de al page du tablea

  17. #17
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    mon tableau est de la forme
    login1 supprimer
    login2 supprimer
    login3 supprimer
    il faut je cvous rappele que lorsque je clique sur supprimer(ligne2) le login 2 se supprime de ma table

    var_dump je sais pas ou l'utiliser j'ai jamais utiliser
    et la requete 10H17 c'est la page source de mon tableau

  18. #18
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    var_dump permet d'afficher la valeur et le type de la variable

    fais un var_dump($tab_fam); et tu le place juste avant ta boucle d'affichage.

  19. #19
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut oulah
    je te laisse constater :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rray(3) { ["IDC"]=>  array(3) { [0]=>  string(1) "2" [1]=>  string(1) "1" [2]=>  string(1) "3" } ["LOGIN"]=>  array(3) { [0]=>  string(6) "prenom" [1]=>  string(7) "bonjour" [2]=>  string(0) "" } ["PWD"]=>  array(3) { [0]=>  string(4) "nomu" [1]=>  string(6) "coucou" [2]=>  string(0) "" } }
    sachant que mon affichage du tableau est :
    prenom supprimer
    bonjour supprimer
    supprimer

    la derniere ligne ya un blacn car j'essai egalment de faire marche l'ajout d'utilisateur

  20. #20
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2006
    Messages : 264
    Par défaut
    j'ai fait une petite erreur entre i et j ducou sur ma requete j'ai bien
    DELETE FROM USERS WHERE LOGIN = prenom
    quand je clique sur prenomet de meme pour login = bonjour

    donc la mon soussi sé ke ma requte ne sexecute pas correctement

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

Discussions similaires

  1. [requete SQL] Probleme requete UPDATE
    Par Shiryu44 dans le forum JDBC
    Réponses: 12
    Dernier message: 10/03/2005, 11h41
  2. [excel > sql] effectuer requete d'insertion
    Par kiki93 dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/02/2005, 15h30
  3. [SQL] une requete qui fait mal a la tete
    Par MailOut dans le forum Langage SQL
    Réponses: 7
    Dernier message: 07/02/2005, 16h22
  4. [PL/SQL] Optimisation requete SQL
    Par CDRIK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/10/2004, 09h52
  5. [SQL+php] requete a trouver
    Par theclear dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/10/2004, 09h50

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