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() ) ;
<?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.
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)
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 ;-)
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
oui pour la requête
SELECT uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE uf='4517'
il me renvoye bien les 5 lignes mais dans ma page j'ai fait la requête
$requete2 = "SELECT uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE uf='$uf' ";
$req2 = mysql_query($requete2) or die( mysql_error() ) ;
et j'ai toujours une ligne et en plus c'est "urgence"
SELECT uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE uf='2314' 2314 URG P1210 0000-00-00 0 voici mon echo il me prend le dernière ligne de mon tableau automatiquement car je peux faire un autre choix c'est idem.... bizarre
au faite ,je viens de penser à quelque chose..dans ma liste déroulante j'ai une concaténation uf-service ..est ce que cela ne viendrait pas de là..question stupide mais bon...;-)
Je penses pas que ca vienne de la.
c'est que tu me donnes tellement de bout de code que je sais plus ce que ca fait,
explique moi chaque bout de code ce qu'il doit faire
la fin n'est pa juste
<!-- affichage de la liste déroulante -->
<option value="<?php echo $service ?>" <?php if ($service == $v_service) echo 'Selected'?> ><?php echo $uf." - " .$service?> </option>
<?php
}
?>
mais cela ne change rien
</table>
Voilà tout le code de ma page qui contient une liste déroulante avec bouton recherche ,en dessous il y a des champs date(mais pour l'instant je ne les ai pas codé,donc ne pas en tenir compte) ensuite j'ai mon tableau et à la fin affichage de mon choix
Bonjour,
J'ai réfléchi à tête reposée..je me demande si dans ma première partie du code ,il ne manque pas quelque chose.Je m'explique quand j'affiche ma liste déroulante et que je clic et que l'affichage se fait sur la même page, la boucle se fait mais quand elle arrive à la dernière ligne c'est celle là qui s'affiche dans mon tableau donc il doit surement manquer un $_POST ..?????
Ce qui est en gras est le changement maintenant il me renvoye bien le choix sélectionner mais ex :
"archives" me renvoye une ligne alors qu'il y en a 5 ou "christ" qui a 3 lignes je ne récupère que 2 et ainsi de suite ..étrange ???? où se trouve mon erreur ???
Je viens de faire un petit test pour voir, j'ai testé sur myqsl la requête avec Code : WHERE service='$service'
il ne me renvoye aucune ligne et dans ma page m'affiche mon choix et j'ai changé le where en Code :
WHERE uf='$uf'
dans mysql il me renvoye toutes les lignes mais dans ma page web peu importe le choix il me renvoye toujours la dernière ligne de mon tableau..quelqu'un peu m'expliquer???