Non Résolu

Condition sur deux tables

Bonsoir,


Je voudrais savoir si c'est possible de faire ce genre de condion en PHP :


Si le nom entré dans la TABLE 1 n'existe pas dans la TABLE 2 alors j'affiche le nom de la TABLE 1 sinon j'affiche le nom de la TABLE 1 avec l'image de la TABLE 2 ?


Je reste a votre disposition si je ne suis pas très claire, j'ai besoin de ça pour que mon projet soit plus propre. (J'ai regardé un peu avec les JOINTURES de tables mais je ne les utilises pas correctement peut être.)


Grandement besoin d'aide merci.

Cordialement.

566 vues
14 octobre 2020 à 16:04 (Édité)
Cette pub permet au site de vivre ...

8 commentaires

Bonjour @Clouder,


Je reviens vers toi pour mon soucis.


en continuant j'ai commencé a faire ce que je vais afficher aprés ce message. Mais je bloque quand même car le nom, quand elle est dans mon tableau, ne s'affiche pas


<?php 
$request = $con->prepare('SELECT * FROM editeurs ORDER BY editeurs_name ASC');
												
$request->execute();
												 
// Initialisation du tableau
$table = array();
												
// On effectue une boucle à l'aide d'un while qui va stocker
// les données issues de le tableau
												 
while ($data = $request->fetch() )
{
	// stocke toutes les dates de début de séjour
	$table[] = $data['editeurs_name'];
}
												
//On vérifie si le nom de l'éditeur ajouté 
//se retrouve dans le tableau
if (in_array($coeur_editeur , $table)) 
{
	//s'il est dedans on affiche oui et son nom
	echo "oui";
	foreach($request as $l_e)
    {
  		echo $l_e['editeurs_name'];
  	}
  	
 }else
  	{//sinon on affiche le nom ajouté par l'utilisateur
    	 echo $coeur_editeur;
    }
  ?>


Du coup le message "OUI" s'affiche bien, ça veut dire que le nom a été trouvé dans le tableau. Mais par contre quand je veux afficher le nom ou même l'image de ma variable la, ça n'affiche rien. Ou est ce que j'ai fais une érreur ?


Cordiallement.

re @Clouder


J'ai pleins d'images alors j'espere que ça ne va pas êtres brouillon .


je vais commencé par le coté SQL de ma table EDITEURS :

avec les id, les noms des editeurs, leurs images associées, et le liens de leurs site internet, si l'editeur est activé ou pas, et qui a ajouté l'éditeur.



ICI c'est la structure de la base de donnée EDITEURS



ENSUITE, le coté NEWSLETTERS

le contenue de la table



La structure de la table newsletters;



ET on finie sur les images du sites

La première image correspondrait a la condiiton :

si je retrouve " soleil" dans la colonne coeur_editeur de la table NEWSLETTERS

et la colonne editeur_name de la table EDITEURS

ALORS j'affiche le nom de l'editeur ( editeur_name) avec son image ( editeur_image) de ma table EDITEURS: ( regarde la dèrniere ligne qui s'appelle "editeur")



SINON, si le nom de l'éditeur "le chat" rentré par l'utilisateur dans le champ input, ENREGISTRE dans la table NEWSLETTER a la colonne "coeur_editeur",

n'existe pas dans la table EDITEURS a la colonne "editeur_name", Alors on affiche uniquement l'éditeur ajouté dans le "coeur_editeur" ( donc sans image).



Voilà ! j'espere n'avoir rien oublié, et j'espere que ça n'est pas brouillon.


Du coup je rappel mon objectif, c'est de comparer les deux tables, au niveau des champs coeur_editeur de la table NEWSLETTERS et editeurs_name de la table EDITEURS pour savoir si l'éditeur ajouté dans " coeur_editeur" existe dans " editeurs_name".

D'accord, j'attends tes captures 🙃

Merci @Clouder

pour toutes ses réponses .


je me suis mal exprimé . Ça n’est pas pour mettre une BD en coup de cœur mais pour afficher dans la section « coup de cœur » de la newsletter le nom de l’éditeur .


je fait des captures ce soir pour mieux t’expliquer 😁

@Dieunel,


J'ai également déplacé ton topic dans la catégorie SQL 👍

@Dieunel,


Si tu peux mettre des images de tes deux tables SQL cela serait super !


Sinon je peux te donner une piste en fonction de ce que j'ai compris ..


Pour moi il faut que tu es une table SQL Editeurs qui à plus ou moins cette structure là :

  • IDEditeurs
  • Nom
  • Prénom
  • Etc.


Ensuite une table SQL Livres :

  • IDLivres
  • IDEditeurs
  • Titre
  • Favoris (coup de cœur de ton patron)
  • Image
  • Résumé
  • Catégorie
  • Etc.


Ensuite, tu fais une recherche par titre du livre avec des liens pour accéder au livre qu'il choisit où ton patron pourra mettre en favoris (coup de cœur)


Comme ça avec une petite requête SQL tu pourras afficher en avant première les livres coup de cœur ^^


Je vois la chose comme ça pour toi 😀

Bonjour @Clouder :D


Et bien je pense que j'ai mal utilisé les jointures.


Je te donne plus de détails :


2 tables : newsletters et editeurs que j'ai joint via leurs ID. ( par contre les numéros des ID ne correspondent pas au niveau des lignes est ce grave ? )


Dans la table NEWSLETTERS la colonne qui m'interesse c'est : coeur_editeur dans laquelle il y a : soleil , glenat, etc...

Dans la table EDITEURS, les colonnes qui m'interessent sont : editeurs_name (dans laquelle on retrouve : soleil glenat, etc....)

ET editeurs_image (dans laquelle il y a les images des editeurs associées.)


Mon patron dans le champ input rentrera un nom éditeur pour la bd coup de coeur de la semaine (d'ou ma colonne coeur_editeurs). Du coup je voudrais comparer les tables pour faire ne sorte que :

Si le nom rentré dans la table NEWSLETTERS au niveau de la colonne coeur_editeur éxiste dans la colonne editeurs_name de ma table EDITEURS ,

ALORS on affiche le noms de l'éditeur avec son image.

SINON on affiche uniquement le nom de l'éditeur qu'il aura ajouté ( du coup uniquement celui qui serra renseigné dans coeur_editeur)


J'espère que j'ai été le plus claire possible ....

@Dieunel,


Pour moi c'est possible .. après il faut voir en fonction de tes informations et de la structure de ta BDD.

Car en fonction de la structure de ta BDD soit tu pourras faire une jointure facilement ou alors une requête sql avec des conditions (ce qui est plus difficile à réaliser)

Cette pub permet au site de vivre ...