名字几乎解释了所有 -
我有一个数组,我想为数组中的每个项目运行一个查询
两个变量来自此卷,卷和页码 - 卷包含在数组中,我需要为每个卷提取相应的页码
继承我的代码:
$volsArr = array(1, 2, 3, 4);
foreach ($volsArr as $volume) {
$pages = mysql_query("SELECT page FROM $table WHERE vol = '$volume' LIMIT 1");
if (!$pages) { die("Query to show fields from table failed"); }
while($row = mysql_fetch_array($pages)) {
$page = $row['page'];
}
echo 'volume is '.$volume.'';
echo 'page is '.$page.'';
}
我无法弄清楚我遇到的问题是什么,我得到的输出是这样的:
成交量为1 页面是40
(这对第1卷来说是正确的)
成交量为2 页面是40
(页面应为8)
成交量为3 页面是40
(页面应该再次不同)
等...
我在关闭循环之前尝试unset($page)
,但似乎没有做任何事情,请帮助!
我还尝试移动回声,使它们在while($row...)
循环中,但这只会为我提供数组中第一项的输出....
答案 0 :(得分:1)
根据您的更新,原因是:行不存在where vol in ('2','3','4')
$page
永远不会被更新,因为没有要获取的行。