Jointure de table vers calendrier

Par ADN, il y a 9 ans


Base de données MySQL

Bonjour,

Voila je rencontre un petit problème avec mon code.
J'ai actuellement 2 tables:
-voiture ->ID / marque / modele / type / année / km / couleur
-dates ->ID / IDcar / start / end

"('#add-event').click(function ()" J'ai un formulaire dans lequel je choisis une voiture et la date de debut et de fin. Une fois validé j'ai un "('#add-event').click(function ()" qui m'enregistre les info dans mes deux tables.

"fetch" Dans mon php j'ai un "fetch" qui me récupère les info dans ma table "dates" et qui me met en place l'evenement sous la forme d'une barre qui commence a mon start et fini a mon end de ma base de donnée "dates"
Jusqu'ici tout va bien.

Maintenant j'aimerais que mon "$fetch" recupère des éléments de l'autre table (voiture) pour les afficher. J'ai donc essayé avec une jointure. Mais j'avoue que je débute et que c'est assez galère pour moi.

<?php include('config.php'); $type = $_POST['type']; $table = 'dates'; if($type == 'fetch') { $events = array(); $query = mysqli_query($con, "SELECT * FROM $table"); SELECT voiture.id,voiture.marque,voiture.name,voiture.color,dates.start,dates.end,dates.icon FROM voiture INNER JOIN dates ON dates.id_car = voiture.id //Partie JOIN que j'ai rajouté while($fetch = mysqli_fetch_array($query,MYSQLI_ASSOC)) { $e = array(); $e['id'] = $fetch['id']; $e['title'] = $fetch['title']; $e['start'] = $fetch['start']; $e['end'] = $fetch['end']; $e['description'] = $fetch['description']; $e['className'] = $fetch['className']; $e['icon'] = $fetch['icon']; $e['marque'] = $fetch['marque']; $e['name'] = $fetch['name']; $e['color'] = $fetch['color']; $e['start'] = $fetch['start']; $e['end'] = $fetch['end']; $e['icon'] = $fetch['icon']; $allday = ($fetch['allDay'] == "true") ? true : false; $e['allDay'] = $allday; array_push($events, $e); } echo json_encode($events); } ?>

J'ai simplement rajouté la partie JOIN. pour joindre mes deux base de donnée et la je cale. Je ne sais pas quoi faire.
Merci pour votre aide

3 réponses

Kaelyscius, il y a 9 ans

Question qui peut être con mais, pourquoi n'as tu pas mis ta requête dans query = mysqli_query(con, "SELECT * FROM $table"); ?

Que te donne ton innerjoin dans l'onglet sql, quand tu es dans ta base de données dans phpmyadmin? (Ou tout autre outils que tu utilises)

ADN, il y a 9 ans

Merci beaucoup pour ton aide. C'etais bien ce qu'il fallait que je fasse :) Ca marche!

Kaelyscius, il y a 9 ans

C'est cool ! Oublie pas de passer ton sujet en résolu :D