Faire un trombinoscope ? - SQL/NoSQL - Programmation
MarshPosté 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
$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";
//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
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
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
?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
//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