Au secours !!!!

eowene Messages postés 28 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 19 décembre 2006 - 19 janv. 2004 à 10:38
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 - 19 janv. 2004 à 11:42
Bonjour à tous.
J'ai un problème et je ne comprends pas du tout d'où il vient.

Voilà le principe...
Je recherche un nom dans une base de données. Pour ceci, j'ai 2 pages de recherche, une page où je peux rechercher une personne en inscrivant le nom et une autre page où je click sur la première lettre du nom.
Ces 2 pages renvoie à une même 3ème page de consultation.

Le traitement est le même pour les 2 méthodes de recherches, seules les requêtes sql changent.

Mon problème vient lorsqu'il y a plusieurs personnes qui portent le même nom, ça n'affiche que le 1er alors que lorsque l'on click sur une lettre, ça affiche bien toute les personnes ayant un nom commençant par cette lettre là.
J'aimerais que lorsque je tape un nom complet, toute les personnes portant ce nom là s'affichent...

Je ne sais pas si c'est très clair.

Voici mon code :

// Invoque la connexion à la base annuaire
require_once ('connexion_annuaire.php');
mysql_select_db($database, $connexion);

$action= $_GET['action'];

if ($action=='nom')
{
$nom=$_POST['nom'];

// Requete sur tous les champs de contact $sql_contact "SELECT * FROM contact WHERE contact_nom '".$nom."' ORDER BY contact_prenom";

// Création d'un ensemble résultats (RecordSet)
$resultat_contact = mysql_query($sql_contact, $connexion) or die('Erreur SQL !
'.$sql_contact.'
'.mysql_error());
}

if ($action=='alphabetique')
{

$lettre=$_GET['lettre'];

// Requete sur tous les champs de contact
$sql_contact = "SELECT * FROM contact WHERE contact_nom LIKE '".$lettre."%' ORDER BY contact_nom";

// Création d'un ensemble résultats (RecordSet)
$resultat_contact = mysql_query($sql_contact, $connexion) or die('Erreur SQL !
'.$sql_contact.'
'.mysql_error());
}

$nb_ligne=mysql_num_rows($resultat_contact);

//Test d'existance du contact
if ($nb_ligne!=0)
{
// Affichage des contacts dans un tableau
// Entetes des colonnes
echo '<table width="100%" border="1">
<tr>
<td>
NOM
</td>
<td>
PRENOM
</td>
<td>
FONCTION
</td>
<td>
TELEPHONE ABREGE
</td>
<td>
TELEPHONE COMPLET
</td>
<td>
MAIL
</td>
<td>
SERVICE
</td>
</tr>';
// Commande de boucle pour afficher les contacts
while($ligne_contact =mysql_fetch_array($resultat_contact))
{

// Requete sur le service$sql_service "SELECT service_num, service_libelle FROM service WHERE service_num '".$ligne_contact['contact_service']."'";

//Création d'un RecordSet
$resultat_service = mysql_query ($sql_service,$connexion) or die('Erreur SQL !
'.$sql_service.'
'.mysql_error());

while($ligne_service = mysql_fetch_array($resultat_service))
{
//déclaration des variables
$nom = $ligne_contact['contact_nom'];
$prenom = $ligne_contact['contact_prenom'];
$fonction = $ligne_contact['contact_fonction'];
$telephone_abrege = $ligne_contact['contact_telephone_abrege'];
$telephone = $ligne_contact['contact_telephone'];
$mail = $ligne_contact['contact_mail'];
$service = $ligne_service['service_libelle'];

?>
<tr>
<td>
<?=$nom;?>
</td>
<td>
<?=$prenom;?>
</td>
<td>
<?=$fonction;?>
</td>
<td>
<?=$telephone_abrege;?>
</td>
<td>
<?=$telephone;?>
</td>
<td>
<?=$mail;?>
</td>
<td>
<?=$service;?>
</td>
</tr>
<?php
}//while service
mysql_free_result($resultat_service);
}//while contact

4 réponses

davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
19 janv. 2004 à 11:20
alors je sais pas du tout si c du à ça, mais j'ai tendance à ne pas utiliser à la fois les num_rows et fetch_array.
peux tu essayer d'enlever ton test d'existance ( if mysql_num_rowq()) et dire si ça fonctionne?
0
eowene Messages postés 28 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 19 décembre 2006
19 janv. 2004 à 11:30
Je vais essayé d'enlever le test mais le probème c'est que j'ai besoin de savoir si oui ou non la personne existe !
0
eowene Messages postés 28 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 19 décembre 2006
19 janv. 2004 à 11:34
Oui, ça marche mais dans ce cas, comment puis-je faire mon test d'existance ????
Merci
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
19 janv. 2004 à 11:42
$sql_exist="SELECT COUNT(*) FROM contact WHERE contact_nom = '".$nom."'";
$existence=(mysql_query$sql_exist,$connexion);
if (!mysql_result(existence,0))
echo "personne de ce com là";
else
/* treater la demande */
0
Rejoignez-nous