Condition sur un comptage

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Condition sur un comptage

par cmoi » 26 juil. 2009, 15:32

c'est encore plus simple que ça :
 $nb = mysql_num_rows(mysql_query("SELECT id FROM $table WHERE validation=1"));
Merci pour la piste.

par niuxe » 26 juil. 2009, 12:59

Alors, c'est dans ta « query » qu'il faille mettre une condition :

/*
 * SELECTION nom,prenom,age DE LA TABLE personne
 * SI cheuveux SONT blond
 */

$sql = "SELECT nom,prenom,age FROM personne "; 
$sql .= "WHERE cheuveux = 'blond'";

par cmoi » 26 juil. 2009, 10:35

je me suis mal exprimé :oops:
Le champ "valid" ne provient pas d'un formulaire mais d'une base mysql.

par niuxe » 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;
++

Condition sur un comptage

par cmoi » 25 juil. 2009, 22:04

Bonjour,

ce code
$nb = mysql_num_rows(mysql_query("SELECT id FROM $table"));
	echo '<font face="Verdana, Arial, Helvetica, sans-serif" size="2">('.$nb.')</font>'; 
compte et affiche un nombre d'enregistrements.

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.

Merci pour l'aide.