Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/07/2007, 16h23   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 15
Points : 0
Points : 0
Par défaut [SQL] Probleme formulaire de recherche

Bonjour à tous, ca fait plusieurs semaines que je cherche un peu partout la réponse à ma question pour mon association:

J’ai crée une base avec une table avion dans cette table le nom de la compagnie, la ville de départ, la ville d'arrivé, la date de départ et le prix

Ensuite j'ai un formulaire de recherche qui permet à l'utilisateur de saisir sa ville de départ + sa ville d'arrivé et je souhaiterai que sa s'affiche sous forme de tableau le résultat désiré en prenant en compte les critères de l'utilisateur et j'ai jamais réussi.

J’ai trouvé pleins de script pour les formulaires d'inscription et des scripts pour afficher une donnée par exemple affiché tous le nom dune personne à partir dune table mais pas comme je recherche.

Une personne peut il m'aider ? ( en sachant que je ne connais que le html)

merci d'avance
thecatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 16h29   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Si tu ne connais pas du tout le PHP il va falloir prendre le temps de lire quelques cours qui vont te guider un peu:
PHP5 et les formulaires
Tutoriel ultra-minimal:passer des requetes MySQL depuis PHP

Une fois ces cours lus tu pourras commencer à essayer de rechercher une valeur dans ta base de données, puis lister les résultats dans un tableau etc.

Bon courage!
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 17h19   #3
Invité de passage
 
Inscription : juillet 2007
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 15
Points : 0
Points : 0
ba en fait j'ai lu les cours comment afficher les données dune table, et j'ai vu comment recuperer des donnée d'un formulaire pour les inserer dans la base mais pas un formulaire qui va chercher les infos pour les afficher
thecatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 17h24   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Plusieurs parties

1/ Le formulaire => apparemment vous savez faire
2/ Aller chercher des infos dans la base => apparemment vous savez faire.

3/ Aller chercher des infos dans la base renseignées par un formulaire :
Il faut récupérer les valeurs passées dans le formulaire en utilisant $_POST et ensuite construire vos requetes.

Exemple tout simple

Code :
1
2
3
<form name="monform">
<input type="text" name="nom"/>
</form>
code php correspondant:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
//si le nom a bien été tapé
if(isset($_POST['nom']))
{
// Je me connecte a la base
//...
// je fais ma requete
$requete = "Select * from matable where nom='". $_POST['nom']."'";
$resultat = mysql_query($requete) or die("Erreur SQL, requete : $requete");
 
while($res = mysql_fetch_assoc($resultat))
{
// ... affichage des infos
}
}
else
{echo "le nom n'a pas été renseigné";
}
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 17h37   #5
Invité de passage
 
Inscription : juillet 2007
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 15
Points : 0
Points : 0
un grand merci je vais déjà essayer avec ça merci bcp!!!!

par contre je suis la spécialiste je vais avoir d'autres questions
thecatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 17h37   #6
Invité de passage
 
Inscription : juillet 2007
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 15
Points : 0
Points : 0
premiere question et pourfaire la recherche sur deux table différentes?
thecatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 17h40   #7
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Il faut faire ce qu'on appelle des jointures en SQL, il va donc falloir se pencher aussi sur des cours en SQL!

en resumer c'est comme ca:
Code :
1
2
3
4
SELECT * from matable a, autretable b
WHERE a.Id = b.Id
AND a.numero = 12
AND b.nom = 'Jean'
par exemple
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 17h59   #8
Invité de passage
 
Inscription : juillet 2007
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 15
Points : 0
Points : 0
Voici mon formulaire je ne sais pas si il est bien?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<html>
 
<head>
<title>Recherche</title>
 
<meta name="generator" content="Namo WebEditor v5.0">
</head>
 
 
 
<DIV class=left>
<DIV class=entete style="MARGIN-TOP: 10px; MARGIN-LEFT: 5px">
        <p align="center">Ville départ : <INPUT class=selectLong id=departAller 
onchange="javascript:try{doEvent('onChange','departAller');}catch(e){}" 
name=departAller></DIV>
</DIV>
<p align="center">Ville arrivée : <INPUT 
class=selectLong id=arriveeAller 
onchange="javascript:try{doEvent('onChange','arriveeAller');}catch(e){}" 
name=arriveeAller></p>
 
<DIV class=left>
<DIV class=entete style="MARGIN-TOP: 10px; MARGIN-LEFT: 0px">&nbsp;</DIV>
<DIV class=entete style="MARGIN-TOP: 10px; MARGIN-LEFT: 32px">
        <p align="center">du : <SELECT 
