Plusieurs question count(*), select

Résolu
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007 - 20 févr. 2006 à 11:14
 cs_AlexN - 21 févr. 2006 à 18:32
bonjour plusieur questions pour vous :D

1)
$req= "SELECT count(*) from magasin";
$sql= mysql_query($req);

comment savoir combien y a d'element???

2) je fais un select, mais voila, si je rajoute un element dans ma base, je veux que mon select le rajoute automatiquement, sans que je doivent touche a mon code ou a ma base de donné.

Comment faire???

merci d'avance

27 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 9
20 févr. 2006 à 12:12
Pourquoi tu ne fais pas ça ???

<?php

$r = // la valeur à séléctionner

$query = "select id, nom from membre order by nom asc;";
$sql = mysql_query($query);

// on construit le <select>
echo '<select name="receptionn" id="select">';
// une première option 'vide'
echo '<option value="0"> --- Choisir un membre --- </option>';
// on parcours la table
while( $arr = mysql_fetch_assoc($sql) ) {
// une option pour chaque membre
echo '<option value="'.$arr['id'].'"';
// préselection d'un membre au cas où
if($r==$arr[id]) echo ' selected ';
echo '>'.$arr['nom'].'</option>';
}
echo '</select>';
// ... tout simplement !

?>
3
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 9
20 févr. 2006 à 15:37
Oulalalala...

Vous n'avez pas chomé ces dernières minutes ! J'essaye de prendre le train en route :

sidf dit :
$r = $_POST['receptionn'];

Je te propose
if( isset($_POST['receptionn']) {
$r = $_POST['receptionn'];
}
else {
$r = 0;
}
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 11:18
$nb=mysql_result($sql,0,0);
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 11:19
je ne comprends pas bien la question 2
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 9
20 févr. 2006 à 11:21
Salut...
Questions un peu confuses, mais je vais essayer de t'aider !

1)
$req= "SELECT count(nom_champ) as nb, from magasin";
$sql= mysql_query($req);
$nb = mysq_get_result( $sql, 0);

2)
je fais un select, mais voila, si je rajoute un element dans ma base,
je veux que mon select le rajoute automatiquement, sans que je doivent
touche a mon code ou a ma base de donné.

??? là, j'ai peur de ne pas comprendre ???
Tu as la fonction ci-dessous pour lister les champs d'une table :
resource mysql_list_fields ( string database_name, string table_name [, resource link_identifier] )

A+
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
20 févr. 2006 à 11:57
voila, ma base est ainsi faite :

2 champs : id, nom

exemple :
1 jean
2 thierry
5Michel
8 arnaud

les id ne se suive pas car suppression effectue avant.

mais voila maintenant, si je compte tout mes element de ma base, j'en ai 4, mais si je lui demande de me les affiche j'aurai les 2 premier et 2 blanc, au lieu des 4 elements, car j'affiche en fonction de l'id. personne ne voit une autre solution????

avec ce code, j'arrive a afficher les trois premier, mais je vois pas comment faire, pour qu'il fasse une boucle general.

<? $r=0; // 0, il ne selectionne rien,si on met un il selection le premier membre de la BD
?>

<tr align="left" valign="top"><td>

reception : </td><td>
<select name="receptionn" id="select">
<? while($r<=$nbr)
{
$reque= "SELECT nom from membre where id=$r";
$sqll= mysql_query($reque);
$tablea=mysql_fetch_array($sqll);
$nom=$tablea['nom'];


if(($nom!='')or ($r==0))
{
echo "<option>$nom</option>";


}
elseif ($nom=='')
{
while($nom=='')
{

$reque= "SELECT nom from membre where id=$r";
$sqll= mysql_query($reque);
$tablea=mysql_fetch_array($sqll);
$nom=$tablea['nom'];
$r=$r+1;

}

echo "<option>$nom</option>";

}

$r=$r+1;

} ?>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 12:04
$nbr
c'est défini où ?
tu as un conteneur <form></form>
j'imagine ?
je ne vois pas l'utilité de faire une requête dans une boucle!!
en fait je ne comprends pas bien ton code
tu veux faire quoi exactly ?
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
20 févr. 2006 à 12:10
$nbr est defini plus haut, a l'aide du count(*)

imagine :

tu es sur un formulaire, tu dois choisir ton pays, tu as une liste non?

et bien je veux faire la meme chose, a partir de ma base technicien, pour avoir la liste de mes technicien.

c'est a dire les afficher tous dans mon menu deroulant. Mais je vois pas comment faire, la je les selectionne un par un par apport a l'id, mais comme parfois des technicien on ete supprimer des id n'existe plus, mais du coup mon affichage est faux. tu comprend?
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 12:13
$reque= "SELECT nom from membre order by nom";

si tu veux tous les enregistrements pourquoi une clause WHERE ?
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
20 févr. 2006 à 12:28
oui mais la y m'affiche toujours le meme nom ...

comment faire pour passe au nom suivant???
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 12:30
pas normal
je serais curieux de voir le code maintenant
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
20 févr. 2006 à 12:36
attention : je le corrige au cas ou pour si quelqu'un veut le reprendre :D
ce que tu as mit :

if($r==$arr[id]) echo ' selected ';
echo '>'.$arr['nom'].'</option>';

ce qui faut mettre
if($r==$arr['id']) echo ' selected ';
echo '>'.$arr['nom'].'</option>';
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
20 févr. 2006 à 12:46
heu encore une question, j'utilise le code de J_G, pour recupere la valeur mise, je fais comment???
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 12:49
$r = // la valeur à séléctionner

à la place
$r = $_POST['receptionn'];
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
20 févr. 2006 à 12:51
il me met toujours 1 ... et je voudrai pouvoir l'enregistrer et la reafficher sur un ocument a imprimer par exemple.
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
20 févr. 2006 à 12:51
il me met toujours 1 ... et je voudrai pouvoir l'enregistrer et la reafficher sur un ocument a imprimer par exemple.
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 12:52
fais voir ton code !!
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
20 févr. 2006 à 12:55
<? $r=0; // 0, il ne selectionne rien,si on met un il selection le premier membre de la BD

?>

<tr align="left" valign="top"><td>

Reception : </td><td>
<?php
$query = "select id, nom from membre order by nom asc;";
$sql = mysql_query($query);


// on construit le <select>
echo '<select name="receptionn" id="select">';
// une première option 'vide'
echo '<option value="0"> --- Choisir un technicien --- </option>';
// on parcours la table
while( $arr = mysql_fetch_assoc($sql) ) {
// une option pour chaque membre
echo '<option value="'.$arr['id'].'"';
// préselection d'un membre au cas où
if($r==$arr['id']) echo ' selected ';
echo '>'.$arr['nom'].'</option>';
}
echo '</select>';



?>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
20 févr. 2006 à 13:00
if($r==$arr['id']) echo ' selected ';

il faut bien alimenter $r, non ? donc a la place de
$r=0; // 0, il ne selectionne rien,si on met un il selection le premier membre de la BD

tu mets
$r = $_POST['receptionn'];
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
20 févr. 2006 à 14:16
heu ca va pas car non defini, la je suis dans une autre page, et je voudrai refaire le meme style, probleme comment faire pour savoir quel choix a ete pris et le sauve dans la bd?
0
Rejoignez-nous