Bonjour,
Après avoir fouillé sur le net et les tutoriels je ne trouve pas la réponse à ma question, qui semble a priori super simple.
Je souhaiterais faire une requête préparée sur toutes les tables de ma base de données sachant que ces tables sont totalement similaires (elles ont les mêmes champs). C'est comme si on ajoutait toutes les entrées des tables.
Voici mon code :
Dans l'exemple j'ai mis table1, table2... (ça ne marche évidemment pas) mais le but est d'associer les 10 tables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?php try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=base', 'root', '', $pdo_options); $req = $bdd->prepare('SELECT annee, place, nom, album, genre, nationalite, note FROM table1 table2 WHERE annee= ? ORDER BY place'); $req->execute(array($_GET['annee'])); echo '<ul>'; while ($donnees = $req->fetch()) { echo '<li>' . $donnees['place'] . ' : ' . $donnees['nom'] . ' ' . $donnees['album'] . ' ' . $donnees['genre'] . ' ' . $donnees['nationalite'] . ' ' . $donnees['note'] . '<br /> '; } echo '</ul>'; $req->closeCursor(); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } ?>
J'aimerais trouver une méthode pour associer toutes les tables ou plusieurs tables :
- UNION n'a pas marché chez moi, peut-être à cause d'une faute de syntaxe
- Les jointures ? Mais je n'en vois pas vraiment l'intérêt vu que les champs sont exactement les mêmes. Il ne s'agit pas d'associer des tables hétérogènes.
Ainsi, et c'est ma question subsidiaire, puisque toutes mes tables ont la même structure/champs, peut-être me suggéreriez-vous de faire UNE seule et même table ? Je ne suis pas fan de cette solution puisque j'aimerais bien avoir une forme de clarté dans ma base avec des tables distinctes.
Merci de votre attention et de votre aide.
Partager