我可以毫无问题地从单个表中检索图像,但我不确定如果我在不同的表中有图像,它会如何工作。假设我有两个可以包含图像的表(图像和类别)
images category
-gallery_id -cat_id
-image_id -image
-image
所以我想我可以在查询字符串中传递另一个参数来指定哪个表
if(mysql_escape_string(@$_GET['type']) === 'icon')
$PHPTHUMB_CONFIG['mysql_query'] = 'SELECT `image` FROM `category` WHERE (`cat_id` = \''.mysql_escape_string(@$_GET['id']).'\')';
else
$PHPTHUMB_CONFIG['mysql_query'] = 'SELECT `image` FROM `images` WHERE (`image_id` = \''.mysql_escape_string(@$_GET['id']).'\')';
这个工作正常
foreach($database->images->gallery_id($gal_id) as $v)
{
$img = "<img src=\"/test/include/phpThumb_1.7.9/phpThumb.php?w=150&id={$v->image_id}\" />";
echo "<li>{$img}</li>";
}
这因“禁止参数:类型”而失败
echo "<img src=\"/test/include/phpThumb_1.7.9/phpThumb.php?w=150&type=icon&id={$database->category($v->cat_id)->cat_id}\" />";
我正在搜索代码,但没有看到任何设置“允许”参数的地方。
所以我的问题是:这是从多个表中获取图像的好方法吗?如果是,我怎样才能允许“类型”参数?我想我可以将所有图像放在一张桌子上,但这对我来说似乎不是一个好主意......
ps 我在 phpthumb 支持论坛上发布了这个,但没有得到任何回应,所以我在这里尝试。从那以后就没有太多时间研究它了,希望这个周末我能抽出更多时间。
如果有人想知道,我将crdb用于 $database 对象。