Page 1 sur 1

Système de recherche.

MessagePosté: Sam Avr 17, 2010 11:12 am
par Orfeo
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();

Re: Système de recherche.

MessagePosté: Dim Avr 18, 2010 5:24 pm
par Yoyo
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.

Re: Système de recherche.

MessagePosté: Dim Avr 18, 2010 7:23 pm
par Orfeo
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.

Re: Système de recherche.

MessagePosté: Dim Avr 18, 2010 9:18 pm
par Yoyo
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 :)

Re: Système de recherche.

MessagePosté: Dim Avr 18, 2010 10:17 pm
par Orfeo
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

Re: Système de recherche.

MessagePosté: Lun Avr 19, 2010 7:04 am
par Yoyo
($_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 =)

Re: Système de recherche.

MessagePosté: Lun Avr 19, 2010 11:45 am
par Orfeo
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.

Re: Système de recherche.

MessagePosté: Sam Avr 24, 2010 11:51 am
par Orfeo
Qui aurait une idée?

Re: Système de recherche.

MessagePosté: Dim Avr 25, 2010 6:30 pm
par Yoyo
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 ?