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 :

Probleme Select Into [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut [Résolu] Probleme Select Into
    Bonjour,

    le but de mon programme est d'echanger deux numeros.
    le numero a prend la place du numero b et le numero b la place du numero a.

    j'enregistre donc 2 numeros a et b qui s'affichent dans un tableau.
    et je souhaite les echanger pour que b se retrouve ds la case de a et le numero a ds la case de b.

    j'ai une table case_concentrateur qui comprend plusieurs colonnes et ds laquelle se retrouve mes numeros.

    id_case_concentrateur, id_concentrateur, numero_case_concentrateur, numero.

    j'effectue ensuite un Select Into pour echanger mes numeros, hors l'échange ne se fait pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    if ($nbr==2)
    {
       ("select id_case_concentrateur, id_concentrateur into id_case_concentrateur='1', id_concentrateur='1' from case_concentrateur where numero='$numero1'");
       ("select id_case_concentrateur, id_concentrateur into id_case_concentrateur='2', id_concentrateur='2' from case_concentrateur where numero='$numero2'");
     
       ("update case_concentrateur set numero='$numero2' where id_concentrateur=id_concentrateur='1' and id_case_concentrateur=id_case_concentrateur='1'");
       ("update case_concentrateur set numero='$numero1' where id_concentrateur=id_concentrateur='2' and id_case_concentrateur=id_case_concentrateur='2'");
     
       echo "<h3 style ='color:blue'>Les numéros ont été échangés</h3>";
     
    }
    Why?

    Merci bcp d'avance si certains peuvent me répondrent.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Par défaut
    Bonsoir je n'ai pas vérifié tes requêtes, mais il semblerait à premier vu que tu ne les traitent même pas ...?

    Tu écris juste du texte dans des parenthèses.
    Il n'y a pas de mysql_query.

  3. #3
    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
    ça existe les triples égalités ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id_case_concentrateur=id_case_concentrateur='1'
    Pour inverser deux valeurs tu peux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE table SET que_ordre = IF(que_ordre=2, 3, 2) WHERE que_ordre IN (2,3);
    Ici j'inverse dans la colonne que_ordre les valeurs 2 et 3.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    En effet l'imbécile je n'avais pas mis de mysql_query mais mm en le mettant l'échange ne se fait pas (en créant bien les variables bien sur) je vais essaye ce qui m'a été donné comme solution et je vous redit ça.

    Merci pour votre aide.

    Cdlt

  5. #5
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Bien j'ai modifié le code et j'obtient ceci :

    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
     
     
    if ($nbr==2)
    {
     
      $id_case_concentrateur1=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero1'");
      $id_case_concentrateur2=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero2'");
      $id_concentrateur1=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero1'");
      $id_concentrateur2=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero2'");
     
     
      $numEchangés1=mysql_query("update case_concentrateur set numero='$numero2' where id_concentrateur='$id_concentrateur1' and id_case_concentrateur='$numero_case_concentrateur1'");
      $numEchangés2=mysql_query("update case_concentrateur set numero='$numero1' where id_concentrateur='$id_concentrateur2' and id_case_concentrateur='$numero_case_concentrateur2'");
     
      echo "<h3 style ='color:blue'>Les numéros ont été échangés</h3>";
     
     
    }
    Aucunes erreurs et pourtant rien ne change c'est comme ci il ne se passait rien à l'éxécution.

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    C autorisés les caractères accentués pour des noms de variable ?

  7. #7
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Bonjour

    Je pense que ici en php oui mais en tout cas qu'il soit accentué ou non cela ne change rien j'ai essayé.

  8. #8
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Je sais que c tjs ma bête noir les quotes, doubles quotes (je le répéte souvent) mais en essayant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      $numEchangés1=mysql_query("update case_concentrateur set numero='".$numero2."' where id_concentrateur=".$id_concentrateur1." and id_case_concentrateur=".$numero_case_concentrateur1);
    En supposant que $numero2 est une chaine les id, des numériques

  9. #9
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Toujours pas...

    Je commence à desesperer...

    sinon un code comme celui la ne marcherait pas?
    (oui je sais ça fais bcp de codes différents mais bon j'essaye!! lol)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    if ($nbr==2)
    {
     
      $numEchangés1=mysql_query("UPDATE case_concentrateur SET numero='$numeroTampon' WHERE numero='$numero1'");
      $numEchangés2=mysql_query("UPDATE case_concentrateur SET numero='$numero1' WHERE numero='$numero2'");
      $numEchangés3=mysql_query("UPDATE case_concentrateur SET numero='$numero2' WHERE numero='$numeroTampon'");
     
      echo "<h3 style ='color:blue'>Les numéros ont été échangés</h3>";
     
    }
    Merci bcp tout de même pour votre aide, c'est en tout cas très gentil.

  10. #10
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Non, c'était mieux avant ...

    Tu peux me faire un affichage des variables pour les SELECT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      $id_case_concentrateur1=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero1'");
      $id_case_concentrateur2=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero2'");
      $id_concentrateur1=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero1'");
      $id_concentrateur2=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero2'");

  11. #11
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    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
     
    if ($nbr==2)
    {
     
      $numEchangés1=mysql_query("UPDATE case_concentrateur SET numero='$numeroTampon' WHERE numero='$numero1'");
      $numEchangés2=mysql_query("UPDATE case_concentrateur SET numero='$numero1' WHERE numero='$numero2'");
      $numEchangés3=mysql_query("UPDATE case_concentrateur SET numero='$numero2' WHERE numero='$numeroTampon'");
     
      echo "<h3 style ='color:blue'>Les numéros ont été échangés</h3>";
     
      echo $numero1;
      echo $numero2;
      echo $numeroTampon;
    	}
    Je rentre ds mon formulaire pour numero 1 :8080 et numero 2 : 9090
    Voici le résultat des mes 3 echo:

    8080 9090

    Dc pour numeroTampon rien..

  12. #12
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Et mais je viens juste de voir un truc qui est pas bon du tout

    Qd tu fais le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      $id_case_concentrateur1=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero1'");
      $id_case_concentrateur2=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero2'");
      $id_concentrateur1=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero1'");
      $id_concentrateur2=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero2'");
     
    // PUIS		
     
      $numEchangés1=mysql_query("update case_concentrateur set numero='$numero2' where id_concentrateur='$id_concentrateur1' and id_case_concentrateur='$numero_case_concentrateur1'");
      $numEchangés2=mysql_query("update case_concentrateur set numero='$numero1' where id_concentrateur='$id_concentrateur2' and id_case_concentrateur='$numero_case_concentrateur2'");
    par exemple
    $id_concentrateur1 n'est pas ce que tu crois
    il faut faire des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $row = mysql_fetch_assoc($id_concentrateur1));
    $id_concentrateur1 = $row['$id_concentrateur1'];
    de même avec $id_concentrateur2, $id_case_concentrateur1 et 2

  13. #13
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Comme ceci?

    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
     
     
      $id_case_concentrateur1=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero1'");
          $row = mysql_fetch_assoc($id_case_concentrateur1));
          $id_case_concentrateur1 = $row['$id_case_concentrateur1'];
      $id_case_concentrateur2=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero2'");
          $row = mysql_fetch_assoc($id_case_concentrateur2));
          $id_case_concentrateur1 = $row['$id_case_concentrateur2'];
      $id_concentrateur1=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero1'");
          $row = mysql_fetch_assoc($id_concentrateur1));
          $id_concentrateur1 = $row['$id_concentrateur1'];
      $id_concentrateur2=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero2'");
          $row = mysql_fetch_assoc($id_concentrateur2));
          $id_concentrateur2 = $row['$id_concentrateur2'];
     
      $numEchanges1=mysql_query("UPDATE case_concentrateur SET numero='$numero2' where id_concentrateur='$id_concentrateur1' and id_case_concentrateur='$numero_case_concentrateur1'");
      $numEchanges2=mysql_query("UPDATE case_concentrateur SET numero='$numero1' where id_concentrateur='$id_concentrateur2' and id_case_concentrateur='$numero_case_concentrateur2'");
     
      echo "<h3 style ='color:blue'>Les numéros ont été échangés</h3>";

  14. #14
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Presque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     $id_case_concentrateur1=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero1'");
          $row = mysql_fetch_assoc($id_case_concentrateur1));
          $id_case_concentrateur1 = $row['$id_case_concentrateur'];
          // $row le nom du champ de ton select DONC pas
          // $id_case_concentrateur1 mais $id_case_concentrateur
     
      $id_case_concentrateur2=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero2'");
          $row = mysql_fetch_assoc($id_case_concentrateur2));
          $id_case_concentrateur2 = $row['$id_case_concentrateur'];
          // 2 modif encore
     
     // De même avec les deux autres
     // Ensuite bien regarder les noms pour tes deux updates ;)

  15. #15
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    J'en suis la

    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
     
     
    if ($nbr==2)
    {
      $id_case_concentrateur1=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero1'");
          $row = mysql_fetch_assoc($id_case_concentrateur1);
          $id_case_concentrateur1 = $row['$id_case_concentrateur'];
      $id_case_concentrateur2=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero2'");
          $row = mysql_fetch_assoc($id_case_concentrateur2);
          $id_case_concentrateur1 = $row['$id_case_concentrateur'];
      $id_concentrateur1=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero1'");
          $row = mysql_fetch_assoc($id_concentrateur1);
          $id_concentrateur1 = $row['$id_concentrateur'];
      $id_concentrateur2=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero2'");
          $row = mysql_fetch_assoc($id_concentrateur2);
          $id_concentrateur2 = $row['$id_concentrateur'];
     
      $numEchanges1=mysql_query("UPDATE case_concentrateur SET numero='$numero2' where id_concentrateur='$id_concentrateur1' and id_case_concentrateur='$id_case_concentrateur1'");
      $numEchanges2=mysql_query("UPDATE case_concentrateur SET numero='$numero1' where id_concentrateur='$id_concentrateur2' and id_case_concentrateur='$id_case_concentrateur2'");
     
      echo "<h3 style ='color:blue'>Les numéros ont été échangés</h3>";
    En tout cas je le redis mais merci bcp pour ton aide ainsi que ta patience.

  16. #16
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Et ça donne ?

    Je dois m'absenter 30mn A+

  17. #17
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Et ça donne une belle erreur.
    Sinon concernant le code sql c'est bon car je l'ai testé directement ds phpmyadmin et ça marche très bien l'échange se fait très bien le pb vient dc de la syntaxe.

    L'erreur qui m'est donnée :

    Notice: Undefined index: $id_case_concentrateur in C:\wamp\www\travail\echange.php on line 156
    Notice: Undefined index: $id_case_concentrateur in C:\wamp\www\travail\echange.php on line 159
    Notice: Undefined index: $id_concentrateur in C:\wamp\www\travail\echange.php on line 162
    Notice: Undefined index: $id_concentrateur in C:\wamp\www\travail\echange.php on line 165


    Je donne le code accompagné de l'info des lignes :

    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
     
     
    152 if ($nbr==2)
    153 {
    154  $id_case_concentrateur1=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero1'");
    155      $row = mysql_fetch_assoc($id_case_concentrateur1);
    156      $id_case_concentrateur1 = $row['$id_case_concentrateur'];
    157  $id_case_concentrateur2=mysql_query("select id_case_concentrateur from case_concentrateur where numero='$numero2'");
    158      $row = mysql_fetch_assoc($id_case_concentrateur2);
    159      $id_case_concentrateur1 = $row['$id_case_concentrateur'];
    160  $id_concentrateur1=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero1'");
    161      $row = mysql_fetch_assoc($id_concentrateur1);
    162      $id_concentrateur1 = $row['$id_concentrateur'];
    163  $id_concentrateur2=mysql_query("select id_concentrateur from case_concentrateur where numero='$numero2'");
    164      $row = mysql_fetch_assoc($id_concentrateur2);
    165      $id_concentrateur2 = $row['$id_concentrateur'];
    166				
    167  $numEchanges1=mysql_query("UPDATE case_concentrateur SET numero='$numero2' where id_concentrateur='$id_concentrateur1' and id_case_concentrateur='$id_case_concentrateur1'");
    168  $numEchanges2=mysql_query("UPDATE case_concentrateur SET numero='$numero1' where id_concentrateur='$id_concentrateur2' and id_case_concentrateur='$id_case_concentrateur2'");
    169
    170  echo "<h3 style ='color:blue'>Les numéros ont été échangés</h3>";
    171	
    172 }

  18. #18
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    je commence à fatiguer, il n'y a pas de $

    Partout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $row['id_case_concentrateur'];

  19. #19
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Bien, j'ai fais les modifs aucunes erreurs.

    mais quand j'affiche mon tableau mes nombres sont restes à la mm place (pas d'échange donc).

    étrange...

  20. #20
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Oui, alors maintenant, tu devrais écrire tes requêtes UPDATE comme je t'avais écris avec des '".$var."' dedans car je sais que sous phpMyAdmin tu peux avoir cette différence (lui évalue les variables entre quote)

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

Discussions similaires

  1. [11gR2] Probleme du select into
    Par Devarion dans le forum PL/SQL
    Réponses: 3
    Dernier message: 27/06/2013, 11h58
  2. [Sauvegarde] SELECT * INTO OUTFILE ou bien Mysqldump ?
    Par mathieu dans le forum Administration
    Réponses: 17
    Dernier message: 25/04/2013, 16h58
  3. Probleme INSERT INTO avec un SELECT
    Par jujoluca dans le forum SQL
    Réponses: 2
    Dernier message: 09/01/2011, 13h14
  4. probleme En sql Select Into pour effectuer l'archivage des Commandes
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 22/06/2008, 16h54
  5. [html][javascript] probleme <select> affichage
    Par maysa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/09/2004, 15h17

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