Récupération de variable

ViPHP
ViPHP | 2291 Messages

28 août 2006, 13:58

Logiquement, tu as un id unique par technicien dans la table technicien, et dans l'autre table, tu ne mémorises que l'id du technicien, et en faisant une jointure tu peux obtenir le nom du technicien en regard des enregistrement de l'autre table (c'est une table d'interventions effectuées, ou un truc du genre ?)
Salut,
Voici la structure de mon application.

J'ai un formulaire avec entre autre un champs déroulant (qui contient le nom des dfférent techniciens). TABLE technicien.
une fois le formulaire encoder il s'enregistre dans la table (prestation) le champs technicien est un champs VARCHAR, puis je récupére certain champs de la TABLE prestation donc le champs technicien....
Donc à cette endroit je n'ais pas d'ID unique concernant le technicien j'ai simplement une ID unique concernant la ligne encoder (et je pense que c'est à cause de ma structure que je n'arrive pas à récupérer les données spécifique à un seule technicien :?: ).
Voilà pourquoi dans mon fichier info je voulais retourner dans la table technicien. mais au plus je réfléchit :idea: au plus je me dit que logiquement cela ne saurais pas fonctionner :!:

Quelqu'un aurais t'il une réponse svp :oops:
Modifié en dernier par dunbar le 28 août 2006, 14:35, modifié 1 fois.
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 août 2006, 14:12

(voui, enfin à 3 minutes près, tu peux aussi supposer que les boulets avaient commencé à rédiger leurs messages, ou tout du moins peut être cliqué sur "répondre" avant que tu ne lances ton quizz... et pis si c'est vraiment un quizz, pourquoi y aurait que lui qui aurait le droit de jouer hmm ?! ;))

ViPHP
ViPHP | 2291 Messages

28 août 2006, 14:17

(et pis si c'est vraiment un quizz, pourquoi y aurait que lui qui aurait le droit de jouer hmm ?! ;))
Parce que vu votre niveau vous êtes hors concours :langue:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 août 2006, 14:28

(voui, enfin à 3 minutes près, tu peux aussi supposer que les boulets avaient commencé à rédiger leurs messages, ou tout du moins peut être cliqué sur "répondre" avant que tu ne lances ton quizz...
Oui mais ils n'ont pas utilisé "Prévisualiser" avant de poster, ce qui est mal [-(

ViPHP
ViPHP | 2291 Messages

28 août 2006, 14:36

Logiquement, tu as un id unique par technicien dans la table technicien, et dans l'autre table, tu ne mémorises que l'id du technicien, et en faisant une jointure tu peux obtenir le nom du technicien en regard des enregistrement de l'autre table (c'est une table d'interventions effectuées, ou un truc du genre ?)
Salut,
Voici la structure de mon application.

J'ai un formulaire avec entre autre un champs déroulant (qui contient le nom des dfférent techniciens). TABLE technicien.
une fois le formulaire encoder il s'enregistre dans la table (prestation) le champs technicien est un champs VARCHAR, puis je récupére certain champs de la TABLE prestation donc le champs technicien....
Donc à cette endroit je n'ais pas d'ID unique concernant le technicien j'ai simplement une ID unique concernant la ligne encoder (et je pense que c'est à cause de ma structure que je n'arrive pas à récupérer les données spécifique à un seule technicien :?: ).
Voilà pourquoi dans mon fichier info je voulais retourner dans la table technicien. mais au plus je réfléchit :idea: au plus je me dit que logiquement cela ne saurais pas fonctionner :!:
Quelqu'un aurais t'il une réponse svp :oops:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 août 2006, 14:38

Dunbar >> c'est pô juste :cry:
Ouckileou >> et euh.. s'ils l'avaient utilisé, mais juste pour prévisualiser leur message (un truc de dingue en somme ;)) ?
parce que d'habitude, c'est pas le genre de mes clients de pourrir le topic des autres, m'sieur votre honneur :)


Sinon pour en revenir au sujet, la logique voudrait que dans ta table "technicien", tu ais un identifiant unique (et généralement non modifiable donc on évite les noms, les mails, etc.) pour distinguer chaque technicien.
Dans ta table "prestation", pour connaitre le technicien qui est intervenu, tu retrouverais donc juste un champ "id_technicien", qui te permettrait de savoir de qui il s'agissait, en allant chercher (via une jointure par exemple) les données associées dans ta table "technicien".

Et si jamais plusieurs techniciens peuvent intervenir sur une même prestation, tu aurais dans ce cas une table supplémentaire (à la place du champ id_technicien dans "prestation"), dans laquelle tu aurais deux colonnes : "id_prestation" et "id_technicien".
A partir d'une prestation tu retrouves ainsi tous les techniciens, et dans l'autres sens, tu peux retrouver toutes les prestations auxquelles a participer un technicien :)

Edit :
Quelqu'un aurais t'il une réponse svp :oops:
t'es pas géné toi ?! tu vois pas qu'on discute :langue:

ViPHP
ViPHP | 2291 Messages

28 août 2006, 15:46

Dunbar >> c'est pô juste :cry:
Ouckileou >> et euh.. s'ils l'avaient utilisé, mais juste pour prévisualiser leur message (un truc de dingue en somme ;)) ?
parce que d'habitude, c'est pas le genre de mes clients de pourrir le topic des autres, m'sieur votre honneur :)


