Helppppppp =>php requéte =>Sql

Liza_chidra Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
Liza_chidra Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


sachant que je suis novice en php, ma question est la suivante:
voici ma requête:
$res=$connexion->prepare("select distinct libelleUE from ue u join fichier f on
(u.numE = f.idue)");

echo '<select name="module">';
while ( $row = $res -> fetch())
{
?>
<option value=".'$row['numue']'."><?php echo $row['libelleue']; ?></option>;

et donc je voudrais afficher une liste dynamique (libelleUE) sans redandonce!
puis quand je selectionne une valeur le formulaire me envoie l'id du libellé!!
jai essayé de emplacé la requete " select distinct libelleUE from ue.." par "select * from ue.." mais c'est tjs le méme bléme et emplus la liste est redondante!!
merci d'avance pour votre aide!


A voir également:

5 réponses

Liza_chidra Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
sans oublier le res=>execute()!!!


jattends vos réponses !
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
bonjour,

il serait intéressant de connaitre la structure des tables en question pour t'aider dans ta requête
0
Liza_chidra Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
merci davoir répondu!
alors la table ue |NumUE| LibelleUE| SemestreUE| activUE
et la table fichier |id_fich |nom_fich |chemin_fich |id_UE
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
ok donc si je comprend bien id_UE correspond a NumUE ?

et tu veux récupérer tout les numUE et LibelleUE ?

mais dans quel ordre et sous quel conditions ?
0
Liza_chidra Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
ben enfait je voudais récupéré les libellé dans une liste dynamique (sans redondance) puis dés qu'on selectionne un libellé ue le fomulaire nous renvoie son id!
pour afficher le chemin du fichier ue en question
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
ok donc il te faut 2 requêtes

pour afficher la liste : SELECT numUE,LibelleUE FROM ue

par contre pour les fichiers il y a plusieurs fichier par libelle ?

je trouve que tes champs sont très mal nommé...

ue c'est union européenne ?

on ne sait pas trop de quoi ca parle et en plus les répétitions sont inutiles

pour la table ue pourquoi les champs ne sont pas : id|libelle|semestre|activ ?

pourquoi mettre des majuscules au début des noms et répéter ue sur chaque champs ? vu que c'est dans la table

ensuite d'une table a l'autre tu nomes le même champs num et id ce n'est pas cohérent

Je dis ça parce que dans un gros projet si tes noms de champs ne sont pas cohérent tu risques de t'arracher les cheveux
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
de même pour la table fichier

id|nom|chemin|idUE serait plus cohérent inutile de répéter fichier a chaque fois

et si il n'y a qu'un fichier a chaque fois faire une seule table pour les deux
0
Liza_chidra Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci pour les conseils! (le logiciel a été créer bien longtemps mon but est de le remette a jour de faire une sorte d'extention jai pas donc le droit de toucher a la BDD existante)
jia modifier la requéte comme vous me lavez indiquer !
un autre souçis aparait, lorseque je fais mon chois de ue( Unité Enseignement) le chemin doit s'afficher ! mais là ya rien qui s'affiche
le code est corrécte je compends pas!!

<?php
// On commence par récupérer les champs
// On vérifie si les champs sont vides

if(isset($_POST['module']))
{
$module=$_POST['module'];
echo $module; // affiche l'idf du module en question
}
else $module="";

if(isset($_POST['Submit']))//// quand je clique sur ok
{
// requete pour afficher le chemin du cour

$req = $connexion->prepare(" SELECT * FROM fichier WHERE id_UE= '$module' ");
$req->execute();

while ($row = $req->fetch())
{
echo $row['chemin_fich'] ; /// probléme!!!
}
}
?>

tout marche mais rien ne s'affiche a la fin (le chemin du fichier)
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
c'est pas jolie tout ça

a quoi bon utiliser des requêtes préparé si on ne se sert pas de leur principal avantage ?
$req = $connexion->prepare(' SELECT chemin_fich FROM fichier WHERE id_UE= :module');
$req->execute(array('module' => $module));


comment ça rien ne s'affiche à la fin ?

il faut qu'il y est quoi qui s'affiche ? et qu'est ce qui s'affiche actuellement ?
0
Liza_chidra Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
je veux affiché le chemin du fichier (chemin_fich)
pour l'instant ya ien qui s'affiche ! rien!
jai essayé d'enlevé le where de la requéte (' SELECT chemin_fich FROM fichier') et là d'un coup c'est tout les chemin qui s'affiche!
je pensse que le bléme viens de $module
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
ok et il peut y avoir plusieurs fichiers pour un même id_UE ?

as tu essayés avec une vrai requete préparé ? et des simple quote ?

je ne comprend pas cette mani de mettre des doubles quote alors que c'est juste plus lourd...
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
essaie
var_dump($_POST);


pour voir si tu recois bien les bonnes valeurs
0
Liza_chidra Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
un grand merci pour votre aide! franchement jai enfin réussis a affiché les chemins grace a vous! mille fois merciiiiiiiiiiiiiiiiiiiii
0

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

Posez votre question
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
Quelle était la soluce ?
0
Liza_chidra Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
enfaite sté une erreur de syntaxe:
<option value=".'$row['numue']'."><?php echo $row['libelleue']; ?></option>;
fallait écire
<option value="<?php echo $row['numue'] ?>"><?php echo $row['libelleue']; ?></option>;

merci encore
0