begin process at 2012 05 31 08:58:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Recherche multi-tables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recherche multi-tables

mardi 5 juillet 2005 à 19:52:54 | Recherche multi-tables

JoJo738

Membre Club
Hello,
J'ai un petit probleme. Je fais un moteur de recherche multi-tables et je n'arrive pas à savoir de quel table vient l'enregistrement. Et il garde melange les enregistrements ...
Je sais pas si vous m'avez bien compris, sinon demandez ^^
Sinon vous avez pas une autre solution ?

<pre>
<?php

include 'config.php';

function decoupe($mots, $table)  {
  $mots = explode(' ', $mots);
  $return = '';
  $nb_mots = count($mots)-1;
 
  foreach( $mots as $key=>$_mot )  {
    $return .= $table . ' LIKE \'%' . $_mot . '%\'';
    $return .= ($key==$nb_mots) ? '' : ' AND ';
  }
 
  return $return;
}


$valeur = isset($_GET['q']) ? htmlentities($_GET['q']) : '';
echo '<form action="', $_SERVER['PHP_SELF'], '" method="GET">
 <p>
  <input type="text" name="q" value="', $valeur, '" /> <input type="Submit" value="&gt;" />
 </p>
';


if(isset($_GET['q']) && !empty($_GET['q']))  {
  $sql = '';
  $tables = array(
    'sux_barre_video' => array('nom', 'description', 'lien'),
    'sux_news' => array('titre', 'message', 'auteur'),
  );
  $sql_tables = '';
  $nb_db = count($tables);
  $i = 0;
  foreach( $tables as $key=>$val )  {
    $sql_tables .= $key . (($i==$nb_db-1) ? '' : ', ');
    $i++;
    $nb_tables = count($val)-1;
    foreach( $val as $_key=>$_val )  {
      $sql .= '(' . decoupe($valeur, $key . '.' . $_val) . ')';
      $sql .= ($_key==$nb_tables) ? '' : ' OR ' ;
    }
    $sql .= ($i==$nb_db) ? '' : ' OR ';
  }
 
 
  echo $sql . "\n\n";
 
  $query = mysql_query(' SELECT * FROM ' . $sql_tables . ' WHERE ' . $sql) or die(mysql_error());
  $nbre_resultats = mysql_num_rows($query);
  if($nbre_resultats > 0)  {
   
    echo 'Il y a ' . $nbre_resultats . ' resultat' . (($resultats > 1) ? 's' : '') . ' pour la recherche <strong>' . $valeur . '</strong><br />';  
    $resultats = array();
    $i =0;
    While($row = mysql_fetch_assoc($query) )  {
      print_r($row);
      $i++;
      $row = array();
    }
  }  else  {
    echo 'Aucun document ne correspond aux termes de recherche spécifié <strong>' . $valeur . '</strong>';
  }
  echo '<hr />';
}  else if(isset($_GET['q']) && empty($_GET['q']))  {
  echo 'Veuillez entrer au moins un mot clé';
}


?>


Si ma reponse te convient, merci de l'accepter !


Cette discussion est classée dans : sql, mots, key, nb, tables


Répondre à ce message

Sujets en rapport avec ce message

select sur 2 tables [ par perig ] Salut alors voila!!!!Dans une base sql, j'ai 2 tables identiques en structure (je tenais a séparer les données au début et je me vois mal revoir toute creation de tables tables SQL [ par alexlord ] dans le mode d'emploi d'un forum c'est de creer des tables SQL a l'aide du fichier creation_tables.sql j'ai easy php et y'a un dossier my sql comment Help : (str_replace) et (split ou explode) ne marchent pas ! ? [ par slmnsnts ] Salut tt le monde !G ajouté une page de recherche dans mon forum et ca marche tres bien ... le seul prob C lorsque qu'on cherche des mots avec plusieu Nb tables dans 1 base [ par laubro ] Bonjour, Une question, raisonnablement, combien de tables par base ne faudrait il pas dépasser pour un fonctionnement correct ?, y a t'il dailleur un addition d'une selection de champs par requete sql [ par joebuz ] salut,voila j'ai une table de ce type là :ID      Date               NB1   22/06/2005    &nbsp Fichier texte vers BDD SQL [ par vl92 ] Bonjour,J'ai un fichier texte (.txt) avec une liste de plus de 300 mots, sans balise, avec un mot par ligne.Je voudrais insérer chacun des 300 mots da recherche multicritère dans une annuaire [ par mfresk ] Bonjour à tous! Je fais appel à vous car ça va me rendre fou, je suis coincé sur ça depuis une semaine et je trouve pas la faille, En général, je veux Aide moteur de recherche [ par jipe32 ] bonjour, je voudrais savoir comment centrer le if ($num==0) {echo "Désolé, aucune page de ce site ne contient $mot. Veuillez relancer une nouvelle r probleme de SQL [ par kangoo75 ] Salut à tous, voila mon petit probleme, j'ai 1 table qui represente une arborsence de repertoire "virrtuel" et une autre table "d'objet".J'aimerais re remise a zéro d'un liens [ par speedylol ] bonjour voici le petit probléme que j'ai j aimerais remettre mon liens lire message a zéro quand on clik dessus .Open est a zero quand on introduit le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales