Bonjour,
Je vous explique ma situation. J'aimerai créer dans le compte des utilisateurs , une liste de choses qu'ils ont gagné. J'ai une bdd avec plusieurs tables dont : une "membre" et une "choses à gagner".
Je n'arrive pas et je ne sais pas comment faire cette liste. Il faut que j'intéragisse avec les tables...Je voudrais juste récupérer et afficher le nom de la chose à gagner (voire son image) dans le compte.
Je ne demande pas une réponse clé en main mais juste me donner un début de piste.
Merci
Tu as trois tables :
Te suffit donc de faire :
SELECT
*
FROM
choses_gagner AS c
INNER JOIN choses_a_gagner AS cg ON c.chose_id = cg.id
INNER JOIN utilisateurs AS u ON c.user_id = u.id
WHERE
c.user_id = ? # ton id utilisateur
Et après tu mets ce que tu veux dans ton select.
Tu crées une table qui va faire le lien entre les deux qui contiendra un id_user et un id_chose_a_gagner.
Ensuite te suffit de faire une requête avec des INNER JOIN pour récupérer les informations que tu souhaites. Rien de bien compliquer.
A oki merci bien ^^ par contre je ne connais pas INNER JOIN j'irai voir sur la doc php, je te tiens au courant si j'y arrive. Encore merci.
Bon j'ai compris comment ça fonctionnait mais je n'arrive pas à l'utiliser. J'ai créé :
->une table choses gagnées (contenant id_user et un id_chose_a_gagner) et voici ma requete :
$essai = App::getInstance()->getDb()->query(
'SELECT name, file
FROM choses_gagnees
INNER JOIN chose_a_gagner
ON choses_gagnees.id_user = choses_gagnees.id_chose_a_gagner
ORDER BY chose_a_gagner.name');
J'ai mis la valeur 29 dans id_user et id_chose_a_gagner (il y a un user pour cet id mais pas de chose à gagner) et le var_dump me donne toutes les choses à gagner...
Du coup un peu de mal a comprendre lol
Du coup j'ai réussi sans passer par une table neutre j'ai juste créer un chose_gagnes_id dans user et j'ai mis l'id de la chose gagnée.Par contre j'ai un
Array
(
[0] => stdClass Object
(
[name] => Peluche
[file] => ../webroot/img/lol/Ours.jpg
)
)
Du coup j'arrive pas à récupérer les infos. Qq1 à une idée?
ok merci je vais tester ça. Sinon pour récupérer les donnés de mon poste précédent suffit de faire
echo nom de la variable[0]->name
echo nom de la variable[0]->file