Plusieurs question count(*), select [Résolu]

Signaler
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007
-
 cs_AlexN -
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

Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
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 !

?>
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
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;
}
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
$nb=mysql_result($sql,0,0);
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
je ne comprends pas bien la question 2
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
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+
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

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;

} ?>
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
$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 ?
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

$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?
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
$reque= "SELECT nom from membre order by nom";

si tu veux tous les enregistrements pourquoi une clause WHERE ?
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

oui mais la y m'affiche toujours le meme nom ...

comment faire pour passe au nom suivant???
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
pas normal
je serais curieux de voir le code maintenant
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

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>';
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

heu encore une question, j'utilise le code de J_G, pour recupere la valeur mise, je fais comment???
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
$r = // la valeur à séléctionner

à la place
$r = $_POST['receptionn'];
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

il me met toujours 1 ... et je voudrai pouvoir l'enregistrer et la reafficher sur un ocument a imprimer par exemple.
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

il me met toujours 1 ... et je voudrai pouvoir l'enregistrer et la reafficher sur un ocument a imprimer par exemple.
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
fais voir ton code !!
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

<? $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>';



?>
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
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'];
Messages postés
45
Date d'inscription
lundi 6 février 2006
Statut
Membre
Dernière intervention
29 novembre 2007

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?