Liste déroulante n'affiche qu'une ligne php

Résolu/Fermé
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 - 7 sept. 2011 à 12:15
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 - 8 sept. 2011 à 11:54
Bonjour,

J'ai une liste déroulante dans ma page, quand je fait un choix cela ne m'affiche qu'une ligne alors qu'il devrait en avoir plusieurs...

voici mon code pour la liste déroulante :
<form name="service" method="post" action="index.php?idpage=3">
<select name="service" onchange="submit" >
<option selected> Choisissez un service</option>
<?php
$requete = "SELECT uf,service FROM services order by service";
$req = mysql_query($requete) or die( mysql_error() ) ;

while ($donnees=mysql_fetch_array($req))
{
$uf = $donnees['uf'];
$service = $donnees['service'];
?>
<!-- affichage de la liste déroulante -->
<option value="<?php echo $service ?>" <?php if ($service == $v_service) { echo 'Selected' ; } ?> ><?php echo $uf." ".$service?></option>
<?php
}
?>
</select>
<input type="submit" value="Rechercher" />
</form>

Cela marche très bien..
C'est la deuxième partie qui pose problème
code affichage du choix
<?php
if ( isset($_POST['service'])) { $service = $_POST['service'];

$requete2 = "SELECT COUNT(uf) AS nb,uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE uf='$uf' group by uf,service,cartouche,sortie_stock,date_sortie";
$req2 = mysql_query($requete2) or die( mysql_error() ) ;

while ($donnees2=mysql_fetch_array($req2))
{
?>
<tr>
<td><?php echo $donnees2 ['uf']; ?></td>
<td><?php echo $donnees2 ['service']; ?></td>
<td><?php echo $donnees2 ['cartouche']; ?></td>
<td><?php echo $donnees2 ['date_sortie']; ?></td>
<td><?php echo $donnees2 ['sortie_stock']; ?></td>
</tr>

<?php
}
}
?>
Ma requête pour le deuxième code, je l'ai testé sous mysql et cela me renvoye bien ex: uf='4517' me donne bien 5 lignes...
Merci par avance pour votre aide.
A voir également:

3 réponses

Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
7 sept. 2011 à 13:28
Salut,
c'est re moi ;)
pour ta deuxième partie de code, rien ne s'affiche ?
Es tu sur de rentre dans les conditions de ton if (pour le savoir juste après l'accolade tu fais un echo bidon)
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
7 sept. 2011 à 13:34
coucou Melooo,
Si il m'affiche mais qu'une ligne dans mon tableau alors que c'est plus que je devrais avoir
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
Modifié par Melooo le 7/09/2011 à 13:39
Es tu sur d'avoir 5 ligne pour ton numéro uf ?
Essayes de remplacer ca :
<td><?php echo $donnees2 ['uf']; ?></td> 

par :
<td><?php echo $donnees2[0]; ?></td> 

et pareil pour les autres, en rajoutant +1 à chaque fois
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
7 sept. 2011 à 13:40
j'ai fais un echo bonjour et cela s'affiche avec une ligne et en plus je viens de remarquer que quand je sélectionne ex archives dans la liste déroulantes cela m'affiche urgence ..SUPER ;-)
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
7 sept. 2011 à 13:49
Tu dois avoir un souci dans ta requête SQL
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
7 sept. 2011 à 13:54
c'est ce que j'essayais de voir si dans le where je mets service='$service' il me renvoye le choix mais ne m'affiche toujours qu'une ligne
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
7 sept. 2011 à 13:54
pourtant la requête je l'ai testé et cela fonctionne..???
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
7 sept. 2011 à 13:56
Met les 5 lignes que ca t'affiche quand tu es dans ta base données,
et la ligne qui t'affiche sur ton navigateur
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
7 sept. 2011 à 14:11
base de donnée :
SELECT COUNT(uf) AS nb,uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE uf='4517' group by uf,service,cartouche,sortie_stock,date_sortie
Résultat
nb uf service cartouche sortie_stock date_sortie
1 4517 Archives 4096 A 2100 2200 2 2011-09-05
1 4517 Archives BCI 6 E 520 Cyan 1 2011-08-30
1 4517 Archives 520 Black 1 2011-08-30
1 4517 Archives toto 1 2011-08-02
1 4517 Archives 1720 2 2011-08-03

Pour ma page cela donne cela après choix" archives ":

UF SERVICE CARTOUCHE DATE SORTIE STOCK
2314 URG P1210 0000-00-00 0

J'étais un peu longue mais voilà le résultat..pas joli..joli
0