Afficher ce qui n'existe pas dans la BDD - PHP - Programmation
Marsh Posté le 17-02-2010 à 19:43:09
Tu fais une boucle sur les albums que tu as, et tu parcours ta liste en faisant une boucle dont la limite est le nb d'albums, et si l'abum n'est pas dans ta liste, tu affiches le numéro.
Marsh Posté le 17-02-2010 à 20:24:22
Ok pour la première partie de ta réponse. Jusque "en faisant une boucle dont la limite est le nb d'albums" ça va.
Mais pour la suite, j'utilise quel fonction ?
Marsh Posté le 17-02-2010 à 20:35:10
le pb c'est en cas de nouvel album ...
je m'explique. Aujourd'hui la collection "lambda" a 5 ouvrages : 1 - 2 - 3 - 4 - 5. Tu as les 1, 3, 4 et 5 (donc il ne te manque que le 2) : super. Mais si demain le n°6 sort, ton outil ne te dira pas que tu ne l'as pas ...
Si tu veux tout de même travailler avec la solution de "aideinfo" tu rapatries les albums que tu as dans un tableau, par exemple :
Code :
|
A ce niveau, $array_albums contiendra 1, 3, 4, 5.
On supposera alors que le dernier numéro sera le plus grand élément.
Code :
|
Maintenant tu n'as plus qu'à faire une boucle pour savoir quels numéros sont manquants :
Code :
|
L'autre solution que je te propose est de faire une table albuls avec la quantité (par défaut zéro)
en clair, tu aurais qqch du style
ID album quantité
1 alpha 1
2 beta 0
3 gamma 1
4 delta 1
5 epsilon 1
Et il te suffit alors de faire une requête sur t table WHERE quantite='0'
Avantage : lorsque tu ajoutes un album, la quantité est d'office à zéro.
(contrairement à l'autre solution où le dernier album supposé est le dernier que tu as déclaré ...)
Marsh Posté le 17-02-2010 à 21:01:07
En fait, je n'avais précisé dans mon premier message que j'avais déjà la quantité d'albums sortis insérée dans une de mes tables. J'ai donc pu l'utiliser avec ta méthode.
Merci beaucoup, tout marche très bien !
Maxime
Marsh Posté le 18-02-2010 à 09:47:51
Autrement, il y a une solution qui pourrait être encore mieux, celle d'avoir une table avec les albums, et une autre avec ceux que tu possèdes. Et puis tu fais une requête SELECT id_album FROM latable WHERE id_album NOT IN (SELECT id from albums_possedes WHERE collection='lambda');
Marsh Posté le 17-02-2010 à 18:32:23
Bonjour,
le sujet peut paraître saugrenu donc je m'explique.
J'ai ma base de données (MySQL) avec des enregistrements qui correspondent aux albums de bandes dessinées que je possèdent.
Par exemple, pour telle série de BD, j'ai les albums :
1 2 3 4 6 7 9 10 12
sur 15 albums.
J'aimerais faire une requête qui m'affiche les albums que je n'ai pas. Dans mon exemple, vu que j'ai 15 albums, j'aimerais que ça m'affiche donc :
5 8 11 12 13 14 15
Cela pour faciliter mes futurs achats.
J'ai créé un champ dans la BDD qui indique le nombre d'albums existants. Reste plus qu'à faire la requête mais je coince.
P.S. : j'ai placé ce message dans la catégorie PHP car peut-être que pour arriver à mes fins, quelques lignes php seront nécessaires.
Merci pour votre aide !
Maxime
Message édité par lofo7 le 17-02-2010 à 19:20:30