Page 1 sur 1

Problème requête sql

Posté : 05 déc. 2008, 10:14
par tvertain
Bonjour,

Je fais appel à vos connaissances pour corriger un petit problème qui comme son nom l'indique me pose problème.

J'ai un script qui comporte un menu déroulant (plusieurs même) mais un seul ne reponds pas comme je le voudrais.

Voici le code de la table sql ci dessous :

Code : Tout sélectionner

-- -- Structure de la table `humeur` -- CREATE TABLE `humeur` ( `id` int(10) NOT NULL auto_increment, `libelle` varchar(50) NOT NULL default '', `description` varchar(30) default NULL, `defaut` char(3) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ; -- -- Contenu de la table `humeur` -- INSERT INTO `humeur` (`id`, `libelle`, `description`, `defaut`) VALUES (1, 'Absence de collecte (sans anomalie de tri)', NULL, 'non'), (2, 'Anomalie de tri', NULL, 'non'), (3, 'Bac volé / brulé/ tombé benne', NULL, 'non'), (4, 'Concerne la cellule encombrants', NULL, 'non'), (5, 'Concerne le service communication', NULL, 'non'), (6, 'Contrat commerçants', NULL, 'non'), (7, 'Demande de sacs de pré-tri', NULL, 'non'), (8, 'Demande de sensibilisation', NULL, 'non'), (9, 'Demande de supports de communication', NULL, 'non'), (10, 'Dépôt sauvage', NULL, 'non'), (11, 'Dotation à revoir', NULL, 'non'), (12, 'Information collecte', NULL, 'non'), (13, 'Information tri', NULL, 'non'), (14, 'Informations diverses', NULL, 'non'), (15, 'Jours de livraison bacs ou sacs', NULL, 'non'), (16, 'Nouvelle enquête', NULL, 'non'), (17, 'Réclamation divers', NULL, 'non'), (18, 'Renouvellement de sacs', NULL, 'non'), (19, 'S.A.V', NULL, 'non'), (20, 'Sacs non conformes', NULL, 'non');
Et maintenant le script php qui apparemment ne comprends pas tout ce que je lui demande.

Code : Tout sélectionner

//------------------------------------------------------------------ // Fonction d'affichage des 5 derniers appels saisis function saisie_affichederniersappels () { global $conn ; $sql = "SELECT a.id, a.date_appel, s.nom, t.libelle, l.nom, p.nom, h.libelle ". "FROM appel a, structure s, type t, lieu l, personne p, humeur h ". "WHERE a.id_structure = s.id ". "AND a.id_type = t.id ". "AND a.id_lieu = l.id ". "AND a.id_personne = p.id ". "AND a.id_humeur = h.id ". "ORDER BY a.id DESC ". "LIMIT 5 " ; $rs = $conn->Execute($sql) ; // Execute the query and get the empty recordset $nb = $rs->RowCount("appel") ; if (!$rs) { print $conn->ErrorMsg() ; } else { echo "<H2>Les cinq derniers appels saisis...</H2>" ; // si on n'a pas de résultat à notre requête if (($nb) == NULL) { echo "<H2>Votre base est vide pour l'instant !</H2>" ; } else { echo "<TABLE class=\"RESULTAT\" align=\"center\">" ; echo " <TR><TH>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date</TH><TH>Heure</TH><TH>&nbsp;&nbsp;&nbsp;A.P.I.C.D</TH><TH>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Commune&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TH><TH>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adresse&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TH><TH>&nbsp;&nbsp;Nom</TH><TH>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Motif&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TH></TR>" ; while (!$rs->EOF) { $timestamp = $conn->UnixTimeStamp($rs->fields[1]) ; $date = date (("d/m/Y"),$timestamp) ; $heure = date (("H:i"),$timestamp) ; echo "<TR>" ; echo " <TD>&nbsp;".$date."</TD><TD>&nbsp;".$heure."</TD>" ; echo " <TD>&nbsp;".$rs->fields[2]."</TD><TD>&nbsp;".$rs->fields[3]."</TD><TD>&nbsp;".$rs->fields[4]."</TD><TD>&nbsp;".$rs->fields[5]."</TD><TD>&nbsp;".$rs->fields[6]."</TD>" ; echo " <TD><A HREF=\"index.php?action=consulter.fiche&idAppel=".$rs->fields[0]."&date1=".isset($date1)."&date2=".isset($date2)."&provenance=saisie\">Plus d'infos</A></TD>" ; echo " <TD><A HREF=\"index.php?action=saisir.modifier&idAppel=".$rs->fields[0]."&date1=".isset($date1)."&date2=".isset($date2)."&provenance=saisie\" >Modifier</A></TD>" ; $rs->MoveNext() ; echo "</TR>" ; } echo "</TABLE>" ; echo "<BR><BR>" ; } } }
Le problème est donc en rapport avec l'humeur, en effet peu importe le choix effectué dans le menu déroulant, il me répond toujours par la mêmé réponse lorsque je consulte. Il m'affiche toujours le choix de l'id 6 "Contrat commerçants" même si j'en choisi un autre.

Pouvez vous m'aider à résoudre ce problème.

Par avance merci.[/code]

Posté : 05 déc. 2008, 11:23
par guilt92
Bonjour,

Ce que je ne comprend pas c'est que je ne vois pas comment tu pourrais avoir des résultats différents alors qu'il n'y a aucune référence à une variable dans ta requete... Tu parles d'un menu déroulant dans lequel on fait un choix, j'imagine que le code que tu montres la est la page de traitement suite à ce formulaire mais je ne vois pas ou tu récupères les variables en $_POST par exemple... A moins que tu fasses un update de ta table en fonction du menu déroulant mais ca n'est pas posté non plus...