6700 lignes "Option inscrits"

Résolu
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019 - 29 oct. 2015 à 13:58
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019 - 3 nov. 2015 à 17:27
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

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
29 oct. 2015 à 14:26
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


0
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
29 oct. 2015 à 14:37
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
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
Modifié par cgandco le 29/10/2015 à 15:04
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.
0
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
29 oct. 2015 à 15:17
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 ?
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
29 oct. 2015 à 15:20
oui c'est ça.
0
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
29 oct. 2015 à 15:23
Alors un grand merci à toi de m'avoir aidé aussi rapidement ;)

Bonne fin de journée
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9 > Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
30 oct. 2015 à 08:43
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
0
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
30 oct. 2015 à 10:14
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 ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
30 oct. 2015 à 11:25
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;

}
}
}
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
30 oct. 2015 à 15:32
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
0
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
3 nov. 2015 à 17:27
Merci pour ton aide précieuse cgandco ;)
0
Rejoignez-nous