class=selectSmall id=jourAller name=jourAller> <OPTION value=01>1</OPTION> 
<OPTION value=02>2</OPTION> <OPTION value=03 selected>3</OPTION> <OPTION 
value=04>4</OPTION> <OPTION value=05>5</OPTION> <OPTION value=06>6</OPTION> 
<OPTION value=07>7</OPTION> <OPTION value=08>8</OPTION> <OPTION 
value=09>9</OPTION> <OPTION value=10>10</OPTION> <OPTION value=11>11</OPTION> 
<OPTION value=12>12</OPTION> <OPTION value=13>13</OPTION> <OPTION 
value=14>14</OPTION> <OPTION value=15>15</OPTION> <OPTION value=16>16</OPTION> 
<OPTION value=17>17</OPTION> <OPTION value=18>18</OPTION> <OPTION 
value=19>19</OPTION> <OPTION value=20>20</OPTION> <OPTION value=21>21</OPTION> 
<OPTION value=22>22</OPTION> <OPTION value=23>23</OPTION> <OPTION 
value=24>24</OPTION> <OPTION value=25>25</OPTION> <OPTION value=26>26</OPTION> 
<OPTION value=27>27</OPTION> <OPTION value=28>28</OPTION> <OPTION 
value=29>29</OPTION> <OPTION value=30>30</OPTION> <OPTION 
value=31>31</OPTION></SELECT> / <SELECT class=selectMedium id=moisAller 
name=moisAller> <OPTION value=07/2007>juil. 2007</OPTION> <OPTION value=08/2007 
selected>août 2007</OPTION> <OPTION value=09/2007>sept. 2007</OPTION> <OPTION 
value=10/2007>oct. 2007</OPTION> <OPTION value=11/2007>nov. 2007</OPTION> 
<OPTION value=12/2007>déc. 2007</OPTION> <OPTION value=01/2008>janv. 
2008</OPTION> <OPTION value=02/2008>févr. 2008</OPTION> <OPTION 
value=03/2008>mars 2008</OPTION> <OPTION value=04/2008>avr. 2008</OPTION> 
<OPTION value=05/2008>mai 2008</OPTION> <OPTION value=06/2008>juin 
2008</OPTION></SELECT> </DIV>
<DIV class=entete id=retour style="MARGIN-TOP: 10px; MARGIN-LEFT: 31px">
        <p align="center">au : 
<SELECT class=selectSmall id=jourRetour name=jourRetour> <OPTION 
value=01>1</OPTION> <OPTION value=02>2</OPTION> <OPTION value=03>3</OPTION> 
<OPTION value=04>4</OPTION> <OPTION value=05>5</OPTION> <OPTION 
value=06>6</OPTION> <OPTION value=07>7</OPTION> <OPTION value=08>8</OPTION> 
<OPTION value=09>9</OPTION> <OPTION value=10 selected>10</OPTION> <OPTION 
value=11>11</OPTION> <OPTION value=12>12</OPTION> <OPTION value=13>13</OPTION> 
<OPTION value=14>14</OPTION> <OPTION value=15>15</OPTION> <OPTION 
value=16>16</OPTION> <OPTION value=17>17</OPTION> <OPTION value=18>18</OPTION> 
<OPTION value=19>19</OPTION> <OPTION value=20>20</OPTION> <OPTION 
value=21>21</OPTION> <OPTION value=22>22</OPTION> <OPTION value=23>23</OPTION> 
<OPTION value=24>24</OPTION> <OPTION value=25>25</OPTION> <OPTION 
value=26>26</OPTION> <OPTION value=27>27</OPTION> <OPTION value=28>28</OPTION> 
<OPTION value=29>29</OPTION> <OPTION value=30>30</OPTION> <OPTION 
value=31>31</OPTION></SELECT> / <SELECT class=selectMedium id=moisRetour 
name=moisRetour> <OPTION value=07/2007>juil. 2007</OPTION> <OPTION value=08/2007 
selected>août 2007</OPTION> <OPTION value=09/2007>sept. 2007</OPTION> <OPTION 
value=10/2007>oct. 2007</OPTION> <OPTION value=11/2007>nov. 2007</OPTION> 
<OPTION value=12/2007>déc. 2007</OPTION> <OPTION value=01/2008>janv. 
2008</OPTION> <OPTION value=02/2008>févr. 2008</OPTION> <OPTION 
value=03/2008>mars 2008</OPTION> <OPTION value=04/2008>avr. 2008</OPTION> 
<OPTION value=05/2008>mai 2008</OPTION> <OPTION value=06/2008>juin 
2008</OPTION></SELECT> </DIV> &nbsp;</DIV>
<DIV class=right>
<DIV class=entete style="MARGIN-TOP: 10px">
        <p align="center"><INPUT id=typeAS 
onclick=JavaScript:selectTypeAS() type=radio value=0 name=type> aller simple &nbsp; 
<INPUT id=typeAR onclick=JavaScript:selectTypeAR() type=radio CHECKED value=1 
name=type> aller retour</DIV>
<DIV class=entete style="MARGIN-TOP: 10px; MARGIN-LEFT: 4px">
        <p align="center">passager(s) : 
