私はいくつかの mysql テーブル (コンテナごとに 1 つ) を持っています (たとえば、テーブルは containerA と呼ばれます):
Box_ID Box_Name Box_Distributor コンテナ Box_state ======---========---===============---==========-- --========= 1 Box 1 Delivery Comp.1 ContainerA フル 2 Box 2 Delivery Comp.2 ContainerA 空 3 ボックス 3 NULL コンテナ A 欠落
コンテナーのリストを含む別の mysql テーブルがあります。
container_id コンテナ名 ============---============== 1A 2B
コンテナの名前と空き箱の数をウェブページに報告したい。
私はそれを行うためにこれを書きました:
$v1 = 0;
$sql = "select * from containers";
$result = mysql_query ($sql) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
$containers[] = $row[container_name];
$containerid[] = $row[container_id];
}
while ($v1 < 14)
{
$containerend = $containers[$v1];
$containerstart = "container";
$containername = $containerstart.$containerend;
$sql = "SELECT COUNT(*) FROM `$containername` WHERE state = 'Empty';";
$result = mysql_query($sql) or die(mysql_error());
$count = mysql_fetch_array($result);
var_dump($containers[$v1]);
var_dump($count[$v1]);
$v2 = $v1 + 1;
$v1 = $v2;
}
これはコンテナ名のリストで機能しますが、空のボックスの最初の結果しか得られず、残りの配列は NULL として返されます。
文字列(1) "4" NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
私はここで愚かなことをしていますか?while ループ内の SQL クエリは、各コンテナーのカウントを返す必要がありますか?
どんな助けでも大歓迎です。