【发布时间】:2014-12-30 01:44:30
【问题描述】:
我有 2 个 SQLite- 表,一个包含文章,一个包含图像 URL。 我想做的是做一个 foreach() 来按顺序显示文章,并在文章旁边显示一组随机图像。
应通过检查文章和图像类别(表中的列)之间的相似性来选择图像,然后随机化。 (例如,文章类别可以是“motorboats”和 img 类别“boat”)。
如何显示两个不同数组的结果? 文章代码为:
$stmt = $db->prepare('SELECT * FROM Article WHERE category = "article" ORDER BY pubdate DESC;');
$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<div id="artikelLista">
<?php foreach($res as $article): ?>
<div class="artikelContent">
<?php echo $article['title']; ?><br>
<?php echo $article['content'];?>
<div class="floatRight clear"><?php echo "Artikel skriven " . $article['author'] . " " . $article['pubdate']; ?></div>
</div>
<?php endforeach; ?>
为了添加第二个数组,我尝试了这个,但没有成功,它只显示了第一个数组的结果多次:
$stmt = $db->prepare('SELECT * FROM Article WHERE category = "article" ORDER BY pubdate DESC;');
$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt2 = $db->prepare('SELECT * FROM Object;');
$stmt2->execute();
$res2 = $stmt2->fetchAll(PDO::FETCH_ASSOC);
?>
<div id="artikelLista">
<?php foreach($res as $article): ?>
<?php foreach($res2 as $object): ?>
<div class="artikelContent">
<?php echo $article['title']; ?><br>
<?php echo $article['content'];?><br>
<?php echo $object['img'];?> <!-- For testing. The images should be filtered and a a few random images would be shown here -->
<div class="floatRight clear"><?php echo "Artikel skriven " . $article['author'] . " " . $article['pubdate']; ?></div>
</div>
<?php endforeach; ?>
<?php endforeach; ?>
我猜不可能像这样使用嵌套的 foreach()。 我将如何管理这个?
另外,如果有人知道如何匹配上述数组之间的相似性,我将非常感激。如果没有,我稍后再处理。
【问题讨论】: