[Résolu] Affichage d'un array résultant de 2 tables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Résolu] Affichage d'un array résultant de 2 tables

Re: [Résolu] Affichage d'un array résultant de 2 tables

par Ganesh » 16 juil. 2010, 21:51

oui, par défaut, et qui dit par défaut, dit que ça ne l'ai pas forcément ;)

Re: Affichage d'un array résultant de 2 tables

par stealth35 » 15 juil. 2010, 10:08

mysql_fetch_array renvoie un tableau indicé, pas un tableau associatif. Il te faut donc utiliser mysql_fetch_assoc.
non, mysql_fetch_array c'est mysql_fetch_row + mysql_fetch_assoc :wink:
Pas exactement, mysql_fetch_array renvoie un tableau qui peut être associatif, indexé ou les deux en fonction du second paramètre de la fonction. Il me semblait que ce paramètre était par défaut à MYSQL_NUM mais il est en effet à MYSQL_BOTH et renvoie donc un tableau indexé et associatif par défaut.
oui, donc par default mysql_fetch_array c'est mysql_fetch_row + mysql_fetch_assoc :wink:

Re: Affichage d'un array résultant de 2 tables

par Ganesh » 15 juil. 2010, 01:05

mysql_fetch_array renvoie un tableau indicé, pas un tableau associatif. Il te faut donc utiliser mysql_fetch_assoc.
non, mysql_fetch_array c'est mysql_fetch_row + mysql_fetch_assoc :wink:
Pas exactement, mysql_fetch_array renvoie un tableau qui peut être associatif, indexé ou les deux en fonction du second paramètre de la fonction. Il me semblait que ce paramètre était par défaut à MYSQL_NUM mais il est en effet à MYSQL_BOTH et renvoie donc un tableau indexé et associatif par défaut.

Re: Affichage d'un array résultant de 2 tables

par stealth35 » 15 juil. 2010, 00:44

mysql_fetch_array renvoie un tableau indicé, pas un tableau associatif. Il te faut donc utiliser mysql_fetch_assoc.
non, mysql_fetch_array c'est mysql_fetch_row + mysql_fetch_assoc :wink:

Re: Affichage d'un array résultant de 2 tables

par Merme » 14 juil. 2010, 15:20

Mais quelle brêle !!! ;)

Effectivement avec $donnees cela fonctionne beaucoup mieux.

Pour répondre à ganesh, oui mes tables n'ont pas été très bien pensé, j'ai rajouter pas mal de champ au fil de l'eau.
Et cela l'a pas mal alourdie, je ferai mieux l'année prochaine :)

Merci à vous messieurs !!!

Re: Affichage d'un array résultant de 2 tables

par Ganesh » 14 juil. 2010, 14:27

Bonjour,

mysql_fetch_array renvoie un tableau indicé, pas un tableau associatif. Il te faut donc utiliser mysql_fetch_assoc.
Mais tu rencontreras un autre problème, tu as plusieurs champs qui ont le même nom, il faut donc que tu leur donnes des alias dans ta requête.

P.S.: A vue de nez comme ça, j'aurais tendance à dire que ta base données souffre de problèmes de conception qui la rendent beaucoup plus lourde qu'elle ne devrait l'être.

Re: Affichage d'un array résultant de 2 tables

par Ryle » 14 juil. 2010, 14:24

Arf, en effet, une petite erreur de syntaxe... tu stockes le résultat du fetch_array dans une variable $donnes et tu utilises ensuite une variable $donnees ;)

Re: Affichage d'un array résultant de 2 tables

par Merme » 14 juil. 2010, 14:13

Salut,

Merci de m'aider.

Par contre cela n'a rien changer, toujours le même résultat à savoir aucun affichage du résultat ...

Re: Affichage d'un array résultant de 2 tables

par Ryle » 14 juil. 2010, 13:06

Essayes de sortir les variables de tes chaines, ça permet également d'avoir un code plus lisible avec la coloration syntaxique :)
echo "<div id='cssprenom'>". $donnees['dossard']." ".$donnees['nom']." ".$donnees['prenom']."</div>";
Tu peux également en profiter pour ajouter des quotes autour des noms des index de ton tableau, cela permet à php de savoir qu'il s'agit d'une chaine de texte et non pas d'une constante dont-il doit aller chercher la valeur :)

[Résolu] Affichage d'un array résultant de 2 tables

par Merme » 14 juil. 2010, 13:01

Bonjour @ tous,

Voila je tourne en rond depuis quelques temps sur mon problème.

Je fais un select sur 2 tables et je renvoie le tout dans un array.

Quand j'exécute ma query sous phpmyadmin je retrouve bien le bon résultat, donc la query en elle même est juste.
Par contre quand je veux afficher le résultat je n'ai aucun retour.

Voici le code.
$select = "SELECT 
  participants_10km.nom,
  participants_10km.prenom,
  participants_10km.dossard,
  `paiements`.nom,
  `paiements`.prenom,
  `paiements`.cheque,
  `paiements`.liquide,
  `paiements`.trans_id
FROM
  participants_10km,
  `paiements`
GROUP BY
  participants_10km.nom,
  participants_10km.prenom,
  participants_10km.dossard,
  participants_10km.paiement,
  `paiements`.nom,
  `paiements`.prenom
HAVING
  `paiements`.nom = participants_10km.nom AND 
  `paiements`.prenom = participants_10km.prenom AND 
  `paiements`.cheque = 0 AND 
  `paiements`.liquide = 0
  AND `paiements`.trans_id = ''";

$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
echo"
<div id='cssnom'> <b>DOSSARD</b> <b>NOM</b> <b>PRENOM</b></div>

";

while($donnes = mysql_fetch_array($result))
{
echo"
<div id='cssprenom'> $donnees[dossard] $donnees[nom] $donnees[prenom] </div>

";
}
Merci par avance pour votre aide !!!