8768 sujets

Développement web côté serveur, CMS

bonjour à tous

Je viens une fois de plus vers vous car je cale...
J'aimerai aprés une recherche afficher le ou les résultats trouvés...mais rien de s'affiche et aucun message d'erreur!
$variable = nom de la colonne dans laquelle je cherche.
$var_recherche = mot recherché.


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>rechercher un membre</title>
<link href="index.css" rel="stylesheet" type="text/css">
</head>
<body>
	<h1>Recherche d'un membre</h1>
<?php
include 'connect.php';
$connexion = mysqli_connect($DB_HOST, $DB_USER, $DB_PASSWORD, $DB_NAME )or die ("erreur");
mysqli_query($connexion,"SET NAMES 'utf8'");
$variable = mysqli_real_escape_string($connexion, $_POST["variable"]);
$var_recherche = mysqli_real_escape_string($connexion, $_POST["var_recherche"]);
	
	echo $variable;	
	echo "&nbsp";
	echo $var_recherche;
	// ok jusqu'ici
$query = "SELECT * from inlinemod where '$variable' like '$var_recherche%'";
$result = mysqli_query($connexion, $query);
?>	
<table>
            <tr>
                <th>Nom</th>
                <th>prénom</th>
                <th>adresse</th>
                <th>code postal</th>
                <th>ville</th>
				<th>degré</th>
				<th>email</th>
				<th>téléphone</th>
				<th>date de naissance</th>
            </tr>	
<?php	
	
while ($donnees = mysqli_fetch_array($result)) 
{
    // on affiche les résultats
    echo '
                        <tr>
                            <td>'.$donnees['nom'].'</td>
                            <td>'.$donnees['prenom'].'</td>
                            <td>'.$donnees['adresse'].'</td>
                            <td>'.$donnees['code_postal'].'</td>
							<td>'.$donnees['ville'].'</td>
                            <td>'.$donnees['degre'].'</td>
							<td>'.$donnees['email'].'</td>
							<td>'.$donnees['telephone'].'</td>
							<td>'.$donnees['naissance'].'</td>
                        </tr>
                ';
 
	}	
//mysqli_free_result($donnees);	
mysqli_close($connexion);	
?>
</table>	
</body>
</html>


Je vous remercie par avance pour le coup de pouce...

@+

Naje83
Merci pour la réponse

Entre temps j'ai changé la ligne 21 par :
$query = "SELECT * from inlinemod where $variable like $var_recherche%";


et la ligne 38 par :

while ($donnees = mysqli_fetch_array($result)or die ("erreur")) 


et donc j'ai un message d'erreur :
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in

Franchement je ne comprends plus rien !
L'erreur te dit que la requête à renvoyer un booléan, surement FALSE car la requête envoyé doit être mauvaise je pense.
essaye avec cette réécriture :

$query = "SELECT * from inlinemod where ".$variable." like '".$var_recherche."%'";

Modifié par JENCAL (06 Apr 2018 - 09:42)
Le code fonctionne enfin !

le voici pour ceux que cela intéresse :

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>rechercher un membre</title>
<link href="index.css" rel="stylesheet" type="text/css">
</head>
<body>
	<h1>Recherche d'un membre</h1>
<?php
include 'connect.php';
$connexion = mysqli_connect($DB_HOST, $DB_USER, $DB_PASSWORD, $DB_NAME )or die ("erreur");
mysqli_query($connexion,"SET NAMES 'utf8'");
$variable = mysqli_real_escape_string($connexion, $_POST["variable"]);
$var_recherche = mysqli_real_escape_string($connexion, $_POST["var_recherche"]);
	
	echo $variable;	
	echo "&nbsp";
	echo $var_recherche;
$query = "SELECT * from inlinemod where $variable like '$var_recherche%'"; 
//echo $query; // pour vérifier si la requête est bonne 
	$result = mysqli_query($connexion, $query);
?>	
<table>
            <tr>
                <th>Nom</th>
                <th>prénom</th>
                <th>adresse</th>
                <th>code postal</th>
                <th>ville</th>
		<th>degré</th>
		<th>email</th>
		<th>téléphone</th>
		<th>date de naissance</th>
            </tr>	
<?php	
	while ($donnees = mysqli_fetch_array($result, MYSQLI_ASSOC))
{
    echo '
                        <tr>
                            <td>'.$donnees['nom'].'</td>
                            <td>'.$donnees['prenom'].'</td>
                            <td>'.$donnees['adresse'].'</td>
                            <td>'.$donnees['code_postal'].'</td>
			    <td>'.$donnees['ville'].'</td>
                            <td>'.$donnees['degre'].'</td>
			    <td>'.$donnees['email'].'</td>
			    <td>'.$donnees['telephone'].'</td>
			    <td>'.$donnees['naissance'].'</td>
                        </tr>
                ';
}	
mysqli_close($connexion);	
?>
</table>	
</body>
</html>


Merci

@+

Naje83