Faire un trombinoscope ?

Faire un trombinoscope ? - SQL/NoSQL - Programmation

Marsh Posté le 22-05-2005 à 23:42:48    

Je suis en train de programmer a laide du php et mysql un trombinoscope a partir d un fichier.txt qui contient une liste de de personnes avec leur:
nom
prenom
identifiant
groupe
sous groupe
et un dossier photos qui contient toutes les photos de ces personnes.
J aimerias creer un site qui permette de faire une recherche ds la base de données soit en tapant le nom ,soit le prenom ,soit en entrant le groupe ou le sous groupe.
Voici ma page de recherche  

Citation :

html>
<head>
<title>Right</title>
<link rel="stylesheet" type="text" href="feuille.css" />
</head>
 
<body background="backgrnd_recherche.gif">
<table border="0" width="100%" cellspacing="5" cellpadding="5">
<form method="post" action="criteria.php">
 <tr>
  <td><h4><img src="puce_bleu_carre.gif"> Veuillez saisir le nom de l'étudiant recherché : <input type="text" name="nom"></h4></td>
 </tr>
 
 <tr>
  <td><h4><img src="puce_bleu_carre.gif"> Veuillez saisir le prénom de l'étudiant recherché : <input type="text" name="prenom"></h4></td>
 </tr>
 
 <tr>
  <br><td><input type="image" src="recherchez.gif" name="rechercher2"></td>
 </tr>
</form>
<form method="post" action="criteria2.php">
 
 <tr>
  <td><h4><img src="puce_bleu_carre.gif"> Choisissez un groupe : <select name="groupe"><option value="GA">A</option>
              <option value="GB">B</option>
              <option value="GC">C</option>
              <option value="GD">D</option>
              <option value="GE">E</option>
              <option value="GF">F</option>
              <option selected value="G%">Tous</option></select>
  </h4></td>
 </tr>
 
 <tr>
  <td><h4><img src="puce_bleu_carre.gif"> Choisissez un sous-groupe : <input type="radio" name="sousgroupe" value="1">1
          <input type="radio" name="sousgroupe" value="2">2
          <input type="radio" name="sousgroupe" checked value="%">Tous
  </h4></td>
 </tr>
 
 <tr>
  <br>
  <td><input type="image" src="bouton_ok.gif" name="rechercher2"></td>
 </tr>
</form>
</table>
 
</body>
</html>


 
voici ensuite ma page de creation de bd

Citation :

?php
 
$host="localhost";
$user="root";
$password="";
$nombd="trombi";
$db = mysql_connect($host, $user, $password);
mysql_select_db($nombd, $db);
 
 
 
$fich = "Etudiants.txt";
$fd=fopen ($fich, "r" );
 
$sql0="TRUNCATE TABLE `trombi`";
$req0=mysql_query ( $sql0 ) or die ('Erreur SQL !<br>'.$sql0.'<br>'.mysql_error()) ;
 
while ( !feof($fd) )
{
 
 
  $res = fgets($fd,255);
 
  list($numero, $nom, $prenom, $groupe, $sousgroupe) = split("\t",$res);
 
  $req = "INSERT INTO trombi (numero,nom,prenom,groupe,sousgroupe) VALUES ('".$numero."','".$nom."','".$prenom."','".$groupe."','".$sousgroupe."')" ;
 
  $req2 = mysql_query ( $req ) or die ('Erreur SQL !<br>'.$req.'<br>'.mysql_error()) ;
 
 
}
fclose($fd) ;
 
?>


et enfin voici la page php ou est redirigé le visiteur apres la recherhce

Citation :


//on créé la requête SQL et on l'envoie
 
 $req = "SELECT * FROM trombi WHERE groupe LIKE 'A%' ";
 
 
 if (isset( $_POST['nom'])&&( $_POST['nom']!=''))
 {
     $req .= "AND nom LIKE '".$_POST['nom']."%' ";
 }
 if (isset($_POST['prenom'])&&($_POST['prenom']!=''))
 {
     $req .= "AND prenom LIKE '".$_POST['prenom']."%' ";
 }
 /*if (isset($_POST['groupe']))
 {
     $req .= "AND groupe LIKE '%G".$_POST['groupe']."'";
 }*/
 if (isset($_POST['sousgroupe']))
 {
     $req .= "AND sousgroupe='".$_POST['sousgroupe']."'";
 }
 if (isset($_POST['tri']))
 {
  if ( $_POST['tri'] == "ascendant" )
  {
       $req .= "ORDER BY nom ASC";
  }
  else
  {
   $req .= "ORDER BY nom DESC";
   
  }
 };
 $req .= ";" ;
 $resultat = mysql_query($req) ;  
 
//on fait une boucle qui va faire un tour pour chaque enregistrement
 
{
 //on associe les variables avec le contenu de la table MySQL
  echo "<BR>N° : ". $resultat["numero"] ;
  echo "<BR>". $resultat["nom"];
  echo "<BR>". $resultat["prenom"];
  echo "<BR>Groupe : ". $resultat["groupe"];
  echo "<BR>Sous-groupe : ". $resultat["sousgroupe"];
   
}  
//on ferme la connection mysql
mysql_close($db);  
?>
</html>


Le probleme c est que ca maffiche toujours la liste complete meme en indiquant une recherche precise .Merci pour votre aide je pense que le probleme est au niveau des requete ,j utilise easy php et jai crée une bd

Reply

Marsh Posté le 22-05-2005 à 23:42:48   

Reply

Marsh Posté le 23-05-2005 à 09:14:30    

Code :
  1. SELECT * FROM trombi WHERE groupe LIKE 'A%'


 
ca vient de là je pense, revois ta requete.

Reply

Marsh Posté le 23-05-2005 à 09:25:24    

Mets un echo sur ta requête avant de l'executer et balance sur un post.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed