Recherche
Résolu
Guiz'
-
Guiz' -
Guiz' -
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
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
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
$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
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.
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.