Recherche

Résolu/Fermé
Guiz' - 21 janv. 2014 à 20:20
 Guiz' - 22 janv. 2014 à 01:30
Bonjour à toutes et à tous,

j'ai une fonction recherche qui fonctionne très bien sur ma base sql. Le problème c'est que je voudrais que ma fonction fonctionne sur 2 bases voir 3 bases sql.

voici mon code php :

<?php

include('bdd.php');

function resultat_recherche($search)
{
$ou="";
$search=preg_split('/[\s]+/',$search);

$total_resultat= count($search);

foreach($search as $key=>$searches)
{
$ou = "lien LIKE '%$searches%'";
if($key !=($total_resultat-1))
{
$ou .="AND";
}
}
$query = mysql_query("SELECT * FROM recherche WHERE $ou");

$rows = mysql_num_rows($query);
if($rows)
{
while($row = mysql_fetch_assoc($query))
{
echo $row['lien']."<br/><br/><strong>".$row['']."</strong>";
}

}else echo"Pas de résultats pour votre recherche ou ne mettez pas d'accents à ".$searches;

}

?>

merci d'avance pour vos réponses

2 réponses

cyrille_b Messages postés 113 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 9 avril 2018 1
21 janv. 2014 à 21:38
utilise pdo pour "parler" à tes bdd

$db_toto = new PDO('mysql:host=192.1.0.1;dbname=toto',"root","");
$db_tata = new PDO('mysql:host=127.0.0.1;dbname=tata',"root","");
etc...


Et tu répètes ta boucle pour chaque bdd
0
Merci pour ta réponse mais j'ai trouvé la solution.

Donc pour ceux qui ont ce problème je met ma solution :

il faut ajouter, à la ligne "$query = mysql_query("SELECT * FROM recherche_1 WHERE $ou"); " ,UNION SELECT après le $ou et répéter la ligne.

Ce qui donne en clair :

$query = mysql_query("SELECT * FROM recherche_1 WHERE $ou UNION SELECT * FROM recherche_2 WHERE $ou");


En tout cas merci de m'avoir répondu.
0