Système de recherche.

Toutes les questions et les aides qui concernent le langage PHP
Orfeo
Tutomaker Junior
Tutomaker Junior
 
Messages: 7
Enregistré le: Ven Avr 16, 2010 1:05 pm

Système de recherche.

Messagepar Orfeo le Sam Avr 17, 2010 11:12 am

Bonjour, J'ai actuellement un autre problème :s. j'ai fais ce code la pour visualiser les membre en fonction de la première lettre de leurs pseudo et tous les voir. j'aimerais ajouter un système de recherche par département avec un formulaire :s.

En gros: Lorsque je suis sur "lettre=Search", j'affiche le formulaire me permettant de choisir le département de recherche.
Sinon je mes l'ensemble des membres.

Pourrais tu m'aiguillais?

Voici le code:

Code: Tout sélectionner

<div id="body">
<p>
<a href="#">Rechercher un membre près chez moi.</a> •  
<a href="connexion.php?lettre=A">A</a>  
<a href="connexion.php?lettre=B">B</a>  
<a href="connexion.php?lettre=C">C</a>  
<a href="connexion.php?lettre=D">D</a>  
<a href="connexion.php?lettre=E">E</a>  
<a href="connexion.php?lettre=F">F</a>  
<a href="connexion.php?lettre=G">G</a>  
<a href="connexion.php?lettre=H">H</a>  
<a href="connexion.php?lettre=I">I</a>  
<a href="connexion.php?lettre=J">J</a>  
<a href="connexion.php?lettre=K">K</a>  
<a href="connexion.php?lettre=L">L</a>  
<a href="connexion.php?lettre=M">M</a>  
<a href="connexion.php?lettre=N">N</a>  
<a href="connexion.php?lettre=O">O</a>  
<a href="connexion.php?lettre=P">P</a>  
<a href="connexion.php?lettre=Q">Q</a>  
<a href="connexion.php?lettre=R">R</a>  
<a href="connexion.php?lettre=S">S</a>  
<a href="connexion.php?lettre=T">T</a>  
<a href="connexion.php?lettre=U">U</a>  
<a href="connexion.php?lettre=V">V</a>  
<a href="connexion.php?lettre=W">W</a>  
<a href="connexion.php?lettre=X">X</a>  
<a href="connexion.php?lettre=Y">Y</a>  
<a href="connexion.php?lettre=Z">Z</a> 
• <a href="connexion.php">Voir tous les membres</a>
</p>
<table>
   <tr>
       <th>Nom d’utilisateur</th>
       <th>Rang</th>
       <th>Site Internet</th>
       <th>Inscription</th>
       <th>Dernière visite</th>
   </tr>

<?php
include("../include/admin_identifiants.php");
mysql_connect($adresse$nom$motdepasse);
mysql_select_db($database);



$nombreDeMessagesParPage 25
if(!empty(
$_GET['lettre']))
{
$retour mysql_query("SELECT COUNT(*) AS nb_messages FROM blog_inscriptiontest WHERE pseudo LIKE '" .$_GET['lettre']. "%'");
}
else
{
$retour mysql_query('SELECT COUNT(*) AS nb_messages FROM blog_inscriptiontest');
}
$donnees mysql_fetch_array($retour);$totalDesMessages $donnees['nb_messages'];
$nombreDePages  ceil($totalDesMessages $nombreDeMessagesParPage);



if (isset(
$_GET['affichage']))
{
$affichage intval($_GET['affichage']);
}
else
{
$affichage 1;

$premierMessageAafficher = ($affichage 1) * $nombreDeMessagesParPage;


if(!empty(
$_GET['lettre']))
{
$retour mysql_query("SELECT * FROM blog_inscriptiontest WHERE pseudo LIKE '" .$_GET['lettre']. "%' ORDER BY timestamp DESC LIMIT " $premierMessageAafficher ", " $nombreDeMessagesParPage ." ");
}
else
{
$retour mysql_query('SELECT * FROM blog_inscriptiontest  ORDER BY timestamp DESC LIMIT ' $premierMessageAafficher ', ' $nombreDeMessagesParPage);
}



while (
$donnees mysql_fetch_array($retour))
{
?>
   <tr>
       <td><a href="../espace_membre.php?pseudo=<?php echo $donnees['pseudo']; ?>"><?php echo $donnees['pseudo']; ?></a></td>
       <td><img src="../picture/<?php echo $donnees['rang'];?>.png" alt="<?php echo $donnees['rang'];?>" ></td>
       <td><a href="<?php echo $donnees['mon_site']; ?>"><?php echo $donnees['mon_site']; ?></a></td>
       <td><?php echo date('d/m/Y à H\hi'$donnees['timestamp']); ?></td>
       <td><?php echo date('d/m/Y à H\hi'$donnees['derniere_connection']); ?></td>
   </tr>

<?php
}
?>
</table>
<p>
<?php
echo '<strong>Page :</strong> ';
for (
$i $i <= $nombreDePages $i++)
{
    if(!empty(
$_GET['lettre']))
    {
        
$lien_affichage '<a href="connexion.php?lettre='$_GET['lettre'] .'&amp;affichage=' $i '">' $i '</a> '
    }
    else
    {
        
$lien_affichage '<a href="connexion.php?affichage=' $i '">' $i '</a> ';
    }
    echo 
$lien_affichage ;
}
mysql_close();

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: Système de recherche.

Messagepar Yoyo le Dim Avr 18, 2010 5:24 pm

Salut, bah pour afficher le formulaire au bon moment il suffit de vérifier si lettre=Search non ?

if($_GET['lettre'] == "Search")
{
?>
Formulaire xHTML.
<?
}

Au fait, tu devrais apprendre à sécuriser un peu ton code php car la on peut te hacker comme on veut avec de l'injection sql.
Commence par lire ce tuto pour comprendre le problème.
Vive les tutomakers ;)

Orfeo
Tutomaker Junior
Tutomaker Junior
 
Messages: 7
Enregistré le: Ven Avr 16, 2010 1:05 pm

Re: Système de recherche.

Messagepar Orfeo le Dim Avr 18, 2010 7:23 pm

c'est le traitement qui me pose soucis. je sais pas comment faire a dire vrais :s.

P.S: Merci pour l'info j'arrangerais sa petit à petit :). Pour l'instant en local ça risque rien parla suite je relirais tout :),corrigerais.

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: Système de recherche.

Messagepar Yoyo le Dim Avr 18, 2010 9:18 pm

Lis le tutoriel sur php du siteduzero depuis le début et puis tu devrais y arriver par toi même. T'as des exemples de code etc pour ce que tu veux faire quasi :)
Vive les tutomakers ;)

Orfeo
Tutomaker Junior
Tutomaker Junior
 
Messages: 7
Enregistré le: Ven Avr 16, 2010 1:05 pm

Re: Système de recherche.

Messagepar Orfeo le Dim Avr 18, 2010 10:17 pm

Je l'ai lut ;). Mais j'ai un peu du mal a comprendre il me faut du temps :). Petit à petit j'y arrive mais la je vois pas trop:

Code: Tout sélectionner

<?php
session_start
();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="../design.css" />
</head>
<body>

<?php
if ($_SESSION['pseudo'])
{
?><div id="espace_membre"><ul>
    <li><a href="mon_compte.php"> Mon compte </a> | </li> 
    <li><a href="gerer_profil.php"> G&#233;rer profil </a> | </li> 
    <li><a href="../espace_membre.php?pseudo=<?php echo $_SESSION['pseudo']; ?>"> Afficher mon profil </a> | </li> 
    <li><a href="deconnection.php"> D&#233;connecter</a> [ <?php echo $_SESSION['pseudo']; ?> ]</li> 
    </ul>
</div>

<?php include("../include/haut_de_page_dossier.php"); ?>

<div id="body">
<p>
<a href="connexion.php?lettre=Shearch">Rechercher un membre près chez moi.</a> •  
<a href="connexion.php?lettre=A">A</a>  
<a href="connexion.php?lettre=B">B</a>  
<a href="connexion.php?lettre=C">C</a>  
<a href="connexion.php?lettre=D">D</a>  
<a href="connexion.php?lettre=E">E</a>  
<a href="connexion.php?lettre=F">F</a>  
<a href="connexion.php?lettre=G">G</a>  
<a href="connexion.php?lettre=H">H</a>  
<a href="connexion.php?lettre=I">I</a>  
<a href="connexion.php?lettre=J">J</a>  
<a href="connexion.php?lettre=K">K</a>  
<a href="connexion.php?lettre=L">L</a>  
<a href="connexion.php?lettre=M">M</a>  
<a href="connexion.php?lettre=N">N</a>  
<a href="connexion.php?lettre=O">O</a>  
<a href="connexion.php?lettre=P">P</a>  
<a href="connexion.php?lettre=Q">Q</a>  
<a href="connexion.php?lettre=R">R</a>  
<a href="connexion.php?lettre=S">S</a>  
<a href="connexion.php?lettre=T">T</a>  
<a href="connexion.php?lettre=U">U</a>  
<a href="connexion.php?lettre=V">V</a>  
<a href="connexion.php?lettre=W">W</a>  
<a href="connexion.php?lettre=X">X</a>  
<a href="connexion.php?lettre=Y">Y</a>  
<a href="connexion.php?lettre=Z">Z</a> 
• <a href="connexion.php">Voir tous les membres</a>
</p>




<?php
if(!empty($_GET['lettre']) AND ($_GET['lettre'] == 'Shearch'))
{
?>
<p>
<fieldset>
<legend>Rechercher un membre :</legend>
<form method="POST" action="connexion.php?lettre=Shearch">
<label for="departement_membre"><strong>Rechercher :</strong></label>
<select name="departement_membre" id="departement_membre">
<option value="00">Choisisser votre département</option>
<option value="01">01 Ain</option>
<option value="975">975 Territoire d'outre-mer</option>
</select> <input type="submit" value="Recherche" />
</form>
</fieldset>
</p>

<?php
}
?>







<?php
include("../include/admin_identifiants.php");
mysql_connect($adresse$nom$motdepasse);
mysql_select_db($database);



$nombreDeMessagesParPage 25
if(!empty(
$_GET['lettre']))
{
$retour mysql_query("SELECT COUNT(*) AS nb_messages FROM blog_inscriptiontest WHERE pseudo LIKE '" .$_GET['lettre']. "%'");
}
if(!empty(
$_POST['departement_membre']))
{
$retour mysql_query("SELECT COUNT(*) AS nb_messages FROM blog_inscriptiontest WHERE departement='".$departement_membre."'");
}

else
{
$retour mysql_query('SELECT COUNT(*) AS nb_messages FROM blog_inscriptiontest');
}
$donnees mysql_fetch_array($retour);$totalDesMessages $donnees['nb_messages'];
$nombreDePages  ceil($totalDesMessages $nombreDeMessagesParPage);



if (isset(
$_GET['affichage']))
{
$affichage intval($_GET['affichage']);
}
else
{
$affichage 1;

$premierMessageAafficher = ($affichage 1) * $nombreDeMessagesParPage;


if(!empty(
$_GET['lettre']))
{
$retour mysql_query("SELECT * FROM blog_inscriptiontest WHERE pseudo LIKE '" .$_GET['lettre']. "%' ORDER BY timestamp DESC LIMIT " $premierMessageAafficher ", " $nombreDeMessagesParPage ." ");

if(!empty(
$_POST['departement_membre']))
{
$departement_membre=stripslashes(mysql_real_escape_string($_POST['departement_membre']));
$retour mysql_query("SELECT * FROM blog_inscriptiontest WHERE departement='".$departement_membre."' ORDER BY timestamp DESC LIMIT " $premierMessageAafficher ", " $nombreDeMessagesParPage ." ");
echo
'<p>Voici la liste des membre du département : <strong>' $departement_membre '</strong> :</p>';
}
}
else
{
$retour mysql_query('SELECT * FROM blog_inscriptiontest  ORDER BY timestamp DESC LIMIT ' $premierMessageAafficher ', ' $nombreDeMessagesParPage);
}
?>
<table>
   <tr>
       <th>Nom d’utilisateur</th>
       <th>Rang</th>
       <th>Site Internet</th>
       <th>Inscription</th>
       <th>Dernière visite</th>
</tr>


<?php
while ($donnees mysql_fetch_array($retour))
{
?>
   <tr>
       <td><a href="../espace_membre.php?pseudo=<?php echo $donnees['pseudo']; ?>"><?php echo $donnees['pseudo']; ?></a></td>
       <td><img src="../picture/<?php echo $donnees['rang'];?>.png" alt="<?php echo $donnees['rang'];?>" ></td>
       <td><a href="<?php echo $donnees['mon_site']; ?>"><?php echo $donnees['mon_site']; ?></a></td>
       <td><?php echo date('d/m/Y à H\hi'$donnees['timestamp']); ?></td>
       <td><?php echo date('d/m/Y à H\hi'$donnees['derniere_connection']); ?></td>
   </tr>

<?php
}
?>
</table>
<p>
<?php
echo '<strong>Page :</strong> ';
for (
$i $i <= $nombreDePages $i++)
{
    if(!empty(
$_GET['lettre']))
    {
    
$lien_affichage '<a href="connexion.php?lettre='$_GET['lettre'] .'&amp;affichage=' $i '">' $i '</a> '
    if(!empty(
$_POST['departement_membre']))
    {
    
$lien_affichage '<a href="connexion.php?lettre=Shearch&amp;affichage=' $i '">' $i '</a> '
    }
    }
    else
    {
        
$lien_affichage '<a href="connexion.php?affichage=' $i '">' $i '</a> ';
    }
    echo 
$lien_affichage ;
}
mysql_close();
?>
</p>
</div>



<?php
}
else
{
?>


<?php include("../include/haut_de_page_dossier.php"); ?>

<div id="body">
<h1>Connexion:</h1>

<form method="POST" action="login.php">
<fieldset>
<legend>Me connecter</legend>
<p><label for="pseudo">Pseudo:</label> <input type="text" name="pseudo" id="pseudo" /></p>
<p><label for="password">Mot De Passe</label> <input type="password" name="password" id="password" /></p>
</fieldset>
<p><input type="submit" value="Connexion" /></p>
</form>

<ul>
<li><a href="">J’ai oublié mon mot de passe</a></li>
</ul>

<h1>M'enregistrer :</h1>
<p>Vous devez être enregistré pour vous connecter. L’enregistrement ne prend que quelques secondes et augmente vos possibilités. Avant de vous enregistrer, assurez-vous d’avoir pris connaissance de nos conditions d’utilisation. Assurez-vous de bien lire tout le règlement du site.</p><ul>
<li>Tu n'es pas inscrit ? <a href="inscription.php">  M'enregistrer</a>.</li>
</ul>
<?php
}
?>

</div>

<?php include("../include/bas_de_page_dossier.php"); ?>
</body>
</html>


Voilà le résultat mais pour la pagination rien a faire encore :s.
Je pense que c'est mal codé :s

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: Système de recherche.

Messagepar Yoyo le Lun Avr 19, 2010 7:04 am

($_GET['lettre'] == 'Shearch')

Attention à l'orthographe ^^

Et bien bon courage =) Je vais pas te faire ton script entier, si tu as des questions précises je répondrai mais j'ai pas le temps pour te faire un cours =)
Vive les tutomakers ;)

Orfeo
Tutomaker Junior
Tutomaker Junior
 
Messages: 7
Enregistré le: Ven Avr 16, 2010 1:05 pm

Re: Système de recherche.

Messagepar Orfeo le Lun Avr 19, 2010 11:45 am

Je vois pas ou tu as vue l'erreur. Malgré cela le nombre de page en bas ne s'affiche pas.

Tkt pas xD je veux me débrouiller seul :) pour la création du scripte.

Orfeo
Tutomaker Junior
Tutomaker Junior
 
Messages: 7
Enregistré le: Ven Avr 16, 2010 1:05 pm

Re: Système de recherche.

Messagepar Orfeo le Sam Avr 24, 2010 11:51 am

Qui aurait une idée?

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: Système de recherche.

Messagepar Yoyo le Dim Avr 25, 2010 6:30 pm

Une idée pour ? Je te dis tu connais les formulaires en xHtml et tu connais le php associé et tu as ce que tu veux. Maintenant tu as une nouvelle erreur que je peux corriger ?
Vive les tutomakers ;)



Retourner vers Langage PHP

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invités