Resource id #8sur le premier article et
Resource id #9sur le second
$query_selection_article_correspondant = mysql_query("SELECT * FROM articles, commentaires WHERE articles.titre_article=commentaires.titre_article") or die ('Erreur sur la requête SQL concernant la sélection de l\'article correspondant'.mysql_error()); // Envoie une requête à un serveur MySQL if ($row=mysql_fetch_row($query_selection_article_correspondant)) { echo ' '.$query_selection_article_correspondant.' '; }
// Requête SQL pour déterminer l'identifiant de l'article correspondant - le faire à l'affichage $query_selection_article_correspondant = mysql_query("SELECT * FROM articles, commentaires WHERE articles.titre_article=commentaires.titre_article") or die ('Erreur sur la requête SQL concernant la sélection de l\'article correspondant'.mysql_error()); // Envoie une requête à un serveur MySQL while ($row = mysql_fetch_assoc($query_selection_article_correspondant)) { echo $row["user_pseudo"]; echo $row["date_depot"]; echo $row["texte_commentaire"]; }
PseudoDateTitrePseudoDateTitrePseudoDateTitre
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSELECT * FROM articles, commentaires WHERE articles.titre_article=commentaires.titre_articlesur PHPMyAdmin, ça me donne le résultat adéquat (deux occurrences pas en double).
// Insertion du commentaire dans la base de données $req_insertion_texte_commentaire_article = "INSERT INTO commentaires(user_pseudo, nom_village, date_depot, texte_commentaire) VALUE ('$user_pseudo', '1', now(), '$texte_commentaire_article')"; $query_insertion_texte_commentaire_article = mysql_query($req_insertion_texte_commentaire_article) or die ('Erreur sur la requête SQL concernant l\'insertion des commentaires sur des articles'.mysql_error()); // Envoie une requête à un serveur MySQL echo "Votre commentaire est posté. "; }
ALTER TABLE `sgbdd`.`commentaires` ADD UNIQUE `FOREIGN KEY` ( `id_article` )
SELECT * FROM articles, commentaires WHERE articles.titre_article=commentaires.titre_article, ça me fait :
debug : #1054 - Unknown column 'commentaires.titre_article' in 'where clause'{"success":false,"error":" #1054 - Unknown column 'commentaires.titre_article' in 'where clause'<\/div>"}
CREATE TABLE IF NOT EXISTS `commentaires` ( `id_commentaire` int(11) NOT NULL AUTO_INCREMENT, `user_pseudo` varchar(255) DEFAULT NULL, `nom_village` varchar(255) NOT NULL, `nom_categorie` varchar(255) NOT NULL, `date_depot` datetime NOT NULL, `texte_commentaire` text NOT NULL, `id_article` int(11) NOT NULL, UNIQUE KEY `PRIMARY KEY` (`id_commentaire`), UNIQUE KEY `FOREIGN KEY` (`id_article`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=48 ;
CREATE TABLE IF NOT EXISTS `articles` ( `id_article` int(11) NOT NULL AUTO_INCREMENT, `nom_village` varchar(255) CHARACTER SET latin1 NOT NULL, `nom_categorie` varchar(255) CHARACTER SET latin1 NOT NULL, `date_depot` datetime NOT NULL, `titre_article` varchar(255) NOT NULL, `texte_article` text NOT NULL, `auteur_article` varchar(255) NOT NULL, PRIMARY KEY (`id_article`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=84 ;
AuteurDate formatée en PHP Contenu du commentaire
// Requête SQL pour déterminer l'identifiant de l'article correspondant - le faire à l'affichage $query_selection_article_correspondant = mysql_query("SELECT * FROM articles, commentaires WHERE articles.id_article=commentaires.id_article") or die ('Erreur sur la requête SQL concernant la sélection de l\'article correspondant'.mysql_error()); // Envoie une requête à un serveur MySQL while ($row = mysql_fetch_assoc($query_selection_article_correspondant)) { echo $row["user_pseudo"]; echo dateLongue($row["date_depot"]); echo $row["texte_commentaire"]; }
CREATE TABLE IF NOT EXISTS `articles` ( `id_article` int(11) NOT NULL AUTO_INCREMENT, `nom_village` varchar(255) CHARACTER SET latin1 NOT NULL, `nom_categorie` varchar(255) CHARACTER SET latin1 NOT NULL, `date_depot` datetime NOT NULL, `titre_article` varchar(255) NOT NULL, `texte_article` text NOT NULL, `auteur_article` varchar(255) NOT NULL, PRIMARY KEY (`id_article`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=84 ;
CREATE TABLE IF NOT EXISTS `commentaires` ( `id_commentaire` int(11) NOT NULL AUTO_INCREMENT, `user_pseudo` varchar(255) DEFAULT NULL, `nom_village` varchar(255) NOT NULL, `nom_categorie` varchar(255) NOT NULL, `date_depot` datetime NOT NULL, `texte_commentaire` text NOT NULL, `id_article` int(11) NOT NULL, PRIMARY KEY (`id_commentaire`), KEY `FOREIGN KEY` (`id_article`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=48 ;
// Requête SQL pour déterminer l'identifiant de l'article correspondant - le faire à l'affichage $query_selection_article_correspondant = mysql_query("SELECT * FROM articles, commentaires WHERE articles.id_article=commentaires.id_article") or die ('Erreur sur la requête SQL concernant la sélection de l\'article correspondant'.mysql_error()); // Envoie une requête à un serveur MySQL while ($row = mysql_fetch_assoc($query_selection_article_correspondant)) { echo $row["user_pseudo"]; echo dateLongue($row["date_depot"]); echo $row["texte_commentaire"]; }
ALTER TABLE commentaires ADD FOREIGN KEY (id_article) REFERENCES articles(id_article);
// strip_tags = Supprime les balises HTML et PHP d'une chaîne $texte_commentaire_article=$_POST["texte_commentaire_article"]; $titre_article = $donnees_messages['titre_article']; // Enregistrement du pseudo de l'utilisateur (variable de session) pour pouvoir l'utiliser dans la requête INSERT INTO $user_pseudo = $_SESSION["user_pseudo"]; //$titre_article = mysql_query("SELECT 'titre_article.articles' FROM articles, commentaires WHERE articles.titre_article=commentaires.titre_article") or die ('Erreur sur la requête SQL concernant l\'insertion des commentaires sur des articles'.mysql_error()); // Envoie une requête à un serveur MySQL // Insertion du commentaire dans la base de données $req_insertion_texte_commentaire_article = "INSERT INTO commentaires(user_pseudo, nom_village, date_depot, texte_commentaire) VALUE ('$user_pseudo', '1', now(), '$texte_commentaire_article')"; $query_insertion_texte_commentaire_article = mysql_query($req_insertion_texte_commentaire_article) or die ('Erreur sur la requête SQL concernant l\'insertion des commentaires sur des articles'.mysql_error()); // Envoie une requête à un serveur MySQL echo "Votre commentaire est posté. "; }
// strip_tags = Supprime les balises HTML et PHP d'une chaîne $texte_commentaire_article=$_POST["texte_commentaire_article"]; // Enregistrement du pseudo de l'utilisateur (variable de session) pour pouvoir l'utiliser dans la requête INSERT INTO $user_pseudo = $_SESSION["user_pseudo"]; $query_recherche_bon_article = "SELECT articles.id_article FROM articles, commentaires WHERE articles.id_article=commentaires.id_article"; // Insertion du commentaire dans la base de données $req_insertion_texte_commentaire_article = "INSERT INTO commentaires(user_pseudo, nom_village, date_depot, texte_commentaire, id_article) VALUE ('$user_pseudo', '1', now(), '$texte_commentaire_article, '$query_recherche_bon_article')"; $query_insertion_texte_commentaire_article = mysql_query($req_insertion_texte_commentaire_article) or die ('Erreur sur la requête SQL concernant l\'insertion des commentaires sur des articles'.mysql_error()); // Envoie une requête à un serveur MySQL echo "Votre commentaire est posté. "; }
Erreur sur la requête SQL concernant l'insertion des commentaires sur des articlesYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT articles.id_article FROM articles, commentaires WHERE articles.id_article' at line 1
SELECT * FROM `articles` WHERE `id_article` =83 LIMIT 0 , 30alors qu'avant non donc ça ça montre qu'on a avancé !
$query_selection_article_correspondant = mysql_query("SELECT articles.id_article, commentaires.date_depot, commentaires.texte_commentaire,commentaires.user_pseudo FROM articles, commentaires WHERE articles.id_article=commentaires.id_article") or die ('Erreur sur la requête SQL concernant la sélection de l\'article correspondant'.mysql_error()); // Envoie une requête à un serveur MySQL $query_selection_article_id_correspondant = mysql_query("SELECT articles.id_article, articles.titre_article FROM articles, commentaires") or die ('Erreur sur la requête SQL concernant la sélection de l\'article correspondant'.mysql_error()); // Envoie une requête à un serveur MySQL while ($row mysql_fetch_assoc($query_selection_article_correspondant)&&$row2 mysql_fetch_assoc($query_selection_article_id_correspondant)) { echo $row["id_article"]; echo $row["user_pseudo"]; echo dateLongue($row["date_depot"]); echo $row["texte_commentaire"]; }
- je récupère tous mes articles (MySQL) - pour chaque article trouvé : - j'affiche le titre, la date et le contenu de l'article - je récupère tous les commentaires liés à cet article (MySQL) - pour chaque commentaire : - j'affiche l'auteur, la date et le contenu du commentaire - je génère un formulaire d'envoi d'un commentaire, avec l'attribut value du submit égal à l'id_article.