Reconnaissance, dans un texte, de mots pré-enregistré dans une base SQL

Résolu
cs_Tristan75 Messages postés 8 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 24 juin 2005 - 26 avril 2004 à 19:18
cs_Psy Messages postés 88 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 3 mai 2005 - 27 avril 2004 à 11:26
Bonjour,

Je suis débutant en PHP et j'ai un petit problème.
Je souhaite afficher un texte, à la manière d'un livre d'or (tous les textes sont stocké dans une base SQL) et quand le texte contient le nom de quelqu'un (une autre base de donnnée existe avec une liste d'identifiant) celui-ci s'affiche en rouge (par la suite, j'aimerais faire un lien vers la fiche de la personne)

voici le code de ma page qui m'affiche les différent texte entré :

<code>
<?

// Page d'affichage des messages

session_start();

// Parametres de connexion à la base de données
include("connexion.inc.php");

// Déclaration des variables
$nb_rep_pages=10; // Nombre de réponses par pages

//on se connecte à la base de donnée
$db = mysql_connect($BD_serveur,$BD_utilisateur,$BD_motDePasse) or die ("erreur de connexion");

//sélection de votre base de donnée
mysql_select_db($BD_base,$db) or die ("erreur de connexion base");

// Initialisation des variables
if(empty($page)) $page = 1;
if(empty($fin)){
$sql = "select count(*) as qte from $id";
$p = @mysql_query($sql,$db);
$fin = @mysql_result($p,"0","qte");
}

// Déclaration de la variable début
$debut = ($page - 1) * $nb_rep_pages;

//la requète de selection des messages
$req = mysql_query("SELECT date,message from $id Order by date_verif Desc LIMIT $debut,$nb_rep_pages ") or die ("erreur requete");

// Ici on calcul le nombre de page
$nbpages = ceil($fin / $nb_rep_pages); // Ici on arrondi

echo '[sectionmembre_acces_accueil.php Cliquez ici pour retourner à l\'accueil des membres]

';

echo "\";

//on ressort le contenu en boucle, et on stock dans un tableau avec mysql_fetch_array
while( $contenu = mysql_fetch_array ($req))
{

//on affiche le résultat
print '----
Le '.$contenu[date].'';

// Affichage par page :)
for($i = 1;$i <= $nbpages;$i ++){
echo "Page $i";
if($i < $nbpages) echo " - ";
}

//on referme la connexion
mysql_close();

?>

C'est grace à while($data = mysql_fetch_array($req_id)) que j'arrive a afficher les noms en rouge, mais le problème, c'est que tous les mots de mon texte sont répétés autant de fois que j'ai d'enregistrement dans la table 'table_utilisateurs'.

Je ne sais pas comment éviter ce problème. si je retire le while($data = mysql_fetch_array($req_id)) , sans oublier de retirer les { et } qui vont avec, mon texte s'affiche normalement, mais il n'y a plus la reconnaissance des noms enregistré...

HELP !

1 réponse

cs_Psy Messages postés 88 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 3 mai 2005
27 avril 2004 à 11:26
Slt Tristan !

je te conseille de jeter un oeil la : ereg()

ca devrait te simplifer la chose et c plus rapide en plus !!

bon coding !

- Psy -
3
Rejoignez-nous