Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Le coin des codeurs » » Moteur de recherche
AuteurMoteur de recherche
camy
40    

camy
  Posté : 28-07-2003 09:16

J'ai créé un moteur de recherche sur ma base de données.
Le problème arrive qd on rentre plusieurs mots clefs au lieu d'un seul.
Rien ne s'affiche.
Le ou les mots entrés par l'utisateur sont récupérés dans la variable $recherche.
Ensuite voici mon code :
<?php
if ($recherche==" ") {
echo"vous n'avez pas entré de mot clé." ; }
else {
$recherche = $_POST['recherche'];
// on passe les mots recherchés en minuscules
$recherche = strtolower($recherche);
$operateur="or" ;
// on remplace les ' + , : par des espaces
$mots = str_replace('+', ' ', trim($recherche));
$mots = str_replace('\'', ' ', $mots);
$mots = str_replace(',', ' ', $mots);
$mots = str_replace(':', ' ', $mots);
// on place les differents mots dans un tableau
$tab = explode(' ' , $mots);
//on compte le nbr d'élément du tableau.
$nb = count($tab);
//on prépare la requête SQL.
$sql = "select * from coordonnées where mots_clefs like '%$tab[0]%'
order by nom_assos";
// on boucle pour integrer tous les mots dans la requête
for($i = 1; $i < $nb; $i++) {
$sql .= "".$operateur." mot_cles like \'%$tab[$i]%\' ";
}
//on se connecte au serveur
$db=mysql_connect("localhost", "root", "");
//selection de la base assos1
mysql_select_db('associations',$db) ;
// on execute la requête SQL.
$result = mysql_db_query('associations',$sql);
if ($result) {
if (mysql_num_rows($result) == 0) {
// Si il n'y a pas de résultats
echo "<center><b>Pas de Résultat</b></center><br>";
} else {
echo "<center><b>Résultat(s)</b></center><br>&quo t;;
while($row = mysql_fetch_array($result)) {
echo $row['nom_assos'];
echo"<BR>" ;
}
mysql_free_result($result);
}
}
}
?>

  Profil  
camy
40    

camy
  Posté : 28-07-2003 09:21

Je sais que le problème vient de ma requete sql.

  Profil  
snipe
2450       
 

snipe
  Posté : 28-07-2003 09:30

logic

//on prépare la requête SQL.
$sql = "select * from coordonnées where mots_clefs like '%$tab[0]%' order by nom_assos";
// on boucle pour integrer tous les mots dans la requête
for($i = 1; $i < $nb; $i++) {
$sql .= "".$operateur." mot_cles like \'%$tab[$i]%\' ";
}
//on se connecte au serveur

la tu te retrouve avec une incoerance dans la requette
$sql = "select * from coordonnées where mots_clefs like '%$tab[0]%' ";
// on boucle pour integrer tous les mots dans la requête
for($i = 1; $i < $nb; $i++) {
$sql .= "".$operateur." mot_cles like \'%$tab[$i]%\' ";
}
$sql .= " order by nom_assos";

devrez mieux marcher :)

  Profil  E-mail  
Tribal-Dolphin
4374       
 

Tribal-Dolphin
  Posté : 28-07-2003 09:32

En effet, tu rajoute des paramètre de sélection après le tri.
C'est pas bien du tout ça.
Essaye plutot :

$sql = "select * from coordonnées where mots_clefs like '%$tab[0]%' ";
// on boucle pour integrer tous les mots dans la requête
for($i = 1; $i < $nb; $i++) {
$sql .= $operateur." mot_cles like \'%$tab[$i]%\' ";
}
$sql .= "order by nom_assos";
//Pour vérification, affichage de la requête
echo $sql."
";

Essaye ça et tient nous au courant

  Profil  
Tribal-Dolphin
4374       
 

Tribal-Dolphin
  Posté : 28-07-2003 09:34

SNIPE ..................... Mais comment fais tu pour être aussi rapide

  Profil  
camy
40    

camy
  Posté : 28-07-2003 09:37

Désolé ,je viens de remarquer que j'avais fait une erreur d'orthographe sur le champ mots_clefs !!!
Tout marche
Désolé!!

  Profil  
snipe
2450       
 

snipe
  Posté : 28-07-2003 15:08

bas tribal c facile quand tu est debout de puis l aveill sans avoir encors dormit :)

  Profil  E-mail  
Sauter à :

Temps : 0.0224 seconde(s)