1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
<?php
if(isset($_GET['submit'])){
$mot1 = htmlspecialchars(trim($_GET['mot1']));
$mot2 = htmlspecialchars(trim($_GET['mot2']));
//code pour le 1er champs de recherche
if(empty($mot1)){
echo"<span class='errors'>Veuillez remplir tous les champs</span>";
}else if(strlen($mot1)==1){
echo"<span class='errors'>Votre mot clé de recherche est trop court</span>";
}else{
$Keyword = ' ';
$mot1 = preg_split('/[\s\-\ ]/', $mot1);
$count_keywords = count($mot1);
foreach ($mot1 as $key => $mot1mots) {
$Keyword .= "champs_de_la_table_qui_correspond_a_mot1 LIKE '%$mot1mots%'";
if($key != ($count_keywords-1)){
$Keyword .= " AND ";
}
}
// code pour le le deuxième champs de recherche
if(empty($mot2)){
echo"<span class='errors'>Veuillez remplir tous les champs</span>";
}else if(strlen($mot2)==1){
echo"<span class='errors'>Votre mot clé de recherche est trop court</span>";
}else{
$Keywor = ' ';
$mot2 = preg_split('/[\s\-\ ]/', $mot2);
$count_keywords = count($mot2);
foreach ($mot2 as $key => $mot2mots) {
$Keywor .= "[champs_de_la_table_qui_correspond_a_mot2] LIKE '%$mot2mots%'";
if($key != ($count_keywords-1)){
$Keywor .= " AND ";
}
}
//requête qui lie les tables entre elles et qui permet de chercher dans les tables par un mot clé mais également trié les résultats par date de la plus récente à la plus ancienne.
$maRequete = ("SELECT * FROM dbo.[table1]
LEFT OUTER JOIN dbo.[table2]
ON dbo.[table1].[Champs_communs1] = dbo.[table2].Champs_communs1
LEFT OUTER JOIN dbo.[table3]
ON dbo.[table1].[ champs_communs2] = dbo.[table3].[champs_communs2]
WHERE $Keyword AND $Keywor
ORDER BY dbo.[table1_ou_table2_ou_table3].champs_d'une_table DESC");
$query=sqlsrv_query($conn, $maRequete);
$rows = sqlsrv_num_rows($query);
if($rows === false){
$Champs0 = false;
$champs1 = '';
$champs2 = '';
$champs3 = '';
$champs4 = '';
while($search = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)){
if ($Champs0 === false) { // Initialisation
$Champs0 = $search['Nom du champs dans la table qui correspond'];
$champs1 = $search['Nom du champs dans la table qui correspond'];
$champs2 = $search['Nom du champs dans la table qui correspond'];
$champs3 = $search['Nom du champs dans la table qui correspond'];
$champs4 = $search['Nom du champs dans la table qui correspond'];
}
elseif ($Champs0 == $search['Nom du champs dans la table qui correspond']) {
// On reste sur le même champs. On se contente de rajouter le nouveau morceau.
$champs3 .= ' ' . $search['Nom du champs dans la table qui correspond'];
}
else {
// Changement et On affiche les données courantes...
$n = str_ireplace($mot1mots,'<span class="surlign">'.$mot1mots.'</span>', $champs1);//Met en gras le mot rechercher dans la colonne "champs1"
$cc = str_ireplace($mot2mots,'<span class="surlign">'.$mot2mots.'</span>', $champs2);//Met en gras le mot rechercher dans la colonne "champs2"
$d = str_ireplace($mot1mots,'<span class="surlign">'.$mot1mots.'</span>', $champs3);//Met en gras le mot rechercher dans la colonne "champs3"
$c = str_ireplace($mot1mots,'<span class="surlign">'.$mot1mots.'</span>', $champs4);//Met en gras le mot rechercher dans la colonne "champs4"
echo"<p class='carre'><strong>Nom du champs1: </strong> $n";
echo"<br /> <strong>Nom du champs2 : </strong> $cc";
echo"<br /> <strong>Nom du champs3 : </strong> $d";
echo"<br /> <strong>Nom du champs4 : </strong> $c <br /></p><br />";
// ... et on les change
$champs0 = $search['Nom du champs dans la table qui correspond'];
$champs1 = $search['Nom du champs dans la table qui correspond'];
$champs2 = $search['Nom du champs dans la table qui correspond'];
$champs3 = $search['Nom du champs dans la table qui correspond'];
$champs4 = $search['Nom du champs dans la table qui correspond'];
}
}
// Et on n'oublie pas le tout dernier
$n = str_ireplace($mot1mots,'<span class="surlign">'.$mot1mots.'</span>', $champs1);
$cc = str_ireplace($mot2mots,'<span class="surlign">'.$mot2mots.'</span>', $champs2);
$d = str_ireplace($mot1mots,'<span class="surlign">'.$mot1mots.'</span>', $champs3);
$c = str_ireplace($mot1mots,'<span class="surlign">'.$mot1mots.'</span>', $champs4);
echo"<br /> <strong>Nom du champs2 : </strong> $cc";
echo"<br /> <strong>Nom du champs3 : </strong> $d";
echo"<br /> <strong>Nom du champs4 : </strong> $c <br /></p><br />";
}
}
}
}
?> |
Partager