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 :

petit pb requete [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut petit pb requete
    bonjour!
    voilà j'ai une page administration qui me pose un petit problème
    en effet, lorsque je veux modifier ma table soigner(id, pseudo, date) (c'est une association) ça beugue
    je m'explique
    l'id correspond à un animal à soigner, pseudo correspond à une personne soignant cet animal et la date correspond à la date de soin
    dans ma base de données, il n'y a qu'un seul animal à soigner qui correspond à l'id 1
    tous els jours une personne différente soigne cet animal
    donc en faite mon problème est que quand je veux changer la date d'un soin (via ma page administration), ça me change toutes mes données passant de :
    id = 1, pseudo = jeje date = 2005-11-09
    id = 2 pseudo = juju date = 2005-11-10

    à
    id = 1, pseudo = jeje date = 2005-11-10
    id = 1 pseudo = jeje date = 2005-11-10

    si j'ai voulu modifier la date du speudo jeje

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "Identifiant  : "."<input type ='text' name='id' value=\"".$data['id']."\">" ;
    echo "Pseudo : "."<input type ='text' name='pseudo' value=\"".$data['pseudo']."\">" ;
    echo "Date du soin : "."<input type ='date' name='date' value=\"".$data['date_soin']."\">" ;
    je sais bien que le code execute la requete en fonction de l'identifiant (qui est toujours = 1)
    j'ai donc essayé de le faire en fonction du pseudo, mais voici l'erreur :
    Champ 'jeje' inconnu dans where clause

    donc là je ne sais plus quoi faire...

    merci pour votre aide

  2. #2
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Bonjour, le mieux serait que tu nous mettes ta requête pour qu'on t'aide.
    En fait, vous ne voulez garder que le dernier soin pour chaque animal ?
    Pas d'historique ?
    a+

  3. #3
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    en faite je veux juste modifier la date d'un soin
    par exemple, si un pseudo veut changer sa date avec un autre pseudo pour telle ou telle raison
    voici la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql2 = "UPDATE soigner SET  id = '".$_POST['id']."', pseudo = '".$_POST['pseudo']."', date_soin = '".$_POST['date']."' WHERE id =  ".$_POST['supp'];
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    echo "Identifiant  : "."<input type ='text' name='id' value=\"".$data['id']."\">" ;
    echo "Pseudo : "."<input type ='text' name='pseudo' value=\"".$data['pseudo']."\">" ;
    echo "Date du soin : "."<input type ='date' name='date' value=\"".$data['date_soin']."\">" ;
     
    echo "<input type=radio name=supp value=\"".$data['id']."\" />"."<br><br>";
    voilou

  4. #4
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE id =  ".$_POST['supp'];
    C'est quoi supp ?
    Si j'ai bien compris ton problème, à savoir que l'id dans ta table est unique, je mettrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE id =  ".$_POST['id'];
    [edit]
    Ok ... désolé, j'avais pas vu le bouton radio. Il est là pour quoi faire lui ?
    Tu peux tout à fait utiliser la valeur de id directement.

  5. #5
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql2 = "UPDATE soigner SET pseudo = '".$_POST['pseudo']."', date_soin = '".$_POST['date']."' WHERE id = '".$_POST['id']."'";

  6. #6
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    et bien en faite, je modifie les elements (qui sont de type text) que je veux et je selectionne grace au bouton radio, quelle ligne je veux modifier, en fonction de l'id
    mais comme l'id est le meme (id = 1, id de l'animal a soigner, et il n'y en a qu'un seul)

  7. #7
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    merci mais j'utilise dejà ce code pour d'autre page administration et ça marche tres bien
    sauf que là le probleme c'est que l'id est toujours le meme étant donné qu'il n'y a qu'un seul animal a soigner, tous els jours...

  8. #8
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    oulah !
    Je te conseille de faire plutot 1 écran == 1 modification

    Ou alors j'ai pas compris ton besoin...

  9. #9
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    huumm lol
    bon je recommence
    en faite jai 6 lignes (id, pseudo, et date) qui sont de type "text" comme par exemple :
    1 jeje 2005-11-09
    1 juju 2005-11-10
    ....
    donc je modifie la date par exemple
    et à coté de chaque ligne, j'ai un bouton "radio" qui me permet de selectionner la ligne que j'ai modifié
    et donc le probleme que je rencontre est que si je modifie la 1ere ligne (1 jeje 2005-11-09) par 1 jeje 2005-11-11 et bien toutes les lignes deviennent :
    1 jeje 2005-11-11
    1 jeje 2005-11-11
    ......
    car en faite ma requete se fait en fonction de l'id et donc comme toutes les lignes ont le meme id (un seul animal à soigner tous les jours avec des pseudo differents)
    le problème est là, mais meme si je fais ma requete en fonction du pseudo, avec comme erreur :
    Champ 'jeje' inconnu dans where clause

  10. #10
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    mais je tiens à dire que quand j'ai cette erreur qui s'affiche
    Champ 'jeje' inconnu dans where clause

    je clique sur la flèche (<== precedent) d'internet explorer, et ma requete fonctionne, ça a bien mis à jour ma BDD, mais bon l'erreur est toujours là....

  11. #11
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par oceane751
    mais je tiens à dire que quand j'ai cette erreur qui s'affiche
    Champ 'jeje' inconnu dans where clause
    il faut que tu mette des quotes autour de ton pseudo quand tu fais la requête.

  12. #12
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    ok ok
    merci!!!!
    ça marche maintenant!!
    j'avais effectivement oublié des guillemet, dans la requete!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE pseudo =  \"".$_POST['supp']."\"";
    merci de ton aide!!

  13. #13
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Si tu modifies ton formulaire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo "Identifiant  : "."<input type ='text' name='id[".$data['id']."]' value=\"".$data['id']."\">" ;
    echo "Pseudo : "."<input type ='text' name='pseudo[".$data['id']."]' value=\"".$data['pseudo']."\">" ;
    echo "Date du soin : "."<input type ='date' name='date[".$data['id']."]' value=\"".$data['date_soin']."\">" ;
    echo "<input type=radio name="supp[".$data['id']."]" value=\"".$data['id']."\" />"."<br><br>";
    Disont que tu ai deux animaux id = 1 et id = 2
    Ainsi tu te retrouves avec le post suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    supp[1] = "on" //il a cocher pour la suppression
    supp[2] = ''   //pas sur meme qu'il y ait qq chose, mais on s'en moque
    id[1] = "1"
    id[2] = "2"
    pseudo[1] = "juju"
    pseudo[2] = "jeje"
    date[1] = "10-02-2005"
    date[2] = "11-34-2020"
    donc il te suffit de parcourir le tableau supp pour savoir lesquels ont été cochés et de faire la modif en conséquence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach($_POST['supp'] as $id => $coched) {
       if ($coched == 'on') {
          $sql = "UPDATE SET id = '".$_POST['id'][$id]."', name = '".$_POST['name'][$id]."', pseudo = '".$_POST['pseudo'][$id]."' WHERE id = '".$id."'";
          //... traitement requete
       }
    }

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

Discussions similaires

  1. [AJAX] Petit soucis requete AJAX
    Par mitchreward dans le forum AJAX
    Réponses: 2
    Dernier message: 02/03/2013, 11h05
  2. petit souci requete ajout dans sous formulaire
    Par tibiurs dans le forum Access
    Réponses: 3
    Dernier message: 03/07/2008, 21h18
  3. Petit probleme requete SQL
    Par cumucuni dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 26/07/2007, 22h42
  4. Petite question à propos d'une requete
    Par ViBy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/09/2004, 12h21
  5. petit probleme de requete
    Par nico33307 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 25/08/2004, 11h36

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