Compter et trier résultats sur requete SQL
Bonjour,
j'aimerais savoir si il est possible (surement mais bon faut hélas que je m'avoue à moi meme que je ne connais pas technique) en une seule requete SQL d'obtenir le résultat suivant :
Dans une table obtenir tous les enregistrement de cette table en fonction de l'id (avec donc un select COUNT(id) etc... ) mais aussi parmis ces résultats obtenir aussi tous les enregistrements tels que etat=0 par exemple.
En fait j'ai besoin d'obtenir en sortie à la fois le total d'enregistrements (peu importe la valeur de etat) de cette table mais aussi tous les etat='0' pour chaque ligne de cette table.
j'ai essaye un SELECT COUNT(etat=0) as mavaleur1, COUNT(*) as mavaleur2 mais ça ne marche pas.
Evidemment je pourrais faire deux requetes mais peut etre existe t'il un meilleur moyen ?
Merci à ceux qui sauront me guider.
inserer dans base MySql et recup
J ai bien etudie la chose mais je suis a bout
j ai un formulaire qui envoi des donnees dans la base(mabase)
voici le form
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| <form id="monForm" action="listMbaois.php" method="post" onSubmit="return jecouteLeForm()" >
<fieldset>
<legend>Informations personnelles</legend>
<input type="hiden" id="_id" name="_id">
<p>
<label for="form_prenom">Prénom : </label>
<input type="text" id="form_prenom" name="prenom" />
</p>
<p>
<label for="form_nom">Nom : </label>
<input type="text" id="form_nom" name="nom" />
</p>
<p>
<label for="form_adresse">Adresse : </label>
<input type="text" id="form_address" name="address" />
</p>
<p>
<label for="form_code_postale">Code postal : </label>
<input type="text" id="form_code_postale" name="code_postale" />
</p>
<p>
<label for="form_ville">Ville : </label>
<input type="text" id="form_ville" name="ville" />
</p>
<p>
<label for="form_pays">Pays : </label>
<select id="form_pays" name="pays">
<optgroup label="Europe">
<option value="es">Espagne</option>
<option value="be">Belgique</option>
<option value="fr">France</option>
<option value="it">Italie</option>
</optgroup>
</select>
</p>
<p>
<label for="form_tel">Téléphone : </label>
<input type="text" id="form_tel" name="tel" />
</p>
<p>
<label for="form_email">E-mail : </label>
<input type="text" id="form_email" name="email" />
</p>
</fieldset> <p>
<label class="form_label_nostyle"> </label>
<input type="submit" name="submit" class="soumettre"/>
<input type="reset" name="del" class="annuler"/>
</p>
</form> |
et maintenant voici le code du script:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| <?php
header ('Content-type: text/html; charset=utf-8');
// connection a la base en local
include("connex.inc.php");
mysql_query("SEL NAMES 'utf-08'");
// selection de la base
$idcom=connex("listdmembres","mesparam");
//Protection contre l insertion du code SQL
function quote_smart($value)
{
if(get_magic_quotes_gpc())
{
$value=stripslashes($value);
}
return mysql_real_escape_string($value);
}
// votre requete d'insertion
if (isset($_POST['form_prenom']) && isset($_POST['form_nom']) && isset($_POST['form_adresse']) && isset($_POST['form_code_postale']) && isset($_POST['form_ville']) && isset($_POST['form_pays']) && isset($_POST['form_tel']) && isset($_POST['form_email']))
{
$nom= $_POST['form_prenom'];
$prenom= $_POST['form_nom'];
$adresse= $_POST['form_adresse'];
$code_postale= $_POST['form_code_postle'];
$ville= $_POST['form_ville']; //0a revoir
$pays= $_POST['form_pays'];
$email= $_POST['form_email'];
$tel= $_POST['form_tel'];
if (empty($prenom) || empty($nom) || empty($adresse) || empty($code_postale) || empty($ville) || empty($pays)|| empty($email)|| empty($tel))
{ echo "Veillez remplir les champs s'il vous plait";}
else{
mysql_query(" INSERT INTO mbaois
SET nom='$nom',prenom='$prenom',adresse='$adresse',code_postale='$code_postale',ville='$ville' ,pays='$pays',email='$email',tel='$tel'
");
echo mysql_error();
}
}
$resultat=mysql_query("SELECT nom,prenom,adresse,code_postale,ville,pays,email,tel FROM mbaois ORDER BY nom");
echo mysql_error();
// fermeture de la connection
mysql_close($idcom);
?> |
et le recupere de cette facon suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| <?php
if(!$resultat)
{
echo "Lecture impossible";
}
while ($ligne =mysql_fetch_array($resultat)) {
$form_nom = $ligne['nom'];
$form_prenom = $ligne["prenom"];
$form_adresse = $ligne["adresse"];
$form_code_postale = $ligne["code_postale"];
$form_ville = $ligne["ville"];
$form_pays = $ligne["pays"];
$form_email = $ligne["email"];
$form_tel = $ligne["tel"];
function firstToUpper($Sentence)
{
$lettres = str_split($Sentence); // On met le mot dans une liste
$lettres[0] = strtoupper($lettres[0]); // la fonction va prendre la premiere lettre pour le mettre en MAJUSCULE.
$finition = implode('',$lettres); // apres ce qu'on fait, on emploi implode , parce que c est un mot pas un tebleau
return $finition;
}
$nom=strtoupper($form_nom); //On les noms en Majuscule
$prenom=firstToUpper($form_prenom);
echo "<tr class='ligneListe' onmouseover='survolLigne(this)' onmouseout='finsurvolLigne(this)' onclick='selectionLigne(this)'>";
echo "<td>".$nom."</td>";
echo "<td>".$prenom."</td>";
echo "<td>".$form_adresse."</td>";
echo "<td>".$form_code_postale."</td>";
echo "<td>".$form_ville."</td>";
echo "<td>".$form_pays."</td>";
echo "<td><a href='mailto:' color='#00009'>".$form_email."<a/></td>";
echo "<td>".$form_tel."</td>";
echo "</tr>";
}
?> |
les donnees inserees a partir de phpMyAdmin sont recuperees mais celle envoyees par le form ne sont insere.
alors qu il a aucune erreur