AJAX/PHP/MYSQL

Résolu/Fermé
Socra!e
Messages postés
439
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
6 février 2015
- Modifié par Socra!e le 2/02/2011 à 11:01
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
- 2 févr. 2011 à 20:20
Bonjour, je fais actuellement un moteur de recherche interne pour mon site. Mon code fonctionne pour une table, mais ce que j'aimerais c'est pouvoir faire des recherches sur plusieurs tables. Comment puis-je le faire?


Merci d'avance.

<?php 

if(!empty($_POST) && !empty($_POST['search'])) 
{ 
  extract($_POST); 
  $search = strip_tags($search); 
   
  try{ 
  $bdd = new PDO('mysql:host=localhost;dbname=mabdd', 'username', 'password') or die(print_r($bdd->errorInfo())); 
  $bdd->exec('SET NAMES utf8'); 
  } 
   
  catch(Exeption $e){ 
  die('Erreur:'.$e->getMessage()); 
  } 
   
  $req = $bdd->query("SELECT champ1_article, champ2_article,champ3_article FROM table_article WHERE champ1_article LIKE '%$search%' OR champ2_article OR champ3_article LIKE '%$search%' ORDER BY id_article"); 
   
  if($req->rowCount()>0) 
  { 
    while($data = $req->fetch(PDO::FETCH_OBJ)) 
    { 
      echo '<h2>'.$data->champ1_article.'</h2>'; 
      echo '<p>'.$data->champ2_article.'</p>'; 
      echo '<hr />'; 
    } 
  } 
  else 
  { 
    echo '<h2>Aucun resultat</h2>'; 
  } 
} 

else 
{ 
  echo '<h2>Aucun resultat</h2>'; 
} 

?>






J'aimerais changer le monde, mais ils ne me donnera pas le code source.

3 réponses

loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
2 févr. 2011 à 14:32
Bonjour,

Tu peux en effectuant une jointure ente tes tables puis tu insère les nouvelle conditions en utilisant un OR.

Exemple :
SELECT champ1_article, champ2_article,champ3_article FROM table_article, table_categorie WHERE champ5_categorie = champ1_article AND champ1_article LIKE '%$search%' OR champ2_article OR champ3_article LIKE '%$search%' OR champ2_categorie LIKE '%search%'  ORDER BY id_article


J'espère que cela t'aidera.
Cordialement.
1
Socra!e
Messages postés
439
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
6 février 2015
9
2 févr. 2011 à 16:27
Je t'envoie un mp si tu veux bien
0
Socra!e
Messages postés
439
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
6 février 2015
9
2 févr. 2011 à 16:40
Ca fonctionne, mais j'aimerais que en tapant une "catégorie" Dans la recherche, j'ai tous les articles correspondant. Désolé je suis tellement dans le code que j'ai un peu de mal.


Cordialement
0
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
2 févr. 2011 à 20:20
Non moi c'est loic ;)

Cool si j'ai pu t'aider et que tu es réussit à résoudre ton problème.

Bonne continuation
1
Socra!e
Messages postés
439
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
6 février 2015
9
2 févr. 2011 à 20:18
C'est bon j'ai trouvé, merci luc ;)

SELECT champ1_article, champ2_article,champ3_article FROM table_article, table_categorie WHERE champ5_categorie = champ1_article AND champ1_categorie LIKE '%$search%' OR champ2_article OR champ3_article LIKE '%$search%' OR champ2_categorie LIKE '%search%' ORDER BY id_article--
J'aimerais changer le monde, mais ils ne me donnera pas le code source.
0