récupérer une clé primaire avec PHP/MySQL

pacooo

Membre enregistré
3 Mai 2006
6
0
Bonjour à tous,

Je rencontre actuellement un petit problème lors de la mise en place l'interface PHP à ma base MySQL. Je cherche à lister des contacts ainsi que leurs informations relatives, et à mettre sur le nom du contact un lien hypertexte vers une page d'édition permetttant de modifier le contact.

Le problème est que je n'arrive pas à récupérer la clé primaire du contact avec PHP.

Ma requête, assez copieuse, est la suivante :

$result =
mysql_query('
SELECT ENTREPRISE.NomEntreprise, CONTACT.NomContact, CONTACT.TelContact, CONTACT.EmailContact, CONTACT.DescriptionContact, CONTACT.CodeContact,
CATEGORIE_CONTACT.IntituleCategorie,
ORIGINE_ACTION.Origine, ACTION.DescriptionAction, ACTION.DateAction
FROM ORIGINE_ACTION, ACTION, ENTREPRISE, CONTACT, CATEGORIE_CONTACT
WHERE ACTION.CodeOrigine = ORIGINE_ACTION.CodeOrigine
AND ACTION.CodeContact = CONTACT.CodeContact
AND CONTACT.CodeEntreprise = ENTREPRISE.CodeEntreprise
AND CONTACT.CodeCategorie = CATEGORIE_CONTACT.CodeCategorie
order by ACTION.DateAction DESC
LIMIT 0, 30
');


Pour le debug, je cherche simplement à afficher la clé primaire du contact (CodeContact) à l'aide du code suivant :

while ($val = mysql_fetch_array($result)) {
echo"codecontact :";
echo $val["CodeContact"];
}

et tout ce que j'obtiens à l'écran est :

codecontact : codecontact

Quelqu'un aurait il rencontré ce genre de problèmes ? J'ai un peu de mal à saisir car pour ma même requete je peux récuperer sans problème la valeur des autres champs avec par exemple $val["NomContact"] ...

Merci !

françois.
 
Elle fonctionne via ton SGBD ta requête?


Marc-André
 
Salut, as-tu essayé de récupérer les valeurs par indice numérique comme ci-après ?

while ($val = mysql_fetch_array($result, MYSQL_NUM)) {
echo"codecontact :";
echo $val[5];
}

ou, comme CodeContact est la clé primaire de Contact mais aussi une clé externe dans Action de la nommer avec un alias et d'utiliser cet alias ?

$result =
mysql_query('
SELECT ENTREPRISE.NomEntreprise, CONTACT.NomContact, CONTACT.TelContact, CONTACT.EmailContact, CONTACT.DescriptionContact, CONTACT.CodeContact as LECODE,
CATEGORIE_CONTACT.IntituleCategorie,
ORIGINE_ACTION.Origine, ACTION.DescriptionAction, ACTION.DateAction
FROM ORIGINE_ACTION, ACTION, ENTREPRISE, CONTACT, CATEGORIE_CONTACT
WHERE ACTION.CodeOrigine = ORIGINE_ACTION.CodeOrigine
AND ACTION.CodeContact = CONTACT.CodeContact
AND CONTACT.CodeEntreprise = ENTREPRISE.CodeEntreprise
AND CONTACT.CodeCategorie = CATEGORIE_CONTACT.CodeCategorie
order by ACTION.DateAction DESC
LIMIT 0, 30
');

while ($val = mysql_fetch_array($result)) {
echo"codecontact :";
echo $val["LECODE"];
}