Page 1 sur 1

vérification de présence dans 2 table sql pdo

Posté : 26 août 2014, 09:20
par tycoons
Salut la team,
je me posais la question pour pour vérifier la présence dans une table avec pdo.
J'ai deux tables sql qui on le même id à peu pret comme sa
table un
monid
nom
prenom

table 2
monid
test
test1
je voudrais vérifier le champ monid (qui est le même dans les 2 tables) sur mes deux table pour modifier l'affichage selon le retour de la requête j'ai tester avec un select mais sans succes
pouvez vous me montrer comment on procède pour ce genre de chose
merci

Re: vérification de présence dans 2 table sql pdo

Posté : 26 août 2014, 09:50
par moogli
salut,

il nous faut plus d'info sur ce que tu souhaite faire pour être plus précis sur la réponse.

ceci dit tu peux faire un simple count
select count(1) as nb from table2 where monid=xxx
ensuite nb contient le nombre de ligne qui ont xxx dans la colonne monid.

si tu veux tous d'une coup il est possible de faire une sous requête corrélée .

quelque chose dans ce goût la :
SELECT
  col1,
  col2,
  (SELECT
     count(1) AS nb
   FROM table2 t2
   WHERE t2.monid = t1.monid)
FROM table1 t1
@+

Re: vérification de présence dans 2 table sql pdo

Posté : 26 août 2014, 10:21
par tycoons
salut moogli,
c'est juste un test simple pour une gestion de livre avec connexion ldap
mes deux tables serve pour la première a répertorier les livres (titre,descritption,etc..) et la seconde (nom,mail,ect..) lié a mon connecteur ldap pour voir qui l'as pris ensuite je voulais affiché un bouton différent si le livre est pris ou pas j'ai mis le même id dans les deux tables (monid).
pour le moment je faisais juste un select est j'affiche toutes ma table livre mais je voulais modifier pour avoir le résultat citer plus haut
merci

Re: vérification de présence dans 2 table sql pdo

Posté : 26 août 2014, 12:03
par moogli
La seconde table ne te sert pas d'historique ?
si tu purge cette table à chaque retour et que tu assure une seule ligne par livre ce que je t'ai indiquer est la solution (si nb = 1 livre emprunté sinon dispo).

si tu garde l'historique je t'invite plutôt à ajouter un champs dans ta table 1 qui te servira de flag dispo ou nom.

par exemple
alter table tabl1 add disponible int(1) default 1 not null check(disponible in(0,1)) 
c'est l'équivalent d'un booleen zéro = non dispo et 1 = disponible (tu peux aussi avoir un varchar avec true / false ou oui / non ceci dit l'avantage de l'entier c'est que tu peux poser un index dessus et permettre d'avoir une recherche plus optimisé).

comme ça pas de soucis les deux tables tu as l'info directement.?
La jointure te sert juste pour avoir les deux ensembles.

@+

Re: vérification de présence dans 2 table sql pdo

Posté : 26 août 2014, 14:12
par tycoons
Re moogli,
non je ne fait pas d'historique mais l'idée est bonne vu que je n'ai qu un seul exemplaire du livre pour 110 personne je ne sais pas si l'historique est utile.
je me sert de la date dans la seconde tables avec un j+30 post mail retour du livre

Re: vérification de présence dans 2 table sql pdo

Posté : 26 août 2014, 17:53
par moogli
l'historique, peux être au niveau du pret de livre (qui à pris tel livre qu'elle période etc) mais aussi au niveau de l'utilisateur lui même (liste des livres emprunté par un utilisateur).
et ta seconde table semble faite pour cela :)

dans tous les cas le sub select est ta solution :)

@+

Re: vérification de présence dans 2 table sql pdo

Posté : 27 août 2014, 08:18
par tycoons
Salut moogli,
je vais regarder le sub select et voir comment je vais intégrer l'historique je reviendrais ver toi en cas de souci je vais coder déjà sa
merci de ton avis d'expert

Re: vérification de présence dans 2 table sql pdo

Posté : 27 août 2014, 12:24
par moogli
de rien.

Pour le subselect tu a un exemple dans mon 1er message ;)


@+

Re: vérification de présence dans 2 table sql pdo

Posté : 27 août 2014, 13:48
par tycoons
Re Moogli,
Bon je viens de tester le sub select sa ne convient pas vraiment car il ne m affiche que les bouquin déjà emprunter.
Le but c'est de faire afficher un truck du genre
book1 dispo
book2 emprunter
j'ai tester une requête
SELECT * FROM ouvrage LEFT JOIN  pret ON ouvrage.ouvrageid = pret.ouvrageid
je regarde dans phpmyadmin je fait ma requete j ai bien tous mes données avec sa si le bouquin est dispo il y a des champ vide donc je devrai arriver à faire cette affichage mais non :cry:
Pour faire mon affichage je fais un boucle dans laquelle je fait un if et else tous con sur un champ pour voir si il est vide ou pas et changer le bouton

Re: vérification de présence dans 2 table sql pdo

Posté : 28 août 2014, 08:32
par tycoons
Salut moogli,
nickel j'y suis arriver sa fait exactement ce que je veux
merci