Requête sur deux tables
8 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Requête sur deux tables
bonsoir, je voudrais un conseil sur un requête dont j'ai besoin pour mon site.
j'ai deux tables : la première News contenant id_news, titre, contenu et date.
la deuxième Utilisateurs contenant : id_utilisateurs, nom_utilisateur, email_utilisateur, ville_utilisateur
et j'aimerais pouvoir afficher toutes ces infos si la news a été publiée aujourd'hui et par des utilisateurs vivant dans la même ville
Code :
SELECT COUNT(*) AS total
FROM Utilisateurs, News
WHERE Utilisateurs.nom_utilisateur = News.nom_utilisateur
AND ville_utilisateur='Paris'
AND date='$date';ca m'affiche bien toutes les news venant d'utilisateurs de la même ville, mais par contre pour la date il y a une légère erreur, ca m'affiche toutes les news de la table , si une news au moins a été écrite ce jour là ...
qu'en pensez-vous ? quelqu'un a une idée ?
merci, bonne soirée.
j'ai deux tables : la première News contenant id_news, titre, contenu et date.
la deuxième Utilisateurs contenant : id_utilisateurs, nom_utilisateur, email_utilisateur, ville_utilisateur
et j'aimerais pouvoir afficher toutes ces infos si la news a été publiée aujourd'hui et par des utilisateurs vivant dans la même ville
Code :
SELECT COUNT(*) AS total
FROM Utilisateurs, News
WHERE Utilisateurs.nom_utilisateur = News.nom_utilisateur
AND ville_utilisateur='Paris'
AND date='$date';ca m'affiche bien toutes les news venant d'utilisateurs de la même ville, mais par contre pour la date il y a une légère erreur, ca m'affiche toutes les news de la table , si une news au moins a été écrite ce jour là ...
qu'en pensez-vous ? quelqu'un a une idée ?
merci, bonne soirée.
Hummm, là ta requête va chercher les news d'utilisateurs venant de paris ayant écrit une news à la date $date.
La syntaxe me semble correct (sauf que faire une jointure sur un nom alors qu'on a des ID c'est pas du tout recommandé).
Vérifie après ce que contient de variable $date (est ce bien sous la forme aaaa-mm-jj? Est ce que tes tables ont bien un champs date de type date ou datetime?
La syntaxe me semble correct (sauf que faire une jointure sur un nom alors qu'on a des ID c'est pas du tout recommandé).
Vérifie après ce que contient de variable $date (est ce bien sous la forme aaaa-mm-jj? Est ce que tes tables ont bien un champs date de type date ou datetime?
re:
j'ai quasiment aucun doute sur ma variable date, car cette requête me ramene toutes les news de ma table si une au moins a été écrite au jour demandé, c'est bien ça le problème.
pour la jointure c'est préférable que je rajoute un id dans les deux tables, c'est bien ça ?
pour la jointure c'est préférable que je rajoute un id dans les deux tables, c'est bien ça ?
Cette ligne qui met en place une jointure suppose que tu aies un champ commun dans les 2 tables qui ici serait nom_utilisateur...
Mais comme le dit Bactéries, il vaut mieux que cela soit id_utilisateurs qui permettent la jointure (si j'ai bien compris une news est écrite par un utilisateur... c'est cela ?).
Mets à jour ta table News, en incluant un champ id_utilisateurs qui te permettra de faire ta jointure...
Mais comme le dit Bactéries, il vaut mieux que cela soit id_utilisateurs qui permettent la jointure (si j'ai bien compris une news est écrite par un utilisateur... c'est cela ?).
Mets à jour ta table News, en incluant un champ id_utilisateurs qui te permettra de faire ta jointure...
- Code: Tout sélectionner
SELECT COUNT(*) AS total
FROM Utilisateurs, News
WHERE Utilisateurs.id_utilisateurs = News.id_utilisateurs
AND Utilisateurs.ville_utilisateur='Paris'
AND News.date='$date';
Je pense plutôt par une 3è table
News(id_news, titre, contenu, date)
Utilisateurs(id_utilisateurs, nom_utilisateur, email_utilisateur, ville_utilisateur)
News_Utilisateurs(id, id_news, id_utilisateurs, date)
Dont la news que l'utilisateur a publié pour la date donnée
News(id_news, titre, contenu, date)
Utilisateurs(id_utilisateurs, nom_utilisateur, email_utilisateur, ville_utilisateur)
News_Utilisateurs(id, id_news, id_utilisateurs, date)
Dont la news que l'utilisateur a publié pour la date donnée
cyberlahy a écrit:Je pense plutôt par une 3è table
News(id_news, titre, contenu, date)
Utilisateurs(id_utilisateurs, nom_utilisateur, email_utilisateur, ville_utilisateur)
News_Utilisateurs(id, id_news, id_utilisateurs, date)
Dont la news que l'utilisateur a publié pour la date donnée
Deux tables suffisent si la news a été publiée par un utilisateur et un seul.
Une troisième table sera utile en cas de publication collective possible d'un news (donc par plusieurs utilisateurs) à des dates diverses...
Mais dans ce cas et uniquement dans ce cas, le champ date n'a plus à figurer dans la table News, non ?
Enfin, il doit être possible de concaténer id_news et id_utilisateurs pour former la clé primaire de la 3ème table News_Utilisateurs qui recense la participation d'un rédacteur à un article.
Le tout est de bien préciser la situation et de définir ce que l'on entend par 'date' par exemple... et je dois dire que je ne suis pas trés sur de voir qui fait quoi dans ce cas de figure...
8 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Statistiques des requêtes sur les moteurs en 2006
- Google facilite les recherches par site
- Nombre moyen de mots par requête : statistiques AOL Août 2006
- Yahoo France propose des requêtes avec les recherches suggérées
- Suggestions de requêtes dans Google News
- Obtenir le nombre exact de requêtes effectuées sur Google
- The Technology Behind Google
- Parts de marché des moteurs aux USA (Décembre 2006)
- Parts de marché des moteurs aux USA (Janvier 2007)
- Les Smart Answers arrivent chez Ask France
- Requete 2 tables
- Requete SQL sur 2 tables
- SQL Requête dans plusieurs tables
- Problème avec requête SQL multiple (3 tables) et comptage
- Requête SQL pour connexion entre 3 tables liées..
- Requete de classement SQL sur trois tables avec SUM, COUNT..
- Joindre deux tables
- Affichage deux tables
- Les tables de menu
- Tables MySQL liées
- Spécification tables Robostats
- Phpbb et tables de recherche
- gestion tables sql
- Comment Trier dans 2 tables?
- Taille des tables MySQL
Qui est en ligne
Utilisateurs parcourant ce forum: refmaurice et 0 invités




le forum