La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
   Warning: mysql_query() expects parameter 1 to be string, resource given in
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Warning: mysql_query() expects parameter 1 to be string, resource given in  (Lu 1985 fois)
Warning: mysql_query() expects parameter 1 to be string, resource given in
« sur: le 20-06-2011 a 21:02:43 »
aspkiddy
Membre récent
*

Hors-Ligne

Messages: 17





Voir le Profil    E-Mail
Répondre avec citation

Bonjour,

J’ai un bdd qui contient des tables et entre eux, il y a une relation...

tb_code_prmtn11 (qui contient les informations sur les gens)
id_resultat
fld_email_id ( FOREIGN KEY (`fld_email_id`) REFERENCES `tb_code_prmtn11_email` (`id_email`) ON DELETE NO ACTION ON UPDATE CASCADE;)


tb_code_prmtn11_email (qui contient les emails de gens)

fld_email_id
fld_nom_email



Alors, je vais afficher les emails dans un menu déroulant. Dans ce menu, il y a alors tous les courriels qui vient de la table "tb_code_prmtn11_email" mais je voudrais que quand on affiche les informations d'une personne

je veux que dans ce menu, son courriel soit automatiquement sélectionné parmi les autres options

Voici le message erreur :
Citation:
Warning: mysql_query() expects parameter 1 to be string, resource given in C:...........\verification\edit.php on line 53

Voici mon code :
[php]<?php

   // pour tester si variable id contient un valeur (je le recupere par GET)
    echo $id;
   
?>--

// id toujours un valeur...

