【发布时间】:2012-08-16 03:36:54
【问题描述】:
我是 PHP 的新手,我只是在尝试 MVC 的基础知识。一切都很顺利,但我在从 MySQL 获取数据并用它填充 HTML 表时遇到了问题。
问题是我的代码只返回表的一行(该表中有三行)。 我已经尝试了很多东西,现在我正在使用数组来存储数据并传递给控制器,然后传递给视图。
查询类文件具有获取数据和名称queryDB的功能:
public function getdata(){
$connectObj=new dbConnection();
//its a connection class where mysql connection has been made
if(!$connectObj->connectDB()){
echo "Error in mysql: ".mysql_error();
return false;
}
else{
$query = "select * from tbl_cartypes";
$result = mysql_query($query) or die("Error: ".mysql_error());
$data = array();
while($row = mysql_fetch_assoc($result)){
$data[0] = $row['car_id'];
$data[1] = $row['car_name'];
$data[2] = $row['car_model'];
$data[3] = $row['car_type'];
$data[4] = $row['car_price'];
}
return $data;
}
$connectObj->closeDB();
}
此查询的控制器名称为carController.php的控制器类:
public function getAllData(){
$runQuery = new queryDB();
$array = array();
$array = $runQuery->getTickets($userid);
return $array;
}
我只是在回显我的数据的最终视图:
include "$path/controllers/carController.php";
$ticket = new carController();
$array = array();
$array = $ticket->getdata();
for($i=0;$i<count($array);$i++){
echo $array[$i]."<br />";
}
这段代码的输出没有错误,但问题是它只是获取表的一行,而实际上是三行。
那么有人可以帮我解决这个问题吗?
【问题讨论】:
-
请不要使用
mysql_*函数编写新代码。它们不再维护,社区已经开始deprecation process。看到red box?相反,您应该了解prepared statements 并使用PDO 或MySQLi。如果你不能决定哪一个,this article 会帮助你。如果你选择 PDO,here is good tutorial. -
哦,好吧..我会努力学习的..谢谢