我有这个问题:
SELECT carID FROM reservations WHERE startDate < '".$sqlretdate."' AND endDate > '".$sqlcoldate."' OR startDate = '".$sqlcoldate."' OR endDate = '".$sqlretdate."'"
使用循环:
while($presentid = mysql_fetch_array($checkreservations)) {
这将返回一个数据数组,例如:
echo "<---space-->";
print_r($presentid['carID']);
会显示:
<---space-->11<---space-->10<---space-->2<---space-->8<---space-->9<---space-->7
这是一个id列表,我需要对每个ID做一些事情。
我可以爆炸它:
print_r(explode(" ", $presentid['carID']));
这会使它像这样打印:
Array ( [0] => 11 ) Array ( [0] => 10 ) Array ( [0] => 2 ) Array ( [0] => 8 ) Array ( [0] => 9 ) Array ( [0] => 7 )
如何完全拆分每个id并将其存储到变量中,以便我可以使用它们来做其他事情?
在这种情况下,每个ID对于汽车都是唯一的,并且具有与之关联的型号名称,因此我想使用该ID来找出与其相关的型号名称,计算该型号中的型号名称。数据库,然后检查有多少返回的ID与该模型相关,因此剩下多少。我希望这是有道理的。
答案 0 :(得分:0)
除非要保留很多变量,否则不能将其存储到基本变量中,除非要保留很多变量,最好通过循环,将值存储到数组中,然后一旦进入数组就可以走到数组中while循环结束了,除非你马上就可以对它们做些什么。
“我如何完全拆分每个id并将其存储到变量中”
while($presentid = mysql_fetch_array($checkreservations))
{
$carId = $presentid['carID'];
$array[] = array('id' => $carId );
}
因此,一旦结束,你就可以解析数组。
答案 1 :(得分:0)
在while
循环中,$presentid
表示结果集中的每一行。 $presentid['carID']
不是数组!这是一个carID
值。你不需要在这里使用explode
。
while($presentid = mysql_fetch_array($checkreservations)) {
// This *is* each car ID! Do with it what you want.
$carID = $presentid['carID'];
}
答案 2 :(得分:0)
$ids = array();
$count = 0;
while($presentid = mysql_fetch_array($checkreservations)) {
$ids['car_' . $count++] = $presentid['carID'];
}
extract($ids);
这将为您提供自变量:
$car_0 = 11;
$car_1 = 12;
$car_2 = 2;
...等