Sinon pour en revenir au sujet, la logique voudrait que dans ta table "technicien", tu ais un identifiant unique (et généralement non modifiable donc on évite les noms, les mails, etc.) pour distinguer chaque technicien.
Dans ta table "prestation", pour connaitre le technicien qui est intervenu, tu retrouverais donc juste un champ "id_technicien", qui te permettrait de savoir de qui il s'agissait, en allant chercher (via une jointure par exemple) les données associées dans ta table "technicien".

Et si jamais plusieurs techniciens peuvent intervenir sur une même prestation, tu aurais dans ce cas une table supplémentaire (à la place du champ id_technicien dans "prestation"), dans laquelle tu aurais deux colonnes : "id_prestation" et "id_technicien".
A partir d'une prestation tu retrouves ainsi tous les techniciens, et dans l'autres sens, tu peux retrouver toutes les prestations auxquelles a participer un technicien :)

Edit :
Quelqu'un aurais t'il une réponse svp :oops:
t'es pas géné toi ?! tu vois pas qu'on discute :langue:
$select = "SELECT * FROM prestation_tvc_lux LEFT JOIN technicien ON ".$_GET['technicien']."=id_tech";
Voilà je code dans cette direction mais je me retrouve avec une erreur de PARSE ERROR qui pourrais me dire ou je commet mon erreur ?

Merci :wink: sans pour autant intérompre votre discution :wink: :lol:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Mammouth du PHP | 991 Messages

28 août 2006, 15:49

ca serait pa plutot comme ca ? :
<?php $select = "SELECT * FROM prestation_tvc_lux LEFT JOIN technicien ON ".$_GET['technicien']."='id_tech'"; 
non ?
DevOps, Symfony4, Hoa

ViPHP
ViPHP | 2291 Messages

28 août 2006, 15:51

ca serait pa plutot comme ca ? :
<?php $select = "SELECT * FROM prestation_tvc_lux LEFT JOIN technicien ON ".$_GET['technicien']."='id_tech'"; 
:oops: Non.

Erreur : You have an error in your SQL syntax; check the manual
 that corresponds to your MySQL server version for the right syntax to use near '='id_tech'' at line 1
Merci
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Mammouth du PHP | 991 Messages

28 août 2006, 15:56

dsl je vois pas l erreur je voulais qu a meme te feliciter pour ton design de ton site il est tres beaux..
DevOps, Symfony4, Hoa

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 août 2006, 16:06

