begin process at 2010 02 10 12:54:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Problème de liste déroulante


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de liste déroulante

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ée 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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,576 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales