0

私がやろうとしているのは、配列の要素を抽出し、配列要素を条件としてSQLクエリを実行することです。私が直面している問題は、クエリが何も返さないことです。コードを以下に示します

//extracting the array elements
      foreach ($t as $value) {
      extract($value);

     }
 $sql = "SELECT * FROM daily_log where employee_log_id='$employee_log_id' AND log_date='$value'</br>";
            $result = mysql_query($sql);
            $row = mysql_fetch_array($result);
        echo $row['in_time'];
        echo $row['out_time'];

echo $row['in_time'] と echo $row['out_time']; 何も表示されません。

問題が何であるかを理解するのを手伝ってくれる人はいますか? 事前に感謝します.

4

1 に答える 1

0

問題は、SQL クエリ コードがforeachループの外にあることです。変数はその$valueスコープに存在しません。
これを試して:

foreach ($t as $value) {
    extract($value);
    $sql = "SELECT * FROM daily_log where employee_log_id='$employee_log_id' AND log_date='$value'</br>";
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result);
    echo $row['in_time'];
    echo $row['out_time'];
}

編集:
しかし、あなたが何をしようとしているのか理解できません。extract()関数またはforeachループのいずれかが必要だと思います。また、</br>SQL クエリ文字列に html タグがあるのはなぜですか?
このようなものが欲しいですか?

foreach ($t as $key -> $value) {
    $sql = "SELECT * FROM daily_log where employee_log_id='$key' AND log_date='$value'";
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result);
    echo $row['in_time'];
    echo $row['out_time'];
}
于 2013-10-29T05:17:02.820 に答える