Eléphant du PHP |
453 Messages
25 juil. 2009, 22:26
Salut,
...
Comment faire pour compter et afficher certains de ces enregistrements en fonction d'une condition ? La condition est qu'un champ "valid" soit sur 1 ou sur 0. Je ne sais pas comment écrire cela.
...
Apparemment, c'est simple :
//prenons le cas d'une case à cocher
//<input type="checkbox" name="uneCheckbox[]" value="ok" />
if($_REQUEST['uneCheckbox'][0] == "ok"){
$nb = mysql_num_rows(mysql_query("SELECT id FROM $table"));
echo '<font face="Verdana, Arial, Helvetica, sans-serif" size="2">('.$nb.')</font>';
}
Si c'est au niveau de la requête SQL :
//prenons toujours le cas de case à cocher
//<input type="checkbox" name="uneCheckbox[]" value="ok" />
$sqlCondition = "";
if($_REQUEST['uneCheckbox'][0] == "ok"){
$sqlCondition = "WHERE unChamp ='uneValeur' ";
$sqlCondition .= "OR unAutreChamp = 'uneAutreValeur'";
}
$nb = mysql_num_rows(mysql_query("SELECT id FROM $table".$sqlCondition));
echo '<font face="Verdana, Arial, Helvetica, sans-serif" size="2">('.$nb.')</font>';
}
<<<EDIT
Si tu veux le faire un peu plus dynamique, regarde ceci en exemple :
$sql = "SELECT nom,prenom,age FROM personne ";
$sqlCondition = "WHERE ";
$and = "AND ";
$condition = array();
while(list($clef,$valeur) = each($_REQUEST['couleurCheuveux'])){
switch($valeur){
case "blond":
$condition[] = "blond = 'true' ";
break;
case "brun" :
$condition[] = "brun = 'true' ";
break;
case "chatain":
$condition[] = "chatain = 'true' ";
break;
default :
unset($condition);
}
}
$sqlCondition .= (isset($condition))? implode($and,$condition): "";
$sql .= $sqlCondition;
echo $sql;
EDIT;
++