6700 lignes "Option inscrits" [Résolu]

Signaler
Messages postés
52
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
7 avril 2019
-
Messages postés
52
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
7 avril 2019
-
Bonjour, Je suis Eric j'ai un site Wordpress que j'arrive à modifier que légèrement , j'ai une petite connaissance sur le SQL.

Ma question :

J'ai créé et j'en suis fière une table avec 6700 lignes , les lignes correspondent à des adresses d'entreprises en Alsace , il est bien sur possible qu'un jour ou l'autre j'en rajoute ou j'en supprime.

Pour accéder sur cette liste il faut s'inscrire.

Il y a possibilité d'envoyer des CV en "spontané" donc là ou je veux en venir c'est que je voudrais que soit affiché sur cette liste si l'inscrit à envoyer un CV ou pas. C'est un repère pour lui.

En SQL j'ai aucune idée comment je pourrais faire ça; j'imagine mal de mettre 6700 options par inscrit.

Auriez vous un exemple ou une idée

Merci à tous

Eric

5 réponses

Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
9
Bonjour,

Tu as une table avec tes entreprises, je suppose avec un champ unique IDEntreprise (ou un autre nom).

Tu as une table avec tes Utilisateur, je suppose aussi avec un champ unique IDUtilisateur (ou un autre nom).

dans ton cas un utilisateur peu avoir plusieurs entreprise (inscrit)
et donc une entreprise peu également avoir plusieurs utilisateurs inscrit.

Tu as donc une relation plusieurs à plusieurs.

tu dois créer une table qui est définie avec les deux id (idEntreprise,IDUtilisateur) et qui contiendra autant d'enregistrement qu'il n'y a de liaison entreprise - utilisateur.


Bonne journée


Messages postés
52
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
7 avril 2019

Merci pour cette réponse rapide Cgandco,

C'est assez clair, je comprends bien ce que tu veux dire, juste un petit truc à l'intérieur de cette nouvelle table (ID utilisateur) (ID entreprise) je dois créer 6700 colonnes ?
là j'ai du mal à suivre
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
9
Non,

pas 6700 colonnes mais deux avec autant de ligne que d'inscription.

si tu as par exemple au début (état actuel) 10 entreprises E1, E2, .., E10

et 10 utilisateurs U1, U2, ..., U10.

et que par exemple uniquement U1,U2,U5 sont inscris à E1, E2, E10 ...

tu auras par exemple la table qui resemblera a cela :

U1,E1
U1,E10
U2,E5
U5,E3
U5,E10

si un utilisateur se déinscrit ou que tu supprime un utilisateur ou une entreprise il suffit de supprimer les liens qui les unis.

Faites simple, aussi simple que possible, mais pas simpliste.
A. Einstein.
Messages postés
52
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
7 avril 2019

Ok, donc à partir du moment ou l'inscrit va envoyer un CV il faut à partir de ce moment créer une nouvelle ligne avec (L'id de l'inscrit et l'id de l'entreprise)

Ex :
Toto à l'ID 1 il envoie un CV à Titi_Entreprise qui lui même à l'id 12, cela va donner :

1,12

Le lendemain Toto va envoyer un CV à l'id 40
1,40

Et si je regarde sur la table je vais avoir :
(1,12),
(1,40);

C'est ça ?
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
9
oui c'est ça.
Messages postés
52
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
7 avril 2019

Alors un grand merci à toi de m'avoir aidé aussi rapidement ;)

Bonne fin de journée
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
9 >
Messages postés
52
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
7 avril 2019

Bonjour,

Après une bonne nuit, j'ai une information en plus qui pourrait te servir,

dans cette table tu peux ajouter des champs qui seront des informations sur l'inscription.

par exemple un champ pour la date de cette inscription.

et dans ton formulaire plutot que de dire inscription oui/non, indiquer la date si il y a une inscription.


Bonne journée
Messages postés
52
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
7 avril 2019

Salut,

Ha il faut dormir la nuit ;)
j'y avait pensé aussi :) $date,$heure

Merci je suis en train de chercher la syntaxe qui vérifie si un enregistrement a déjà été fait ....
Messages postés
52
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
7 avril 2019

C'est bon à ton avis ce genre de recherche ?


$query = "SELECT `id_inscrit`,`id_entreprise` FROM `LVAM_cv_envoye` WHERE id_inscrit=$id_inscrit and id_entreprise=$id_entreprise";

if ($stmt = $mysqli->prepare($query)){

$stmt->bind_param("s", $id_inscrit);

if($stmt->execute()){
$stmt->store_result();

$id_inscrit= "";
$stmt->bind_result($id_inscrit);
$stmt->fetch();

if ($stmt->num_rows == 1){

echo "Déjà envoyé";
exit;

}
}
}
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
9
Je ne connais pas php,

mais je ferais plutot cette requete ci

SELECT Entreprise.IDE, Entreprise.nom, Entreprise.adresse, filtre.LINKTABLE.SendDate
FROM Entreprise LEFT JOIN (SELECT Entreprise.IDE, LINKTABLE.SendDate
FROM LINKTABLE INNER JOIN Entreprise ON LINKTABLE.IDE = Entreprise.IDE
WHERE LINKTABLE.IDU=$id_inscrit
)  AS filtre ON Entreprise.IDE = filtre.IDE;


petite explication

table Entreprise
champs : ide,nom,adresse
table LINKTABLE (table de lien)
champs : ide,idu,SendDate
idu est l'id utilisateur

un premier select est

SELECT Entreprise.IDE, LINKTABLE.SendDate
FROM LINKTABLE INNER JOIN Entreprise ON LINKTABLE.IDE = Entreprise.IDE
WHERE LINKTABLE.IDU=$id_inscrit


qui me donne les entreprises qui ont des inscriptions avec la date d'envoi
pour l'utilisateur

ensuite je fais un left join entre la liste complete des entreprises et le select ici avant.
Ce qui me donne la liste complete des entreprises avec leur nom et adresse et si elle ont une inscription pour cet utilisateur la date d'envoi


Bonne journée
Messages postés
52
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
7 avril 2019

Merci pour ton aide précieuse cgandco ;)