smotte76

Inscris le 24/03/2011 à 20:03
  • Signature
    Stéph
  • Nombre de sujets
    1
  • Nombre de messages
    2
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
smotte76
Bonjour,

J'ai créé un annuaire en PHP.
L'utilisateur peut :
- Saisir un nom et tous les noms des contacts correspondant apparaissent.
- Saisir un prénom et toues les prénoms des contacts apparaissent.
En revanche, lorsque je saisis le nom et le prénom, je rencontre un problème.
Exemple : si je saisie paul martin, le site m'affiche tous les martin et tous les paul.
Je voudrai qu'il me recherche l'expression entière. Le souci est que je recherche dans deux champs : nom et prénom.

En fait l'utilisateur doit pouvoir rechercher soit :
- par le nom
- par le prénom
- par l'expression exacte (ex : paul martin) sauf qu'il me sorte tous les martins.

Voici mon code si vous avez une idée ou un tuyau.

Merci beaucoup.

<?php
include("../connexion.php");
$sql = "select * from tadherents";
if (isset($_REQUEST["filtre"]))
{

$v_contact=$_GET['filtre'];

$v_nb=str_word_count($v_contact);

if ($v_nb==1)
{
$sql .= " where nom like '%$v_contact%' or prenom like '%$v_contact%'";
}
else
{

$mots = explode( " ", $v_contact );


$sql = "SELECT * FROM tadherents WHERE ";
for( $i = 0; $i < count( $mots ); $i++ ) {
$sql .= "nom LIKE '%". $mots[$i] ."%' OR prenom LIKE '%". $mots[$i] ."%'";
if( $i < count( $mots ) - 1 )
$sql.= " OR ";
}


}

}
$vresultat=mysql_query($sql);
?>
<HTML>
<H1>Résultat</H1>
<Form>
<input type="text" name="filtre">
<input type="submit" value="rechercher">
</Form>
<TABLE border=2 align=center>
<TR align='center'>
<TD>Nom</TD>
<TD>Prénom</TD>
<TD>Photo</TD>
</TR>
<?php while(($vligne = mysql_fetch_assoc($vresultat ))!==false): ?>
<TR>
<TD><?php echo $vligne["nom"];?></TD>
<TD><?php echo $vligne["prenom"];?></TD>
<TD><IMG SRC="/images/<?php echo $vligne ['photo']; ?>"></TD>
</TR>
<?php endwhile; ?>
</Table>
</UL>
</BODY>
</HTML>
Stéph

Ses derniers messages sur les forums

forum
smotte76
J'ai oublié...

En gros le même principe que FaceBook.
Je me suis mal exprimé... Si je saisis "Paul Martin", je veux que les Paul martin et non tous les Martin (martin Pierre, martin alain...)
En revanche si je saisie que le mot martin il me sortira uniquement les personnes dont le nom est martin.

Merci par avance si vous avez une idée.
:)
Stéph
smotte76
Bonjour,

J'ai créé un annuaire en PHP.
L'utilisateur peut :
- Saisir un nom et tous les noms des contacts correspondant apparaissent.
- Saisir un prénom et toues les prénoms des contacts apparaissent.
En revanche, lorsque je saisis le nom et le prénom, je rencontre un problème.
Exemple : si je saisie paul martin, le site m'affiche tous les martin et tous les paul.
Je voudrai qu'il me recherche l'expression entière. Le souci est que je recherche dans deux champs : nom et prénom.

En fait l'utilisateur doit pouvoir rechercher soit :
- par le nom
- par le prénom
- par l'expression exacte (ex : paul martin) sauf qu'il me sorte tous les martins.

Voici mon code si vous avez une idée ou un tuyau.

Merci beaucoup.

<?php
include("../connexion.php");
$sql = "select * from tadherents";
if (isset($_REQUEST["filtre"]))
{

$v_contact=$_GET['filtre'];

$v_nb=str_word_count($v_contact);

if ($v_nb==1)
{
$sql .= " where nom like '%$v_contact%' or prenom like '%$v_contact%'";
}
else
{

$mots = explode( " ", $v_contact );


$sql = "SELECT * FROM tadherents WHERE ";
for( $i = 0; $i < count( $mots ); $i++ ) {
$sql .= "nom LIKE '%". $mots[$i] ."%' OR prenom LIKE '%". $mots[$i] ."%'";
if( $i < count( $mots ) - 1 )
$sql.= " OR ";
}


}

}
$vresultat=mysql_query($sql);
?>
<HTML>
<H1>Résultat</H1>
<Form>
<input type="text" name="filtre">
<input type="submit" value="rechercher">
</Form>
<TABLE border=2 align=center>
<TR align='center'>
<TD>Nom</TD>
<TD>Prénom</TD>
<TD>Photo</TD>
</TR>
<?php while(($vligne = mysql_fetch_assoc($vresultat ))!==false): ?>
<TR>
<TD><?php echo $vligne["nom"];?></TD>
<TD><?php echo $vligne["prenom"];?></TD>
<TD><IMG SRC="/images/<?php echo $vligne ['photo']; ?>"></TD>
</TR>
<?php endwhile; ?>
</Table>
</UL>
</BODY>
</HTML>
Stéph

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours