Moteur de recherche mysql, fichiers .doc, sous forme de lien

Signaler
Messages postés
44
Date d'inscription
mercredi 9 septembre 2009
Statut
Membre
Dernière intervention
11 avril 2011
-
Messages postés
44
Date d'inscription
mercredi 9 septembre 2009
Statut
Membre
Dernière intervention
11 avril 2011
-
Bonjour, a tous je dispose de ce code qui me permet d'effectuer une recherche dans les tables mysql.

Je souhaiterai l'adapter pour rechercher des fichiers via le code, et afficher les résultats trouvés sous forme de lien.

Comment puis je procéder?

<?php
$hostname_logon =  "localhost" ;   
$username_logon = "bob";  
$password_logon = "eponge";
$database_logon = "entreprise" ;  


   
//connexion base de donnée
 $connections = mysql_connect($hostname_logon, $username_logon, $password_logon) or die ( "Impossible de se connecter a la base de donnée" );
 //selection de la base de donnée
 mysql_select_db($database_logon) or die ( "Impossible de selectionner la base!" );


//nombre de resultat par page
$limit = 10;

// variable de recherche obtenue par url
  $Mot = $_POST['Mot'] ;
//trim whitespace from the stored variable
  $trimmed = trim($Mot ); 
//separation des mots-clés
  $trimmed_array = explode(" ",$trimmed);

// vérification, si vide affichage message
if ($trimmed == "") {
  $resultmsg =  "Search Error

Veuillez remplir le champ pour effectuer la recherche...

" ;
  }

// verification pour la recherche 
if (!isset($Mot )){
  $resultmsg =  "Search Error

Aucun paramètre! 

" ;
  }

  // Build SQL Query for each keyword entered
foreach ($trimmed_array as $trimm){
     
 // EDIT HERE and specify your table and field names for the SQL query
     $query = "SELECT * FROM pieces_jointes WHERE numero LIKE '%$trimm%' OR filename like '%$trimm%' OR description like '%$trimm%' ORDER BY numero  DESC" ; 
    
// Execute the query to  get number of rows that contain search kewords
     $numresults=mysql_query ($query);
     $row_num_links_main =mysql_num_rows ($numresults);

     // next determine if 's' has been passed to script, if not use 0.
     // 's' is a variable that gets set as we navigate the search result pages.
     if (empty($s)) {
         $s=0;
     }

      // now let's get results.
      $query .= " LIMIT $s,$limit" ;
      $numresults =mysql_query ($query) or die ( "Impossible d'executer la requête" );
      $row= mysql_fetch_array ($numresults);

      //store record id of every item that contains the keyword in the array we need to do this to avoid display of duplicate search result.
      do{
          $adid_array[] = $row[ 'numero' ];
      }while( $row= mysql_fetch_array($numresults));
 } 
 //end foreach


 
if($row_num_links_main 0 && $row_set_num 0){
   $resultmsg = "Résultat de la recherche pour : ". $trimmed."

Aucun résultat pour votre recherche

" ;
}
   //delete duplicate record id's from the array. To do this we will use array_unique function
   $tmparr = array_unique($adid_array);
   $i=0;
   foreach ($tmparr as $v) {
       $newarr[$i] = $v; 
       $i++;
   }

// Vous pouvez maintenant afficher les résultats renvoyés. Mais d'abord, nous allons afficher le formulaire de recherche
?>

<?php


// affiche la recherche de la personne
 if( isset ($resultmsg)){
  echo $resultmsg;
  exit();
 }else{
  echo "Résultat de la recherche pour : " . $Mot ;
 }
 
foreach($newarr as $value){
 
 // Renseignement de la table et du champ pour la requetes sql
$query_value "SELECT * FROM pieces_jointes WHERE numero '$value'";
 $num_value=mysql_query ($query_value);
 $row_linkcat= mysql_fetch_array ($num_value);
 $row_num_links= mysql_num_rows ($num_value);

//Nous allons mettre les mots retrouvé en gras pour cela nous utilisons la fonction preg_replace 
//Remplacement des champs

  $titlehigh = preg_replace ( "'($Mot )'si" , "  /*/ " , $row_linkcat[ 'numero' ] );
  $linkhigh  = preg_replace ( "'($Mot )'si" , " /*/" , $row_linkcat[ 'description' ] );
  $linkdesc =  preg_replace ( "'($Mot )'si" , "  /*/ " , $row_linkcat[ 'filename' ] );

foreach($trimmed_array as $trimm){
    if($trimm ! = 'b' ){
        $titlehigh =  preg_replace( "'($trimm)'si" ,  "  /*/ " , $titlehigh);
        $linkhigh  = preg_replace( "'($trimm)'si" , " /*/" , $linkhigh);
        $linkdesc =  preg_replace( "'($trimm)'si" ,  "  /*/ " , $linkdesc); 
     }
//end highlight

?>
 
<?php echo $titlehigh; ?>

<?php echo $linkhigh; ?>

<?php echo $linkdesc; ?>


 
<?php
}   //end foreach $trimmed_array 
   if($row_num_links_main > $limit){
   // next we need to do the links to other search result pages
      if ($s> =1) { // do not display previous link if 's' is '0'
        $prevs=($s-$limit);
         echo "
Previous " .$limit. "
";
      }
     // check to see if last page
     $slimit =$s+$limit;
       if (!($slimit >= $row_num_links_main) && $row_num_links_main!=1) {
     // not last page so display next link
          $n=$s+$limit;
           echo "
Next " .$limit. "
";
        }
    }
}  //end foreach $newarr
?>

1 réponse

Messages postés
44
Date d'inscription
mercredi 9 septembre 2009
Statut
Membre
Dernière intervention
11 avril 2011

[^^etc1]