【发布时间】:2013-01-02 21:56:33
【问题描述】:
我正在尝试用数据库调用替换来自基本 CMS 的简单命令。
用户输入
[gallery id=x]
进入 CMS,我希望它消失,找到包含在该图库中的图像,并显示它们(为 jQuery Cycle 插件做好准备)
我可以得到:
$pattern = '/\[gallery id=(\w+)\]/i';
$rpl = 'Display Gallery ID ${1}';
$bubble = preg_replace($pattern, $rpl, $bubble);
...返回“Display Gallery 12”(例如)。但是我需要它来做到这一点:
$sql = "SELECT * FROM galleries INNER JOIN photos ON photos.PhotoGallery=galleries.GalleryID WHERE GalleryID='x'";
$set = mysql_query($sql);
echo '<div id="gallery">';
while($row = mysql_fetch_array($set))
{
echo '<img src="'.$row['PhotoPath'].'" />';
}
echo '</div>';
【问题讨论】:
-
mysql_*函数将是 deprecated in PHP 5.5。不建议编写新代码,因为它会在未来被删除。相反,MySQLi 或 PDO 和 be a better PHP Developer。 -
话虽如此,详细说明类似的东西。
-
你只是在问如何匹配并返回值而不是替换它?见preg_match。
-
我不知道他要什么。底部的查询与顶部的替换有何关系?是关于如何获取 x 的值以替换为 SQL 的问题吗?
-
@JasonMcCreary - 改为“需要这样做”。 [gallery id=XXX]命令中的ID号需要携带到SQL语句中(SELECT WHERE id=XXX)
标签: php mysql preg-replace