Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de liste déroulante [ Archives / AU SECOURS !!! ] (paulinett)

vendredi 5 août 2005 à 11:39:17 | Problème de liste déroulante

paulinett

Bonjour,

Je suis débutante et je viens d'écrire un code qui doit permettre à un user d'obtenir des infos sur une machine en fonction de ses choix : nom_machine (zone de texte), type_machine (liste déroulante basée sur une sélection) et le nom_fournisseur (liste déroulante basée sur une sélection).Les deux premiers éléments correspondent à une table Machine et le dernier à une table Fournisseur dans une base MySQL.

J'ai donc écrit deux fichiers :
- un pour définir le formulaire de choix : il s'agit d'obtenir des informations sur une machine et sur le fournisseur. "selection2.php"
- un pour le résultat de la requete.  "ExMyPHP2BIS.php"

J'ai deux questions :
- quand j'effectue ma recherche, le message d'erreur suivant apparait dans la case Nom du Fournisseur de mon tableau : mysql_fetch_object(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\exmyphp2bis.php on line 42 ... je ne comprends pas du tout pourquoi.
Pouvez-vous m'aider à trouver une solution ?

- comment afficher un champ "Tous" dans une liste déroulante ? c'est-à-dire que j'aimerais, en plus de ma sélection sur ma table ajouter une ligne avec Tous. Cela permettrait une recherche plus "générale"


Je vous remercie d'avance. C'est très important pour moi (cadre d'une stage)


Voici mon code :

"selection2.php"

<HTML>
<HEAD>
<TITLE> Formulaire de recherche d'informations à propos d'une machine </TITLE>
<LINK REL =stylesheet HREF='film3.css' TYPE='text/css'>
</HEAD>

<BODY>

<H1> Formulaire de recherche d'informations à propos d'une machine </H1>

<FORM ACTION="ExMyPHP2BIS.php" METHOD=POST>

Ce Formulaire vous permet d'indiquer des paramètres pour la recherche d'informations à propos d'une machine :
 <P>
 <TABLE BORDER=3>
 <TR><TD>Nom de la machine :
     <TD> <INPUT TYPE=TEXT SIZE=20 NAME='nom_machine' VALUE='Tous'>
 </TR>
  </TABLE>

 <P>
 Type de la machine :
 
<select name="type_machine">
<?php
  require_once("Connect.php");
 
 // connexion au serveur et accès à la base
  $connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
  mysql_select_db (BASE, $connexion);
 
  $typeliste = mysql_query("SELECT DISTINCT type_machine FROM Machine");
  
     
  while($type_machine = mysql_fetch_array($typeliste))
  {
   echo '<option value="'.$type_machine['type_machine'].'">'.$type_machine['type_machine'].'</option>';};
  
?>
</select>

<P>

 Nom du fournisseur :

<select name="nom_fournisseur">
<?php
  require_once("Connect.php");
 
 // connexion au serveur et accès à la base
  $connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
  mysql_select_db (BASE, $connexion);
 
  $fournisseurliste = mysql_query("SELECT DISTINCT nom_fournisseur FROM Fournisseur");
       
  while($nom_fournisseur = mysql_fetch_array($fournisseurliste))
  {
   echo '<option value="'.$nom_fournisseur['nom_fournisseur'].'">'.$nom_fournisseur['nom_fournisseur'].'</option>';};
  
?>
</select>

<P>
<input type="submit">
</FORM>
</BODY></HTML> 

"ExMyPHP2BIS.php"

<HTML>

<HEAD>
<TITLE> Résultat de votre recherche </TITLE>
<LINK REL =stylesheet HREF='film3.css' TYPE='text/css'>
</HEAD>

<BODY>

<H1> Résultat de l'interrogation par formulaire </H1>

<?php
 
 require("Connect.php");
 
 // Prenons les variables dans le tableau. C'est surement le bon endroit pour effectuer les contrôles.
 
 $nom_machine = $_POST['nom_machine'];
 $type_machine = $_POST['type_machine'];
 $nom_fournisseur = $_POST['nom_fournisseur'];
  
 
 //Connexion au serveur et accès à la base
 $connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
 
 mysql_select_db (BASE, $connexion);
 
 
 if($nom_machine == "Tous")
  $requete = "SELECT nom_machine, type_machine, constructeur_machine, nom_fournisseur FROM Machine, Fournisseur WHERE type_machine=$type_machine AND nom_fournisseur=$nom_fournisseur AND Machine.id_fournisseur=Fournisseur.id_fournisseur";
 else
  $requete = "SELECT nom_machine, type_machine, constructeur_machine, nom_fournisseur FROM Machine, Fournisseur WHERE nom_machine LIKE '%$nom_machine%' AND type_machine=$type_machine AND nom_fournisseur=$nom_fournisseur AND Machine.id_fournisseur=Fournisseur.id_fournisseur";
  
 
 // Exécution et affichage de la requête
 $resultat = mysql_query($requete, $connexion);

 echo "<CENTER><TABLE BORDER=4 CELLSPACING=2 CELLPADDING=2>"
       ."<CAPTION ALIGN=bottom>Table <I>Machine</I></CAPTION>"
       ."<TR><TH>Nom de la machine<TH>Type de la machine<TH>Constructeur de la machine<TH>Nom du fournisseur</TR>\n";

while ($machine = mysql_fetch_object($resultat))
 {
  echo "<TR><TD>$machine->nom_machine<TD>$machine->type_machine<TD>"
       ."$machine->constructeur_machine<TD>$machine->nom_fournisseur\n";
 }      

echo "</TABLE></CENTER>\n";  
?>

</BODY>
</HTML>

     
 
 
 
       


vendredi 5 août 2005 à 12:21:24 | Re : Problème de liste déroulante

lotr

Réponse acceptée !
Bonjour,

"supplied argument is not a valid MySQL result resource in ..." signifie que ta requête comporte une erreur.
Pour savoir laquelle, utilise ce bout de code :
$req = "ici ta requête";
$res = mysql_query($req) or die('Erreur dans la requête : '.$req.'<br />'.mysql_error());
Le "or die(...)" te permettra de savoir quelle est l'erreur rencontrée.

Pour ton champ "Tous", il suffit que tu l'insères avant le résultat de ta requête.
echo'<select name="nom">';
echo '<option value="tous">Tous</option>';
while($ligne = mysql_fetch_array($res))
{
echo '<option value="'.$ligne['champ'].'">'.$ligne['champ'].'</option>';
}
echo '</select>';

vendredi 5 août 2005 à 14:16:53 | Re : Problème de liste déroulante

paulinett

Merci beaucoup !!! ca marche !!! c'est génial !
lotr = Lord Of The Ring ? (:

bonne fin de journée


vendredi 5 août 2005 à 14:35:38 | Re : Problème de liste déroulante

lotr

>lotr = Lord Of The Ring
Ouaip !
/me grande fan de Tolkien ;)



Cette discussion est classé dans : mysql, type, connexion, machine, fournisseur


Répondre à ce message

Sujets en rapport avec ce message

encore et toujours des pb !!! récuperer une variable à partir d'un lien [ par paulinett ] Bonjour,J'ai encore une question. J'ai créer un formulaire de recherche de machines (liste_machine.php) et j'ai mis un lien sur ma clé primaire : nom_ AU SECOURS !!! PB de ponctuation [ par paulinett ] Bonjour,Je souhaite faire un formulaire de modif d'une machine déjà existance dont j'ai récupéré le nom_machine qui est la clé primaire de ma table ma Pb de récupération de variable de checkbox [ par paulinett ] Bonjour,J'ai créé un formulaire qui affiche un tableau dont chaque ligne correspond à un fournisseur.Pour une machine donnée, dont je récupère le nom_ Problème de LIENS !!! AU SECOURS !!! [ par paulinett ] Bonjour,J'ai un problème avec des liens.j'ai trois fichiers :- liste_machine.php : lorsque je clique sur le nom d'une machine, je vais directement sur pb requete SQL. [ par LaTatadu91 ] Bonjour a tout le monde et spécialement a une personne a qui je dois deja plusieurs coups ;) Voila j'ai une table MySQL qui est composé comme ceci va PB d'insertion dans une base.. suite des checkbox !!! [ par paulinett ] Bonjour,J'ai déja posté à ce sujet mais je n'ai toujours pas de solution. J'ai un premier formulaire qui me donne une liste d'employés dans une struct CHECKBOX à cocher suivant une boucle [ par paulinett ] Bonjour,j'ai déja posté à propos de ce code mais la, le problème est autre.je voudrais faire un check dans les checkbox suivant une boucle.j'ai une li Comportement de requete un peu bizarre [ par simtiers ] Salut ! Bon, je préviens tout de suite, je débute en PHP et MySQL. Voilà, je voudrais faire un système de login sur mon site => vérifier si le nom d Probleme d'exécution d'un requete avec un parametre récupéré d'un lien ... [ par Poolky ] Salut à vous ... voila j'ai un petit problème avec l'exécution d'une requête "delete" contenant une variable que je passe par un lien. J'ai deux pages affichage de n colone sans javascript [ par ahcorad ] Voila, j'expose mon problème.je veux afficher les infos d'une personne suivant des critères, ces infos pouvant etre multiplié suivant le nombre d'attr


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.