[PHP/MySQL] SELECT * Where LIKE

Fermé
Jeremy - 30 janv. 2010 à 14:17
 chocapic41 - 8 mai 2010 à 21:32
Bonjour,
J'ai ici un code php/mysql qui sélectionne la liste des membres cotisants.

Voici la liste des colonnes de cette table :
id nickname email date_cotisation date_expiration methode_paiement receveur type_membre



***************************************************
<?php
mysql_connect("********", "******", "*******");
mysql_select_db("********");


if($show == "1") {

$annee = $_POST['annee'];
if($annee == "tous") {
$annee = "%";
} else { $annee = $annee."%"; }

$methode_paiement = $_POST['methode_paiement'];
if($methode_paiement == "tous") {
$methode_paiement = "%";
}

$receveur = $_POST['receveur'];
if($receveur == "tous") {
$receveur = "%";
}

$type_membre = $_POST['type_membre'];
if($type_membre == "tous") {
$type_membre = "%";
}

$expiration = $_POST['expiration'];
if($expiration == "tous") {
$expiration = "%";
}

// A des fins de teste :
echo "$annee / $methode_paiement / $receveur / $type_membre / $expiration";

$reponse = mysql_query("SELECT * FROM al_cotisation WHERE date_cotisation LIKE '$annee'
AND date_expiration LIKE '$expiration'
AND methode_paiement LIKE '$methone_paiement'
AND receveur LIKE '$receveur'
AND type_membre LIKE '$type_membre'");


echo "<table style=\"width: 100%\"><tr><td>Pseudo</td><td>Nom complet</td><td>Date d'inscription</td><td>Adhérent depuis</td><td>Type de membre</td><td>Mode de paiement</td><td>Date de paiement</td><td>Date d'échéance</td><td>Payé à</td></tr>";

while ($donnees = mysql_fetch_array($reponse) )
{
?>
<tr>
<td><?php echo $donnees['nickname']; ?></td>
<td></td>
<td></td>
<td></td>
<td><?php echo $donnees['type_membre']; ?></td>
<td><?php echo $donnees['methode_paiement']; ?></td>
<td><?php echo $donnees['date_cotisation']; ?></td>
<td><?php echo $donnees['date_expiration']; ?></td>
<td><?php echo $donnees['receveur']; ?></td>
</tr>
<?php
}
echo "</table>";

}


?>
*****************************************************


Malheureusement ce code n'affiche aucune entré! j'ai vérifier la requete séparément dans phpmyadmin mais rien n'y fait... pouvez-vous m'aider SVP?

Merci beaucoup et bonne aprem! ;)

3 réponses

xloadx Messages postés 28 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 10 septembre 2011 7
8 mai 2010 à 19:13
Le post est assez vieux je le conçois mais je n'aime pas voir un problème non résolu de ce fait je vais donner un petit exemple très simple, voici une requête SQL politiquement correcte et élégante:

SELECT * FROM ma_table WHERE champ1 OR champ 2 LIKE("%Recherche%")

Dans ce cas précis on ne fait qu'un balayage global sur un seul terme.

SELECT * FROM ma_table WHERE
champ1 LIKE("%Rech1%")
OR (ou AND c'est selon votre choix)
champ2 LIKE("%Rech2%")
etc...


Ainsi on peut permuter à volonté les choix du mode de recherche, soit OR pour que la requête ne stoppe pas sur un seul terme soit AND pour prendre en compte tous les termes.
2