-1

私はこのクエリを持っています:

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 のリストです。それぞれに対して何かを行う必要があります。

私はそれを爆発させることができます:

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 がいくつあるか、つまり残っている ID がいくつあるかを確認します。それが理にかなっていることを願っています。

4

3 に答える 3

0

非常に多くの変数を予約しない限り、上書きせずに基本変数に格納することはできません。ループを通過し、値を配列に格納してから、while ループが終了したら配列をたどることができます。すぐに何かをすることができない限り。

「各 ID を完全に分割して変数に格納するにはどうすればよいですか」

while($presentid = mysql_fetch_array($checkreservations))
{
    $carId = $presentid['carID'];
    $array[] = array('id' => $carId );
}

したがって、一度配列を解析できます。

于 2013-03-12T13:59:13.293 に答える
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'];
}
于 2013-03-12T14:04:47.963 に答える
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;

..等

于 2013-03-12T14:05:27.513 に答える