Moi j'aurais mis les apostrophes de l'autre côté.. c'est à dire sur la valeur plutot que sur le nom du champ ;)

Cela dit prend l'habitude dans ces cas là d'afficher la requête sql que tu génères, ça saute plus facilement aux yeux que le morceau de code retourné par mysql :)

Edit : pour les apostrophes, ce n'est pas obligatoire si ta valeur est numérique.. donc ce n'est peut être pas de la que vient le problème. Par contre, y manque pas un lien entre les deux tables ? genre

Code : Tout sélectionner

table1 JOIN table2 ON table1.colonneX = table2.colonneY AND table2.colonneZ = $_GET...

ViPHP
ViPHP | 2291 Messages

28 août 2006, 16:12

Moi j'aurais mis les apostrophes de l'autre côté.. c'est à dire sur la valeur plutot que sur le nom du champ ;)

Cela dit prend l'habitude dans ces cas là d'afficher la requête sql que tu génères, ça saute plus facilement aux yeux que le morceau de code retourné par mysql :)

Edit : pour les apostrophes, ce n'est pas obligatoire si ta valeur est numérique.. donc ce n'est peut être pas de la que vient le problème. Par contre, y manque pas un lien entre les deux tables ? genre

Code : Tout sélectionner

table1 JOIN table2 ON table1.colonneX = table2.colonneY AND table2.colonneZ = $_GET...
Oui effectivement les erreur disparaisse en codant comme ceci :
$select = "SELECT * FROM prestation_tvc_lux 
LEFT JOIN technicien ON ".$_GET['technicien'].="'id_tech'";
:wink: merci
Quand à la jonction je travail dessus :!:

Bon alors cela avance...
Voici ma requete.
$select = "SELECT * FROM prestation_tvc_lux JOIN technicien ON prestation_tvc_lux.technicien =
 technicien.id_tech AND technicien.id_tech = '".$_GET['technicien']."'";
Et voilà ce que j'optient avec un echo sur ma requete.
SELECT * FROM prestation_tvc_lux JOIN technicien ON prestation_tvc_lux.technicien = technicien.id_tech 
AND technicien.id_tech = 'Gillet'Test technicien 
Alors cela à l'air de fonctionner, mais le nom du technicien (ici Gillet) ne s'affiche pas dans la page info se n'ais aucune information sinon la phrase "test technicien".
Pourquoi :?:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

ViPHP
ViPHP | 2291 Messages

29 août 2006, 12:56

Quelqu'un aurai t'il une idée :?: :oops:

D'avance merci
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 août 2006, 13:11

Alors cela à l'air de fonctionner, mais le nom du technicien (ici Gillet) ne s'affiche pas dans la page info se n'ais aucune information sinon la phrase "test technicien".
Pourquoi :?:
Et qu'est-ce que tu fais de cette requête ? Qu'est-ce que tu fais qui devrait afficher les infos en question ?

ViPHP
ViPHP | 2291 Messages

29 août 2006, 13:13

Alors cela à l'air de fonctionner, mais le nom du technicien (ici Gillet) ne s'affiche pas dans la page info je n'ai aucune information sinon la phrase "test technicien".
Pourquoi :?:
Et qu'est-ce que tu fais de cette requête ? Qu'est-ce que tu fais qui devrait afficher les infos en question ?
Je lui demande simplement de m'afficher le nom du technicien qui correspond au champ technicien.
Voilà mon lien :
echo '<td bgcolor="#FFFFFF"><font size="2">
<a href=info.php?technicien='.$row["technicien"].'>'.$row["technicien"].'</a></font></td>';
Il va dans le fichier info et devrais reprendre les info concernant le lien :
echo $select = "SELECT * FROM prestation_tvc_lux 
JOIN technicien ON prestation_tvc_lux.technicien = technicien.technicien AND technicien.technicien = '".$_GET['technicien']."'";
Et afficher les info ici :
echo  $row['technicien'];
C'étais ta question :?:

Merci :)
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.