Récupération de variable

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 août 2006, 13:50

Bon OK :
- tu as ton lien
- tu récupères la variable
- tu l'insères dans ta requête

Et cette requête SQL tu en fais quoi ? Tu l'exècutes au moins, avec mysql_query() ??

Parceque il va pas faire ça tout seul :D

ViPHP
ViPHP | 2291 Messages

29 août 2006, 13:53

Bon OK :
- tu as ton lien
- tu récupères la variable
- tu l'insères dans ta requête

Et cette requête SQL tu en fais quoi ? Tu l'exècutes au moins, avec mysql_query() ??

Parceque il va pas faire ça tout seul :D
Oui oui :wink:
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
echo $select = "SELECT * FROM prestation_tvc_lux JOIN technicien ON prestation_tvc_lux.technicien
 = technicien.technicien AND technicien.technicien = '".$_GET['technicien']."'";

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error());
$total = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){

echo  $row['technicien'];
}

echo 'Test technicien';

?>
Merci pour ton aide :D
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, 14:36

- Teste ta requête avec phpMyAdmin
- Affiche le résultat de mysql_num_rows()
- Liste les colonnes que tu veux plutôt que '*'

ViPHP
ViPHP | 2291 Messages

29 août 2006, 14:41

- Teste ta requête avec phpMyAdmin
- Affiche le résultat de mysql_num_rows()
- Liste les colonnes que tu veux plutôt que '*'
Oui merci voici l'erreur.
''Erreur : Column 'technicien' in field list is ambiguous
je vais devoir modifier les noms de TABLE ou CHAMPS c'est bien ça :?:
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, 14:44

Non, c'est que tu as une colonne "technicien" dans plusieurs tables utilisées dans la requête, il faut donc préciser laquelle tu veux :

table.colonne

Mais tu n'avais pas cette erreur en exécutant le fichier PHP ? c'est bizarre car tu demandes à afficher les erreurs MySQL ici :
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error()); 

ViPHP
ViPHP | 2291 Messages

29 août 2006, 14:50

Non, c'est que tu as une colonne "technicien" dans plusieurs tables utilisées dans la requête, il faut donc préciser laquelle tu veux :

table.colonne

Mais tu n'avais pas cette erreur en exécutant le fichier PHP ? c'est bizarre car tu demandes à afficher les erreurs MySQL ici :
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error()); 
Oui je sais :!: et non je n'avais pas cette erreur :?:

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

ViPHP
ViPHP | 2291 Messages

29 août 2006, 14:55

Non, c'est que tu as une colonne "technicien" dans plusieurs tables utilisées dans la requête, il faut donc préciser laquelle tu veux :

table.colonne

Mais tu n'avais pas cette erreur en exécutant le fichier PHP ? c'est bizarre car tu demandes à afficher les erreurs MySQL ici :
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error()); 
Une question stupide.
table.colonne

C'est quand même bien
nom_TABLE.nom_colonne
donc exemple ma table technicien.
CREATE TABLE `technicien` (
  `id_tech` int(4) NOT NULL auto_increment,
  `technicien` varchar(50) character set latin1 collate latin1_german1_ci NOT NULL,
  `ident` varchar(255) character set latin1 collate latin1_german1_ci NOT NULL,
  PRIMARY KEY  (`id_tech`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

donc technicien.technicien

Tu est d'accord :?:
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, 15:08

toutafé

ViPHP
ViPHP | 2291 Messages

29 août 2006, 16:31

toutafé
Bon alors ça fonctionne pas.
Et l'erreur vient quand je selectionne mes champs
SELECT technicien, ident .......
par contre elle disparaît quand je selectionne tout
SELECT * FROM.......
Bizarre non :?:

[/php]
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, 16:42

Fais voir ta requête... on ne peut pas deviner

Enfin quoique, si c'est le début de la requête que tu nous montres, c'est normal

Et je viens de t'expliquer de quoi ça venait et comment résoudre le problème :?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 août 2006, 16:45

''Erreur : Column 'technicien' in field list is ambiguous
tu as une colonne "technicien" dans plusieurs tables utilisées dans la requête, il faut donc préciser laquelle tu veux :

table.colonne
donc technicien.technicien
Et l'erreur vient quand je selectionne mes champs
<?php SELECT technicien, ident ....... 
:?

ViPHP
ViPHP | 2291 Messages

29 août 2006, 16:45

Fais voir ta requête... on ne peut pas deviner

Enfin quoique, si c'est le début de la requête que tu nous montres, c'est normal

Et je viens de t'expliquer de quoi ça venait et comment résoudre le problème :?
Oui absolument je sais et j'ai fait comme tu ma dit :!:
$select = "SELECT technicien, ident FROM technicien JOIN prestation_tvc_lux ON prestation_tvc_lux.technicien 
= technicien.technicien AND technicien.technicien = '".$_GET['technicien'].="'";
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, 16:46

Oui absolument je sais et j'ai fait comme tu ma dit :!:
Si l'erreur est valable pour une colonne "technicien" citée, elle est valable pour l'autre

ViPHP
ViPHP | 2291 Messages

29 août 2006, 16:51

Oui absolument je sais et j'ai fait comme tu ma dit :!:
Si l'erreur est valable pour une colonne "technicien" citée, elle est valable pour l'autre
Oui mais comme ceci je lui précise quand même tout :?:
$select = "SELECT technicien, ident FROM technicien JOIN prestation_tvc_lux ON prestation_tvc_lux.technicien  
= technicien.technicien AND technicien.technicien = '".$_GET['technicien'].="'";  
est égal à :
Je lui demande de faire une recherche dans les TABLES "technicien" et "prestation_lux_2006" en détail =
dans la TABLE prestation_lux_2006 la colonne technicien et dans la TABLE technicien la colonne technicien.
Je ne me trompe pas :?:
Et c'est bien cela que tu ma dit de faire ou j'ai mal compris (se qui est tout à fait possible :wink: )

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, 16:56

Oui mais comme ceci je lui précise quand même tout :?:
Et celle là alors ?
$select = "SELECT technicien