29-06-2010, 10:42 AM
(29-06-2010, 09:45 AM)keke a écrit : par contre, pourquoi mettre des left join, au lieu de jointure classique ? C'est une habitude de programmation ?
En effet, c'est plus une habitude qu'autre chose. Le LEFT JOIN fait que tu auras ta ligne dans le jeu de résultat même si la jointure échoue (par exemple si le joueur n'existe pas pour l'ID données, la colonne nom_joueur sera NULL). Avec un INNER JOIN (ou JOIN, puisque le INNER est implicit), si l'une des jointures n'est pas satisfaite, la ligne n'est pas du tout ajoutée au jeu de résultat.
Dans ce cas précis, si ce cas arrive, c'est que tes données ont été corrompues puisqu'une table de jointure ne devrait jamais faire référence à des éléments inexistants. Tu peux donc largement utiliser INNER JOIN.
(29-06-2010, 09:45 AM)keke a écrit : Je n'ai pas bien compris ta remarque sur GetJson. Pourrais-tu écrire le code correspondant ? J'ai essayé à tâtons tout un tas de combinaison, mais je n'ai trouvé de bonne que celle qui est écrite.
$.getJSON(
"ajax_liste_distinction_desc.php",
{ positionnement: compteur },
function(datas){
texte_id_distinction = "";
nb_distinction = datas.length;
$("#tableau_dynamique").html(
compteur + ' vs ' + nb_distinction + ' Recherche Information via AJAJSON.'
+ 'Nb résultat = ' + datas.nb + ' test = ' + datas[0].id_distinction_joueur
);
}
);
Ici, datas est déjà un objet JSON prêt à l'emploi, comme le montre la documentation de jQuery.getJSON().
Il n'est pas nécessaire de le réévaluer, surtout que l'évaluation par eval() est à proscrire. Le framework dispose d'outils pour faire ça : la librairie JSON2 ou le parser natif du navigateur, s'il est disponible.
Sephi-Chan