Retour PDO

Eléphant du PHP | 451 Messages

13 déc. 2011, 15:31

Personne n'a une idée????

Eléphant du PHP | 171 Messages

15 déc. 2011, 14:40

Salut,

Tu peux utiliser foreach ou array_walk et lui faire parcourir tes tableaux pour qu'il vérifie chaque valeur du tableau. Si celle ci est vide, il la supprime.

J'ai fait une rapide recherche sur Google pour voir le plus performant entre les deux, http://www.codingforums.com/archive/ind ... 47062.html, je te laisse jugé par toi même, il n'y a pas énormément mais c'est toujours ça de pris.
Tu peux avec utiliser conjointement une fonction anonyme : http://php.net/manual/fr/functions.anonymous.php pour unset l'index du tableau lorsqu'il est nul, très utile dans ce genre de cas.
Le bon jugement s'apprend par l'expérience qui s'acquiert en partie par le mauvais jugement.

Eléphant du PHP | 451 Messages

16 déc. 2011, 22:32

Merci Skw33d mais j'ai abandonné cette méthode de retour PDO car y a trop de bug il confond toujours les id des users entre celui qui poste et ceux qui commentent donc voilà je fais sans même si je pense que c'est possible car CakePhp le fait mais un jour je me plongerais plus dans leur code pour voir comment ils font.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 déc. 2011, 15:26

C'est assez complexe a faire et de toute façon il faut pouvoir faire la différence entre les homonymes :)

bon courage

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 451 Messages

17 déc. 2011, 17:17

Oui c'est sur que c'est compliqué mais je pense avoir une idée.

Car j'exécute ma requête je pense que je vais faire de façon à exploser ma requête pour faire que des select.

Exemple:
Requête de départ:
SELECT a.*, b.id, b.username FROM table1 AS a LEFT JOIN table2 as b ON b.id = a.user_id WHERE a.id = 1

Requête final:
SELECT * FROM table1 WHERE id = 1
SELECT id, username FROM table2 WHERE id = {Le retour de la première requête soit user_id}
Je sais pas si niveau ressource c'est bon mais sinon je sais pas trop comment faire car même en renommant les champs avec des AS et aussi en mettant des allias au table quand elles sont appelé plusieurs fois ça ne va pas non plus.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 déc. 2011, 17:35

je ne pense pas que deux requêtes soient aussi performante qu'une jointure. et dans tous les cas il faudras nommer quelque part les champs.

Je pense que le plus simple est de passer en plus une description des tables ;)

je pense que ceci rentre dans le cadre d'ORM (si tu veux plus d'infos la c'est google moi je sais pas top :)

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 451 Messages

18 déc. 2011, 20:41

Ok Moogli je vais voir pour faire mon ORM.

Je vous tiendrais au courant du résultat.

Eléphant du PHP | 451 Messages

20 déc. 2011, 21:10

Bon ben j'ai lu et relue le code de plusieurs ORM et j'ai toujours pas trop compris comment ils font et j'ai pas trouver d'explication ni de tutoriel sur ça.

Donc si quelqu'un à un tutoriel ou qu'il sait comment ça marche.

Merci de laisser un lien ou de me donner des info.

Eléphant du PHP | 451 Messages

22 déc. 2011, 20:44

En faites J'ai trouvé la solution il suffit juste de renommer les champs à la volée pour obtenir un truc du genre:
SELECT Recettes.id as recettes_id, etc
Et ensuite de parcourir le tableau des résultats PDO puis de renommer les champs comment il faut au moment ou je les place dans le tableau.

Merci à vous pour m'avoir grandement aidé et surtout à Moogli pour m'avoir donnée le script.

++

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 déc. 2011, 12:24

heu de rien, ça f'ra une belle tablette de compète :mrgreen: :mrgreen:

ben quoi c'est presque nowel on peu espérer :)
Il en faut peu pour être heureux ......