{MySQL} Probleme fonction
hmidanas
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
hmidanas Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
hmidanas Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'essaye de creer une fonction moteur de recherche, pour avoir plusieurs champs, et chercher ainsi en fonction de ce qu'on veut. voila mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Information writer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design_index.css" />
</head>
<body>
<?php
$field= "company";
function search_by($field)
{
if(isset($_POST['requete']) && $_POST['requete'] != NULL)
{
mysql_connect('localhost','root','');
mysql_select_db('nasforce');
$requete = htmlspecialchars($_POST['requete']);
$query = mysql_query("SELECT * FROM investors WHERE $field LIKE '%$requete%' ORDER BY id DESC") or die (mysql_error());
$nb_resultats = mysql_num_rows($query);
if($nb_resultats != 0)
{
?>
<h3>Here is your result research.</h3>
<p>We found <?php echo $nb_resultats;
if($nb_resultats > 1) { echo ' results which are'; } else { echo 'result which is'; }
?>
<br/><br /><br /><br />
<?php
while($donnees = mysql_fetch_array($query))
{
$company_name_tranmitted = $donnees['$field'];
?>
<a href="affichage_result_details.php? request=<?php echo $company_name_tranmitted;?>"><strong><?php echo $field ?></strong> : <?php echo $donnees['$field']; ?><br /></a></p>
<?php
}
?>
<br/><br/>
<a href="search_engine_test.php">New Research</a></p>
<?php
}
else
{
?>
<p> sorry there are no such entries there </p>
<a href="search_engine_test.php">New Research</a></p>
<?php
}
}
else
{
?>
<p>search by <?php echo $field ?></p>
<form action="search_engine_test.php" method="Post">
<input type="text" name="requete" size="20">
<input type="submit" value="Ok">
</form>
<?php
}
}
search_by(date); <br/>
search_by(entered_by);<br/>
search_by(type);
?>
</body>
</html>
le moteur de recherche marche sans probleme et je pourrais faire 3 ou 4 copier coller, mais je preferais le faire en etant un peu moins bourrin :)
Merci !
j'essaye de creer une fonction moteur de recherche, pour avoir plusieurs champs, et chercher ainsi en fonction de ce qu'on veut. voila mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Information writer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design_index.css" />
</head>
<body>
<?php
$field= "company";
function search_by($field)
{
if(isset($_POST['requete']) && $_POST['requete'] != NULL)
{
mysql_connect('localhost','root','');
mysql_select_db('nasforce');
$requete = htmlspecialchars($_POST['requete']);
$query = mysql_query("SELECT * FROM investors WHERE $field LIKE '%$requete%' ORDER BY id DESC") or die (mysql_error());
$nb_resultats = mysql_num_rows($query);
if($nb_resultats != 0)
{
?>
<h3>Here is your result research.</h3>
<p>We found <?php echo $nb_resultats;
if($nb_resultats > 1) { echo ' results which are'; } else { echo 'result which is'; }
?>
<br/><br /><br /><br />
<?php
while($donnees = mysql_fetch_array($query))
{
$company_name_tranmitted = $donnees['$field'];
?>
<a href="affichage_result_details.php? request=<?php echo $company_name_tranmitted;?>"><strong><?php echo $field ?></strong> : <?php echo $donnees['$field']; ?><br /></a></p>
<?php
}
?>
<br/><br/>
<a href="search_engine_test.php">New Research</a></p>
<?php
}
else
{
?>
<p> sorry there are no such entries there </p>
<a href="search_engine_test.php">New Research</a></p>
<?php
}
}
else
{
?>
<p>search by <?php echo $field ?></p>
<form action="search_engine_test.php" method="Post">
<input type="text" name="requete" size="20">
<input type="submit" value="Ok">
</form>
<?php
}
}
search_by(date); <br/>
search_by(entered_by);<br/>
search_by(type);
?>
</body>
</html>
le moteur de recherche marche sans probleme et je pourrais faire 3 ou 4 copier coller, mais je preferais le faire en etant un peu moins bourrin :)
Merci !
A voir également:
- {MySQL} Probleme fonction
- Fonction si et - Guide
- Mysql community server - Télécharger - Bases de données
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
4 réponses
Tu n'a qu'a recherché tout d'un coup ...
bien sur, tu peux aussi personnaliser, voire même appeler ta fonction en lui passant une liste des champs à tester, générer la requête dynamiquement ...
SELECT * FROM investors WHERE `date` LIKE '%$requete%' OR `entered_by` LIKE '%$requete%' OR `type` LIKE '%$requete%' ORDER BY id DESC
bien sur, tu peux aussi personnaliser, voire même appeler ta fonction en lui passant une liste des champs à tester, générer la requête dynamiquement ...
Peut etre que je me trompe, mais je me disais que pour une recherche, c'est peut etre pas la meilleure solution de tout selectionner d'un coup...?