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 :

[SQL] Probleme formulaire de recherche [Fait]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    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

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    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!

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    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

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form name="monform">
    <input type="text" name="nom"/>
    </form>
    code php correspondant:
    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
     
    //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é";
    }

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    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

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    premiere question et pourfaire la recherche sur deux table différentes?

  7. #7
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    Voici mon formulaire je ne sais pas si il est bien?

    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
    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

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    voici le code php avec sur une seule table :

    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
    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 ();  
    ?>

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 72
    Points : 28
    Points
    28
    Par défaut
    comment je fais pour recuperer tous les champs de mon formulaire??

    ce forum est géniale merci encore pour l'aide

  11. #11
    Membre du Club
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    66
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 66
    Points : 62
    Points
    62
    Par défaut
    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?
    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

Discussions similaires

  1. [SQL] Problemes formulaire de recherche
    Par arsenik dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/06/2007, 10h22
  2. [SQL]vs[VBA] dans formulaire de recherche
    Par alex.a dans le forum Access
    Réponses: 3
    Dernier message: 28/07/2006, 16h20
  3. [SQL] Prob formulaire de recherche
    Par Hakunamatata dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 29/05/2006, 21h31
  4. Réponses: 4
    Dernier message: 25/04/2006, 11h10
  5. [SQL] probleme sur recherche
    Par Tib781 dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2005, 12h31

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