Bonjour, dans le cadre du dévellopement de mon site internet je vient de rencontrer un problème et j'espère que vous pourrez m'aider.
J'ai trois tables:
1: Contient les utilistateurs (nom, id, et mot de pass)
2: Contient des projet en cours (id projet, nom, dossier)
3: Contient la liaisons entre les utilisateurs et les projet.
J'effectue la requete suivante:
$requete = 'SELECT * FROM USERS
LEFT JOIN APPARTIENT ON users.idUsers = appartient.AppidUsers
LEFT JOIN PROJET ON test = idProj
ORDER BY idUsers, libelle';
Jusque la ca fonctionne je récupère bien ce que je veux.
Ensuite je traite le résultat de la manière suivante:
$resultat = mysql_query($requete);
$nlignes = mysql_num_rows($resultat);
//print_r ($nlignes); // -> Compte le bon nombre de ligne OK
for ($i=0 ; $i < $nlignes ; $i++) // --> retourne tous les tableau de la selection
{
$ligne2 = mysql_fetch_array($resultat, $i); //-> recupère le tableau des données pour 1 utilisateur:
//print_r ($ligne2);
$essais = count($ligne2); //Problème: tableau deux fois trop grand............
for ($j=0; $j < $essais/2 ; $j++)
{
// Pour traitement des données du tableau. pour afficher les données
}
}
Le problème vient que le nombre d'élement est de 10 et il m'en compte 20 parce que il récupère un array du type:
array (
[0]=>1
[idusers]=>1
[1] =>test
[nom]=>test
)
alors que en fait le 0 et id users sont identique. Il me double mon tableau a chaque fois avec les nom des champ et un index incrémanté.
A votre avis d'ou peux bien provenir le problème.
Merci de votre aide.