Leçon N° 15 : Mysql 2ième partie : liaisons entre tables
Recherche en texte intégralSolutionSolution & source*
Faire en sorte que la recherche s'applique aussi sur les autres deux champs texte de la tabler
Notes de page
Source: lesson_15_g1_fulltext.phpRésultat
<?php
require("../mysql_connexion/mysql_connexion.php");
if (!isset(
$_REQUEST['cherche_texte']))
{
?>
<table border='0' align='center' id=''>
   <TR><TD align=center>
   <FORM NAME="recherche" 
   action="../commons/show_exercises.php?
   exercise=lesson_15_g1_fulltext.php" 
   method="post">
   <!--
   hors de l'environnement, on écrira plutôt :
   <FORM NAME=recherche action=
   <?php echo $_SERVER['PHP_SELF'];?> .... 
   -->
   Rechercher un nom de département (>3lettres):
   <br/>
   (mot entier, sans majuscules ni accent)<br/>
   (la table doit avoir été crée à l'exercice précédent)
   <INPUT name=cherche_texte type=text >
    <input type=hidden value='recherche' >
    <INPUT name=submit type=submit 
    value='Rechercher'></form></td></tr>
    </table>
<?php
}
else
{
    
//mysql_select_db($db) ;
    
$table_name "atelierphp_exe_departements_full_text" ;
    
$recherche $_REQUEST['cherche_texte'];
    echo 
"<b><u>Résultat de la recherche :</u></b> <br />";
    
read_table($table_name$recherche);
}
//lecture de la table
//--------------------------------------------------
function read_table($table_name$recherche)
{
    global 
$mysqli;
    require_once(
"../mysql_connexion/mysql_connexion.php");
    global 
$recherche;
    
//leture des noms de champs
    
echo "<table border=1><tr>";
    
$result mysqli_query($mysqli,"SHOW COLUMNS FROM ".$table_name.""); 
    if (!
$result) { 
        echo 
'Impossible exécuter la requête : '
        exit; 
    }
    if (
mysqli_num_rows($result) > 0) { 
        while (
$row mysqli_fetch_assoc($result)) { 
            echo 
"<th>".$row['Field']."</th>";
        } 
        echo 
"</tr>";
    }
    
//lecture des données
    
$recherche_ $recherche;
    
$result mysqli_query($mysqli,"SELECT * FROM  
    
$table_name WHERE MATCH 
    (departement_nom) AGAINST ('
$recherche_')
    order by departement_code"
);
    
$fields mysqli_num_fields($result);
    while (
$row=mysqli_fetch_array($result)) 
    {
        echo 
"<tr>";
        for(
$i=0;$i<$fields;$i++)
        {
            echo 
"<td>$row[$i]</td>";
        }
        echo 
"</tr>";
    }
    echo 
"</table>";        
}
?>

Fichier : connect_to_db.php
<?php
//ceci est un fichier fictif, 
//la vrai connection est déjà
//faite par ailleur
/*
$host     = "";   // nom du serveur : localhost, sql5, ...
$user     = "";   // nom d'utilisateur (root si en local)
$pass     = "";   // mot de passe 
$db       = "";   // nom de la base de données mySQL
$dblink  = mysql_connect($host,$user,$pass); 
//mysql_select_db($db);                       
*/
?>
Rechercher un nom de département (>3lettres):
(mot entier, sans majuscules ni accent)
(la table doit avoir été crée à l'exercice précédent)

Tous droits réservés. 2005-2020