【发布时间】:2018-08-14 08:15:45
【问题描述】:
我正在使用一个从数据库中获取信息并在表格中显示该信息的类,以及一个编辑和删除按钮。当我单击编辑或删除按钮时,我想将$_GET['id'] 添加到链接中,但我对如何完成此操作感到困惑。
public function select($tName,$from,$where=1){
$key=[];
$con=$this->con;
$sql="SELECT $tName FROM $from WHERE $where";
$data = $con->query($sql);
$fullRec=[];
foreach($data as $k=>$rows){
$fullRec[]=$rows;
}
foreach($rows as $k=>$v){
$key[] = $k;
}
//create table
echo "<table border='1'>";
//create one row with col name selected!!
echo "<tr>";
for($z=0;$z<count($key);$z+=2){
echo "<td>".$key[$z]."</td>";
}
echo "<td>actions</td>";
echo "</tr>";
//create one row for each record comes!!
for($i=0;$i<count($fullRec);$i++){
echo "<tr>";
//create one table data for each record comes!!
for($j=0;$j<count($fullRec[$i])/2;$j++){
echo "<td>".$fullRec[$i][$j]."</td>";
}
echo "<td><a href=\"\">Edit</a><a href=\"?del=".$rows['id']."\">Delete</a></td>";
echo "</tr>";
}
echo "</table>";
}
【问题讨论】:
-
从 OOP 编程风格来看,这段代码并不是特别好,您将数据库访问和表示层混合到一个类的一个方法中。
-
数据库访问在其他方法中,但我想在选择方法中捕获信息并显示在表格中,我希望在每一行中删除和编辑
-
@MahdiPartovi 你应该阅读MVC。您应该有一个控制器,它可以准确地告诉浏览器您要加载什么并与模型交互。模型是所有数据库访问的地方,但不是任何类型的 HTML 生成,用户也看不到任何东西。模型将从数据库中提取信息,然后控制器将与这些数据交互以显示视图。视图是用户看到的实际页面。基本上,任何与数据库相关的东西都应该是模型的一部分,而不是别的。