試圖從MySQL數據庫中構建一個簡單的數據網格。php克隆不能如何工作
我用來連接的數據庫類將結果集作爲對象返回。我想克隆這個對象,這樣我就可以使用getNext()方法獲取表的標題,而無需向前移動指針以放下返回的第一行。我期望這很簡單,因爲克隆結果集使我現在有兩個相同的對象。然後在一個對象中返回標題,而另一個對象不變。
然而,我認爲這已經證明是困難的。也許我沒有正確使用克隆,所以如果你能幫助,請告訴我我做錯了什麼。
下面是代碼:
function gethtmlTable($database, $table)
{
$db = new DB_Connection();
$sql = "SELECT * FROM $table;";
$result = $db->query($sql,$database);
$tabelheader = clone $result;
$tablerows = clone $result;
if (!$result) die($db->getError());
if ($result->getNumRows() == 0) die('No Results');
$count = $tabelheader->getNumRows();
$html = "<table><th>Select</th>";
// echo "<pre>".var_dump($result)."</pre>";
foreach($tabelheader->getNext() as $k => $v){
$html .="<th>".$k."</th>";
}
while($count > 0){
$row = $tablerows->getNext();
$html .= "<tr>";
$html .= "<td><input type='checkbox' id='checkbox".$count."' name=checkbox".$count." class ='styled' value='checked'></td>";
foreach($row as $k => $v){
$html .="<td>".$v."</td>";
}
//foreach($result->getNext() as $k => $v){
// $html .="<td>".$v."</td>";
//}
$html .="</tr>";
$count--;
}
$html .="</table>";
echo $html;
}
當我運行這個功能,我回去用頭一張桌子和一個選擇框,但第一排總是缺。 :(
這個工作的解決方案,謝謝你的建議。我甚至沒有考慮過使用一種做法 - 而不是用克隆複雜化:) – TheSnooker