<SELECT class=selectSmall id=paxAdultes name=paxAdultes> <OPTION value=1 
selected>1</OPTION> <OPTION value=2>2</OPTION> <OPTION value=3>3</OPTION> 
<OPTION value=4>4</OPTION> <OPTION value=5>5</OPTION> <OPTION value=6>6</OPTION> 
<OPTION value=7>7</OPTION> <OPTION value=8>8</OPTION> <OPTION 
value=9>9</OPTION></SELECT> <SPAN class=normal>adulte(s)</SPAN> </DIV>
<DIV class=entete style="MARGIN-TOP: 10px; MARGIN-LEFT: 85px">
        <p align="center"><SELECT 
class=selectSmall id=paxEnfants name=paxEnfants> <OPTION value=0 
selected>0</OPTION> <OPTION value=1>1</OPTION> <OPTION value=2>2</OPTION> 
<OPTION value=3>3</OPTION> <OPTION value=4>4</OPTION> <OPTION value=5>5</OPTION> 
<OPTION value=6>6</OPTION> <OPTION value=7>7</OPTION> <OPTION value=8>8</OPTION> 
<OPTION value=9>9</OPTION></SELECT> <SPAN class=normal>enfant(s)</SPAN> <SPAN 
class=age>[3 à 12 ans]</SPAN> 
        <p align="center"><SELECT 
class=selectSmall id=paxBebes name=paxBebes> <OPTION value=0 selected>0</OPTION> 
<OPTION value=1>1</OPTION> <OPTION value=2>2</OPTION> <OPTION value=3>3</OPTION> 
<OPTION value=4>4</OPTION> <OPTION value=5>5</OPTION> <OPTION value=6>6</OPTION> 
<OPTION value=7>7</OPTION> <OPTION value=8>8</OPTION> <OPTION 
value=9>9</OPTION></SELECT> <SPAN class=normal>bébé(s)</SPAN> <SPAN 
class=age>[0 
à 2 ans]</SPAN> </DIV>
<DIV class=entete style="MARGIN-TOP: 10px; MARGIN-LEFT: 0px">
        <p align="center"><INPUT id=classeECO type=radio CHECKED value=1 name=classe> 
économique<INPUT id=classeAFF type=radio value=3 
name=classe> affaire<INPUT id=classePRE type=radio 
value=2 name=classe> première</DIV></DIV>
<CENTER>
<FORM ACTION="search.php" METHOD="POST">
<INPUT TYPE="submit" VALUE="Rechercher"></FORM>
</CENTER>
 
</body>
 
</html>
je vais maintenant essayer de renseigner ton code php
thecatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 18h04   #9
Invité de passage
 
Inscription : juillet 2007
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 15
Points : 0
Points : 0
voici le code php avec sur une seule table :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
 
// on se connecte à notre base  
$base = mysql_connect ('localhost', 'root', '');  
mysql_select_db ('avion', $base) ;  
?>
 
<html>
<head>
<title>rechercher</title>
</head>
<body>
<?php
if(isset($_POST['nom']))
 
// lancement de la requete  
$requete = "Select * from matable where nom='". $_POST['nom']."'";
$resultat = mysql_query($requete) or die("Erreur SQL, requete : $requete");
 
while($res = mysql_fetch_assoc($resultat))  
 
// on recupere le resultat sous forme d'un tableau  
$data = mysql_fetch_array($req); 
 
else
{echo "le nom n'a pas été renseigné";
} 
 
// on libère l'espace mémoire alloué pour cette interrogation de la base  
mysql_free_result ($req);  
mysql_close ();  
?>
thecatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 18h05   #10
Invité de passage
 
Inscription : juillet 2007
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 15
Points : 0
Points : 0
comment je fais pour recuperer tous les champs de mon formulaire??

ce forum est géniale merci encore pour l'aide
thecatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 08h36   #11
Nouveau Membre du Club
 
Étudiant
Inscription : juin 2006
Messages : 66
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2006
Messages : 66
Points : 37
Points : 37
salut

pour récupérer les valeurs de ton formulaire, tu doit utiliser $_POST['nom du formulaire']. tu as donnée des nom à tes input c'est ca que tu doit utiliser.

ex : dans ton cas $_POST['departAller'] ... bien sur il est mieu de faire un test s'il est renseigner avant de l'utiliser de la même facon que pour le nom.

par contre je ne vois pas ce que tu fait avec ca?
Citation:
while($res = mysql_fetch_assoc($resultat))

// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);
Les fonction mysql_fetch_assoc() et mysql_fetch_array() renvoi tous les deux des tableaux et dans le code que tu as fournit $req n'est pas renseigner tu doit avoir une erreur enfin pas sur il renvoi peut etre false si s'est vide.

Ce que tu mets entre les parentheses de ces fonctions est la valeur qui est renvoyer par la fonction mysql_query() soit dans ton cas $resultat
benoît82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h14.


 
 
 
 
Partenaires

Hébergement Web