【发布时间】:2019-08-21 05:49:15
【问题描述】:
我有一个系统,用户可以在其中提交一篇文章(基本上是任何长度的文本),当它被提交到数据库时,它被分解成段落并放入它自己的paragraphs 表中。第二个表是articles 表,其中包含article_id (primary key)、title (title of article) 和idUsers (id of user that submitted article)。
我能够成功地将数据提交到表格中,但是当我查询以尝试获取段落时,使用:
$q = "SELECT articles.article_id, articles.title, paragraphs.paragraph, articles.date, articles.idUsers FROM articles JOIN paragraphs ON articles.article_id = paragraphs.article_id WHERE idUsers = '$idUsers' AND articles.article_id = '$article_id'";
$r = mysqli_query($conn, $q);
返回多行,每行提供相同的信息(段落列除外,它具有唯一的段落文本。但标题和日期被返回两次)。这是我所期望的,但我不想把所有东西都退回两次。例如,如果文章中有两段,一段说"random text 1",另一段说"random text 2",它们都会被返回,这很好,但是article_id、article_title和articles.date,等,也将与唯一的段落文本一起在每一行中返回。这意味着当我回显所有这些值时,所有内容都会回显两次。当我将这些值放在<div></div> 中时,就像这样,
echo '<div class="get-article-container">';
echo '<div id="articleTitle">'.$row['title'].'</div>';
echo '<div id="articleContents">'.$row['paragraph'].'</div>';
echo '<input type="hidden" value="'.$row['article_id'].'" class="article_id_value">';
echo '</div>';
它创建两个divs 而不是一个,因为要返回多行。我想结合$row['paragraph'] 值将文章中的所有文本放在一个 div 中,但它应该在一个 div 中,而不是两个。有什么建议吗?
【问题讨论】:
-
你有所有这些
echo行在一个循环中? -
你能发布现有的和预期的输出吗?
标签: javascript php jquery sql ajax