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 :

Menu deroulant + zone de recherche


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut Menu deroulant + zone de recherche
    Bonjour a tous.

    j'avance petit a petit dans mon projet qui se finalise je pense a grand pas.

    Je fais un reporting de toute un table comme ceci.

    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
    <?
    // Connecxion au serveur mysql
    $connect=mysql_connect('localhost','root','') or die ("Erreur de connexion avec le serveur Mysql.");		
     
    // Connexion a la base de donnée : softlist
    mysql_select_db('softlist',$connect) or die ("Erreur de connexion a la base de donnée.");
     
    $select="SELECT * FROM `t_report`";
    $resultat=mysql_query("$select;");
    $rang=mysql_num_rows($resultat);
     
    // mettre les valeur de la table dans le tableau	
     
    for ($i=0;$i<$rang;$i++)
    { 
    $id=mysql_result($resultat,$i,"id");
    $date=mysql_result($resultat,$i,"date");
    $heure=mysql_result($resultat,$i,"heure");
    $npc=mysql_result($resultat,$i,"npc");
    $nom=mysql_result($resultat,$i,"nom");
    $prenom=mysql_result($resultat,$i,"prenom");
    $soft=mysql_result($resultat,$i,"soft");
     
    echo"  
    <tr> 
        <td width=5%><center>".($i+1)."</center></td> 
    	<td width=8%><center>".$date."</center></td>
    	<td width=7%><center>".$heure."</center></td>
    	<td width=10%><center>".$npc."</center></td>
    	<td width=15%><center>".$nom."</center></td>
        <td width=15%><center>".$prenom."</center></td>
    	<td width=40%><center>".$soft."</center></td>	
    </tr>"
    ;}
     
    ?>
    j'aimerais ajouter une liste deroulante avec 4 choix : - computers - Nom - prenom - date.

    puis une zone de texte qui corespondra avec le choix. et a l'aide d'un bouton je ferais une recherche dans ma table "choix".

    Voila j'aimerais avec quelque info dessus car j'ai chercher dans la faq mais a mon avis j'ai du mal orienté ma recherche.

    Si quelque pouvais m'indiquer le chemin ou mot clef a rechercher. merci

  2. #2
    Membre actif Avatar de allyson
    Inscrit en
    Août 2003
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 261
    Points : 277
    Points
    277
    Par défaut
    salut,
    je n'arrive pas à comprendre ce que tu veux faire!
    tu veux afficher et faire une recherche?!
    si la recherche porte sur ce qui est affiché dans le menu déroulant tu n'auras qu'à faire la recherche sur le $_POST['le_nom_du_menu_déroulant'] à l'aide d'une requête select avec comme condition where champ=$_POST['le_nom_du_menu_déroulant']...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    en fait donc je veux faire ceci :

    j'ai un menu deroulant. avec comme choix : date - nom - prenom et computers.

    je choisi un choix.

    une case input text aparait et je peux entrer "ma recherche".

    je clic sur un bouton chercher et il cherche dans la bdd.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    voici mon formulaire :

    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
    <form name="formulaire" method="post" action="report.php" onSubmit="return testsubmit()"> 
     
     
    	<?
    // Connecxion au serveur mysql
    $connect=mysql_connect('localhost','root','') or die ("Erreur de connexion avec le serveur Mysql.");		
     
    // Connexion a la base de donnée : softlist
    mysql_select_db('softlist',$connect) or die ("Erreur de connexion a la base de donnée.");
     
    $select="SELECT * FROM `t_report`";
    $resultat=mysql_query("$select;");
    $rang=mysql_num_rows($resultat);
     
    // mettre les valeur de la table dans le tableau	
     
    for ($i=0;$i<$rang;$i++)
    { 
    $id=mysql_result($resultat,$i,"id");
    $date=mysql_result($resultat,$i,"date");
    $heure=mysql_result($resultat,$i,"heure");
    $npc=mysql_result($resultat,$i,"npc");
    $nom=mysql_result($resultat,$i,"nom");
    $prenom=mysql_result($resultat,$i,"prenom");
    $soft=mysql_result($resultat,$i,"soft");
     
    echo"  
    <tr> 
        <td width=5%><center>".($i+1)."</center></td> 
    	<td width=8%><center>".$date."</center></td>
    	<td width=7%><center>".$heure."</center></td>
    	<td width=10%><center>".$npc."</center></td>
    	<td width=15%><center>".$nom."</center></td>
        <td width=15%><center>".$prenom."</center></td>
    	<td width=40%><center>".$soft."</center></td>	
    </tr>"
    ;}
     
    ?>	
     
     
     
    	<!-- Fin Liste Des Programmes !-->
     
    	<tr class="conteneur">
    		<td width="100%" height="50" colspan="8"></td>
    	</tr>
     
    	<!-- Bouton Sousmettre !-->
     
    	<tr>	
    		<td align="center" colspan="2" class="conteneur">
    			<select name="site">
    					<option value=""> ---- Recherche ---- </option>
    					<option value="date">Date</option>
    					<option value="nom">Nom</option>
    					<option value="prenom">Prenom</option>
    					<option value="computers">Computers</option>
    			</select>
    		</td>
     
    		<td align="center" colspan="2" class="conteneur"><center><input type="text" name="search" size="15" maxlength ="15"></center></td>
     
    		<td align="center" colspan="1" class="conteneur"><center><input type="button" value="Search"></center></td>
     
    		<td align="center" colspan="4" class="conteneur"><input type="button" value="Retour" onClick="gopage('root.php')"></td>
    	</tr>
    	</form>
    merci

  5. #5
    Membre actif Avatar de allyson
    Inscrit en
    Août 2003
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 261
    Points : 277
    Points
    277
    Par défaut
    tu affiches et tu lances une recherche!
    pourquoi n'affiches-tu pas directement dans les menus déroulants?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    parce que c'est pour gerer un parck informatique et donc il y a plus de 300 pcs... imagine une liste avec 300pcs....

    plus simple et plus propre une zone de texte.

  7. #7
    Membre actif Avatar de allyson
    Inscrit en
    Août 2003
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 261
    Points : 277
    Points
    277
    Par défaut
    mais s'il se trompe en entrant sa recherche?!
    la je crois que tu devras faire appel à un moteur de recherche! lance une recherche avec ces mots clés!
    mais perso je préfèrerais afficher le tout (sans répétition) dans des listes déroulantes et l'internaute n'aura qu'à cliquer!

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    ben la page c'est une page d'administration.

    dans mon menu deroulant je choisi ma table donc pas d'erreur et dans la zone de texte si je me trompe je n'aurais aucune valeur renvoyée.

    tu comprends ?


    mais coment faire cela... y a til des intrusction particuliere en php ?

  9. #9
    Membre actif Avatar de allyson
    Inscrit en
    Août 2003
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 261
    Points : 277
    Points
    277
    Par défaut
    alors sur ta page report.php tu dois écrire une requête du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $req="select * from ta_table where ".$_POST['site']."='".$_POST['search']."' ;";

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    merci.

    y a t il une fonction qui permette d'activer une zone de texte lors d'un choix sur un menu deroulant ?

  11. #11
    Membre actif Avatar de allyson
    Inscrit en
    Août 2003
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 261
    Points : 277
    Points
    277
    Par défaut
    de rien
    activer la zone à la sélection d'une valeur celà revient à répondre à un événement coté client ==> java script car php s'exécute coté serveur...

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    oki merci. je vais regarder.

    sinon j'ai rencontrer un petit probléme:

    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
    <form name="formulaire" method="post" action="report.php" onSubmit="return testsubmit()"> 
     
     
    	<?
    // Connecxion au serveur mysql
    $connect=mysql_connect('localhost','root','') or die ("Erreur de connexion avec le serveur Mysql.");		
     
    // Connexion a la base de donnée : softlist
    mysql_select_db('softlist',$connect) or die ("Erreur de connexion a la base de donnée.");
     
    $select="SELECT * FROM `t_report`";
    $resultat=mysql_query("$select;");
    $rang=mysql_num_rows($resultat);
     
    // mettre les valeur de la table dans le tableau	
     
    for ($i=0;$i<$rang;$i++)
    { 
    $date=mysql_result($resultat,$i,"date");
    $heure=mysql_result($resultat,$i,"heure");
    $npc=mysql_result($resultat,$i,"npc");
    $nom=mysql_result($resultat,$i,"nom");
    $prenom=mysql_result($resultat,$i,"prenom");
    $soft=mysql_result($resultat,$i,"soft");
     
    echo"  
    <tr> 
        <td width=5%><center>".($i+1)."</center></td> 
    	<td width=8%><center>".$date."</center></td>
    	<td width=7%><center>".$heure."</center></td>
    	<td width=10%><center>".$npc."</center></td>
    	<td width=15%><center>".$nom."</center></td>
        <td width=15%><center>".$prenom."</center></td>
    	<td width=40%><center>".$soft."</center></td>	
    </tr>"
    ;}
     
    ?>	
     
    	<!-- Fin Liste Des Programmes !-->
     
    	<tr class="conteneur">
    		<td width="100%" height="50" colspan="8"></td>
    	</tr>
     
    	<!-- Bouton & zone de recherche !-->
     
    	<tr>	
    		<td align="center" colspan="2" class="conteneur">
    			<select name="menu">
    					<option value=""> ---- Recherche ---- </option>
    					<option value="date">Date</option>
    					<option value="nom">Nom</option>
    					<option value="prenom">Prenom</option>
    					<option value="npc">Computers</option>
    			</select>
    		</td>
     
    		<td align="center" colspan="2" class="conteneur"><input type="text" name="search" size="15" maxlength ="15"></td>
     
    		<td align="center" colspan="1" class="conteneur"><input type="button" value="Chercher" onClick="gopage('report.php')"></td>
     
    		<td align="center" colspan="4" class="conteneur"><input type="button" value="Retour" onClick="gopage('root.php')"></td>
    	</tr>
    	</form>		
    	<!-- Fin Bouton & zone de recherche !-->
     
    	<tr class="conteneur">
    		<td width="100%" height="20" colspan="4"></td>
    	</tr>
     
    	<tr class="conteneur">
    		<td width="100%" height="20" colspan="8">
    <?php
    if (isset($_POST['search']) && $_POST['search']!="" && $_POST['menu']!="")
    {
     $menu=$_POST['menu'];  
     $search=$_POST['search'];
     
      // Selection
     mysql_select_db("t_report");
     $Resultat = mysql_query("SELECT date‚heure,npc,nom,prenom,soft FROM t_report WHERE $menu='$search'");	  
     if (mysql_numrows($sql)==6)
      {	
      	$donnees = mysql_fetch_array($resultat);  
     	echo $donnees['heure'];
     	echo $donnees['npc'];
     	echo $donnees['nom'];
     	echo $donnees['prenom'];
     	echo $donnees['soft'];
      }
      else echo "<font size=3 color=Red><i><center>Aucune entrée ne correspond a votre recherche.</center></i></font>";	
     
     
    } 
    // Fin de selection
     
      else echo "<font size=3 color=Red><i><center>Reporting des demandes de softwares.</center></i></font>";	 
     
    ?>

    il ne rentre jamais dans ma boucle :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $Resultat = mysql_query("SELECT date‚heure,npc,nom,prenom,soft FROM t_report WHERE $menu='$search'");	  
     if (mysql_numrows($sql)==6)
    hors dans ma base de donnée elle est remplie.

    je comprends pas.

    quelqu'un peut m'aider ?

    merci

  13. #13
    Membre actif Avatar de allyson
    Inscrit en
    Août 2003
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 261
    Points : 277
    Points
    277
    Par défaut
    esaie plutôt ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Resultat = mysql_query("SELECT date‚heure,npc,nom,prenom,soft FROM t_report WHERE $menu='".$_POST['search']."'");

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    bon voila j'ai enfin reussi a tirer quelquel information il maffiche bien ma demande mais si ma base de donnée contient plusieurs computers il passe et prend que la premiere entrée.

    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
    <?php
    if (isset($_POST['search']) && $_POST['search']!="" && $_POST['menu']!="")
    {
     $menu=$_POST['menu'];  
     $search=$_POST['search'];
     
      // Selection
     mysql_select_db("t_report");
     $donnees = mysql_query("SELECT * FROM t_report WHERE $menu='$search'");
     if (mysql_numrows($Resultat) >0)
      {	
      	$donnees = mysql_fetch_array($Resultat);
    	echo $donnees['date'];echo $donnees['heure'];echo $donnees['npc'];echo $donnees['nom'];echo $donnees['prenom'];echo $donnees['soft'];
     
     
      }
      else echo "<font size=3 color=Red><i><center>Aucune entrée ne correspond a votre recherche.</center></i></font>";	
     
     
    } 
    // Fin de selection
     
      else echo "<font size=3 color=Red><i><center>Reporting des demandes de softwares.</center></i></font>";	 
     
    ?>

    il faudrait peut etre faire une boucle ? avec un count ?

    mais je vois pas comment je pourais faire cela....

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    j'ai essayer ceci mais aparement ca marche pas il m'affiche quasi tout :s

    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
    <?php
    if (isset($_POST['search']) && $_POST['search']!="" && $_POST['menu']!="")
    {
     $menu=$_POST['menu'];  
     $search=$_POST['search'];
     
      // Selection
     mysql_select_db("t_report");
     $Resultat = mysql_query("SELECT * FROM t_report WHERE $menu='$search'");
     if (mysql_numrows($Resultat) >0)
      {	
        or ($i=0;$i<$resultat;$i++)
         { 
     
    	 $date=mysql_result($resultat,$i,"date");
    	 $heure=mysql_result($resultat,$i,"heure");
    	 $npc=mysql_result($resultat,$i,"npc");
    	 $nom=mysql_result($resultat,$i,"nom");
    	 $prenom=mysql_result($resultat,$i,"prenom");
    	 $soft=mysql_result($resultat,$i,"soft");
     
    	 echo"  
    	 <tr> 
      	   <td width=5%><center>".($i+1)."</center></td> 
    	   <td width=8%><center>".$date."</center></td>
    	   <td width=7%><center>".$heure."</center></td>
    	   <td width=10%><center>".$npc."</center></td>
    	   <td width=15%><center>".$nom."</center></td>
           <td width=15%><center>".$prenom."</center></td>
    	   <td width=40%><center>".$soft."</center></td>	
    	</tr>"
    	;}
     
     
      }
      else echo "<font size=3 color=Red><i><center>Aucune entrée ne correspond a votre recherche.</center></i></font>";	
     
     
    } 
    // Fin de selection
     
      else echo "<font size=3 color=Red><i><center>Reporting des demandes de softwares.</center></i></font>";	 
     
    ?>

Discussions similaires

  1. [XL-2010] Tableau Recherche V et Menu deroulant conditionner
    Par cnegal84 dans le forum Excel
    Réponses: 1
    Dernier message: 21/07/2014, 08h33
  2. Zone de recherche - Barre d'outils
    Par ptit_lu78 dans le forum Access
    Réponses: 11
    Dernier message: 04/11/2004, 17h58
  3. [CSS-Javascript] Menu déroulant
    Par JeromeR dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/10/2004, 17h07
  4. [VBA-E] Barre d'outils et menu déroulants
    Par Tcmat dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/08/2004, 21h51
  5. [LG]Menu déroulant sous Pascal
    Par Apprenti Sorcier dans le forum Langage
    Réponses: 8
    Dernier message: 26/03/2004, 13h29

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