有沒有更多的支持爲mysql_*
功能,它們是officially deprecated,不再保持,將在未來removed。您應該使用PDO或MySQLi來更新您的代碼,以確保您的項目未來的功能。
由於您使用mysql_*
,我希望你用你的$to
和$from
變量mysql_real_escape_string
如果從用戶輸入的到來。
我仍然不知道爲什麼要使用一個foreach
,但你想做的事,可以用while
來完成,這也是一個循環:
$data = mysql_query("SELECT * FROM employees where dt >= '$from' AND dt <= '$to' ORDER by empname ASC");
while($result = mysql_fetch_assoc($data))
{
$rows[] = $result;
}
print_r($rows);
下面是使用MySQLi的工作示例:
<?php
$from = $_POST['from'];
$to = $_POST['to'];
if (is_null($from) || is_null($to))
die('You must fill the from and to fields...');
$db = new mysqli('localhost', 'root', '', 'test_database');
if($db->connect_error)
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
if (!$stmt = $db->prepare("SELECT empname, ta, da, petrol FROM employees WHERE dt >= ? AND dt <= ?"))
die('Prepare Error: ' . $db->error);
if (!$stmt->bind_param('ss', $from, $to))
die('Bind Parameters Error ' . $stmt->error);
if (!$stmt->execute())
die('Select Query Error ' . $stmt->error);
$stmt->bind_result($empname, $ta, $da, $petrol);
$rows = array();
while($stmt->fetch())
{
$rows[$empname][] = array('ta' => $ta, 'da' => $da, 'petrol' => $petrol);
}
$stmt->close();
$db->close();
foreach ($rows as $empname=>$data)
{
echo $empname . ':<br /><br />';
foreach ($data as $result)
{
echo $result['ta'] . ' ' . $result['da'] . '<br />';
echo '-----------------<br />';
$petrol = $result['petrol'];
}
echo '==========================<br />';
}
輸出:
Jorge:<br /><br />
12 3<br />
-----------------
1 4<br />
-----------------
2 6<br />
-----------------
3 1<br />
-----------------
33 11<br />
-----------------
==========================<br />
John:<br /><br />
4 3<br />
-----------------
5 6<br />
-----------------
6 8<br />
-----------------
7 9<br />
-----------------
8 10<br />
-----------------
==========================<br />
順便說一句,你是搞亂'$ data'用'$ resul t' – vikingmaster
請使用mysqli或PDO,因爲'mysql_ *'已被正式棄用,不應再使用。另外,小的「我」不應該用於以下問題:-) –
請提供更多詳細信息,例如什麼是Record1,Record2,$ ta,$ da,$ petrol以及如何檢索Empname,Record1,Record2的值? – Debashis