<select name="courriel_menu_" id="courriel_menu_"  class="valid" onchange="submit()">
      <?php
      // trouver le valeur du select qui se trouve dans 1er table et afficher l'email qui se trouve dans 2e table   
            $res_courriel_select= mysql_query("SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                            
          FROM $table_db td
                            
         INNER JOIN $table_db_email email
         
         ON td.fld_email_id = email.id_email
         
         WHERE td.id_resultat=$id");
         
   $rep_courriel_select =  mysql_query($res_courriel_select, $cnx) or die( mysql_error() ) ;  // LA LIGNE 53!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
         
         while($row=mysql_fetch_row($rep_courriel_select))
               {
                  
                  
                  
                  echo '<option selected=\"selected\" value="'.$row['fld_email_id'].'">'.$row['fld_nom_email'].'</option>';
               }
         
         
         
      // afficher les autres options
         $res_courriel_menu =  " select DISTINCT id_email, fld_nom_email FROM $table_db_email ORDER BY fld_nom_email ";
                  
         $rep_courriel_menu =  mysql_query($res_courriel_menu, $cnx) or die( mysql_error() ) ;
         
         
         
            while($affiche_contenu_courriel_menu = mysql_fetch_assoc($rep_courriel_menu)) {
             
            
            echo '<option value="'.$affiche_contenu_courriel_menu['id_email'].'"';
                           if($primes==$affiche_contenu_courriel_menu['fld_nom_email']){echo " selected";} // pour afficher la selection si on le change
                           echo '>'.$affiche_contenu_courriel_menu['fld_nom_email'].'</option>';
                           
                           
                     
            

            }
        ?>
    </select>
[/php]

Alors mon menu est vide  :cry:  et j'ai une alerte ops:  :
Warning: mysql_query() expects parameter 1 to be string, resource given in C:.....\edit.php on line 53

Rapporter au modérateur  

Re: Warning: mysql_query() expects parameter 1 to be string, resource given in
« Répondre #1 sur: le 20-06-2011 a 21:35:10 »
Pad
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1391





Voir le Profil    WWW
Répondre avec citation

tu as deux mysql_query, alors qu'il ne le faut qu'une fois pour exécuter ta requête !

$res_courriel_select= mysql_query("SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                           
          FROM $table_db td
                           
        INNER JOIN $table_db_email email
       
        ON td.fld_email_id = email.id_email
       
        WHERE td.id_resultat=$id");
       
  $rep_courriel_select =  mysql_query($res_courriel_select, $cnx) or die( mysql_error() ) ;  // LA LIGNE 53!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Rapporter au modérateur  

Webdéveloppeur / Webdesigner Indépendant
http://vincentdapp.fr/
SIRET 517 691 408 00028
Re: Warning: mysql_query() expects parameter 1 to be string, resource given in
« Répondre #2 sur: le 20-06-2011 a 21:47:24 »
aspkiddy
Membre récent
*

Hors-Ligne

Messages: 17





Voir le Profil    E-Mail
Répondre avec citation

Merci Pad,

J'ai rectifié :
Code:
$res_courriel_select= "SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                             FROM $table_db td
                            
                             INNER JOIN $table_db_email email
                             ON td.fld_email_id = email.id_email
         
                                   WHERE td.id_resultat=$id";
         
         $rep_courriel_select =  mysql_query($res_courriel_select, $cnx) or die( mysql_error() ) ;
         
         while($row=mysql_fetch_row($rep_courriel_select))


Ça marche... En fait mon menu contient tous les emails de ma table...

Par contre il n'y a pas une option (ni la bon option) a été sélectionnée...

et j'ai regardé le code source de la page sous FireFox , c'est vide :
exemple :
Code:
15--<select name="courriel_menu_new_cmpgn" id="courriel_menu_new_cmpgn" onchange="submit()">
      <option selected=\"selected\" value=""></option><option value="toto">toto@toto.com</option>

Rapporter au modérateur  
Re: Warning: mysql_query() expects parameter 1 to be string, resource given in
« Répondre #3 sur: le 21-06-2011 a 05:30:20 »
Pad
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1391





Voir le Profil    WWW
Répondre avec citation

met le morceau de code contenant ce "selected" qui fonctionne pas

Rapporter au modérateur  

Webdéveloppeur / Webdesigner Indépendant
http://vincentdapp.fr/
SIRET 517 691 408 00028
Re: Warning: mysql_query() expects parameter 1 to be string, resource given in
« Répondre #4 sur: le 21-06-2011 a 14:14:16 »
aspkiddy
Membre récent
*

Hors-Ligne

Messages: 17





Voir le Profil    E-Mail
Répondre avec citation

et voila :
Code:
<select name="courriel_menu_new_cmpgn" id="courriel_menu_new_cmpgn" onchange="submit()">
      <?php
         //-------- affichage du menu avec la selection selon id
            $res_courriel_select= "SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                             FROM $table_db td
                            
                             INNER JOIN $table_db_email email
                             ON td.fld_email_id = email.id_email
         
                                   WHERE td.id_resultat=$id";
         
         $rep_courriel_select =  mysql_query($res_courriel_select, $cnx) or die( mysql_error() ) ;
         
         while($row=mysql_fetch_row($rep_courriel_select))
               {
                  
                  
                  
                  echo '<option selected=\"selected\" value="'.$row['fld_email_id'].'">'.$row['fld_nom_email'].'</option>';
               }
         
         
          //-------- affichage tous les autres options du menu

         $res_courriel_menu =  " select DISTINCT id_email, fld_nom_email, fld_adresse_email FROM $table_db_email ORDER BY fld_nom_email ";
                  
         $rep_courriel_menu =  mysql_query($res_courriel_menu, $cnx) or die( mysql_error() ) ;
         
         
         
            while($affiche_contenu_courriel_menu = mysql_fetch_assoc($rep_courriel_menu)) {
             
            
            echo '<option value="'.$affiche_contenu_courriel_menu['id_email'].'"';
                           if($primes==$affiche_contenu_courriel_menu['fld_nom_email']){echo " selected";} // pour re-afficher la selectionne si on change...
                           echo '>'.$affiche_contenu_courriel_menu['fld_nom_email'].'</option>';
                           
                           
                     
            

            }
        ?>
    </select>

Rapporter au modérateur  
Re: Warning: mysql_query() expects parameter 1 to be string, resource given in
« Répondre #5 sur: le 21-06-2011 a 18:53:28 »
Pad
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1391





Voir le Profil    WWW
Répondre avec citation

y'a deux selected dans le code là, c'est pour ça que je t'ai demandé de mettre que la partie du selected qui fonctionne pas...

Rapporter au modérateur  

Webdéveloppeur / Webdesigner Indépendant
http://vincentdapp.fr/
SIRET 517 691 408 00028
Re: Warning: mysql_query() expects parameter 1 to be string, resource given in
« Répondre #6 sur: le 26-06-2011 a 21:11:54 »
aspkiddy
Membre récent
*

Hors-Ligne

Messages: 17





Voir le Profil    E-Mail
Répondre avec citation

Salut Pad,
En fin, Mon menu marche et affiche toutes les options existent sur la table  (par variable : $table_db_email) avec le code suivant
Code:
<select name="email_menu" id="email_menu" onchange="submit()">
        <?php
         
            echo "<option selected=\"selected\" value=''>Choisir le nom</option>";
         

         $req_email_menu =  " select DISTINCT id_email, fld_nom_email, fld_adresse_email FROM $table_db_email ORDER BY fld_nom_email ";
                  
         $rep_email_menu =  mysql_query($req_email_menu, $cnx) or die( mysql_error() ) ;
         
         
         
            while($show_contenu_email_menu = mysql_fetch_assoc($rep_email_menu)) {
             
            
            echo '<option value="'.$show_contenu_email_menu['id_email'].'"';
            
            
            

                  
                  //if($primes==$show_contenu_email_menu['fld_nom_email']){echo " selected";} // pour afficher la selectionne
                           echo '>'.$show_contenu_email_menu['fld_nom_email'].'  - '.$show_contenu_email_menu['fld_adresse_email'].'</option>';
                           
                           
                     
            

            }
        ?>
      </select>


Et voici le retour de code (en affichant "le code source de la page") que j'obtiens dans Firefox
Code:

<select name="email_menu" id="email_menu" onchange="submit()">

        <option selected="selected" value=''>Choisir le nom</option><option value="tomo">TOTO MONO  - toto.mono@test.com</option><option value="kito">KIKI TOTO - kiki.toto@test.com</option></select>

Et maintenant je vais ajouter quelques lignes dans mon code pour sélectionner une option de ce menu : cette option sélectionnée se trouve dans ma table table_db...
Code:
<select name="email_menu" id="email_menu" onchange="submit()">
        <?php
         
            echo "<option selected=\"selected\" value=''>Choisir le nom</option>";
         

         $req_email_menu =  " select DISTINCT id_email, fld_nom_email, fld_adresse_email FROM $table_db_email ORDER BY fld_nom_email ";
                  
         $rep_email_menu =  mysql_query($req_email_menu, $cnx) or die( mysql_error() ) ;
         
         
         
            while($show_contenu_email_menu = mysql_fetch_assoc($rep_email_menu)) {
             
            
            echo '<option value="'.$show_contenu_email_menu['id_email'].'"';
            
            
            
////////***************************************** selectionner option qui est inscrit dans la table
            
            $req_email_adress_menu_for_selected =  "SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                             FROM $table_db td
                            
                             INNER JOIN $table_db_email email
                             ON td.fld_email_id = email.id_email
         
                                   WHERE td.id_resultat=$id ";
           $rep_email_adress_menu_for_selected =  mysql_query($req_email_adress_menu_for_selected, $cnx) or die( mysql_error() ) ;
              while($show_email_adress_menu_for_selected = mysql_fetch_assoc($rep_email_adress_menu_for_selected))
              {
               if($emailselected==$show_email_adress_menu['fld_email_id']){echo " selected";} //display to select an option!!!!!!!!!!!!!!!!
               }
            
/////--------------------------------
                  //if($primes==$show_contenu_email_menu['fld_nom_email']){echo " selected";} // pour afficher la selectionne
                           echo '>'.$show_contenu_email_menu['fld_nom_email'].'  - '.$show_contenu_email_menu['fld_adresse_email'].'</option>';
                           
                           
                     
            

            }
        ?>
      </select>

Mon menu marche, mais sélectionne toutes les options pourtant dans mon bdd, il n'y a qu'une. Cela veut dire que mon code que j'ai ajouté n'est pas bon...

En affichant "le code source de la page" dans Firefox je vois que :

Code:
<select name="email_menu" id="email_menu" onchange="submit()">

        <option selected="selected" value=''>Choisir le nom</option><option value="tomo"  selected>TOTO MONO  - toto.mono@test.com</option><option value="kito"  selected>KIKI TOTO - kiki.toto@test.com</option></select>


Alors, comment peux-je afficher, dans mon menu, une option sélectionnée qui se trouve dans la table table_db, tout en affichant toute les options qui se trouvent dans une autre table (table_db_emai) ?

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg