私は PHP の初心者で、MVC の基本を試しているところです。すべて順調に進んでいますが、MySQL からデータを取得して HTML テーブルにデータを入力する際に問題が発生します。
問題は、コードがテーブルの 1 つの行を返すだけであることです (そのテーブルには 3 つの行があります)。私は多くのことを試しましたが、現在、データを格納し、コントローラーに渡してからビューに渡すために配列を使用しています。
データと名前を取得する関数を持つクエリ クラス ファイル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();
}
このクエリのコントローラが name であるコントローラ クラス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 />";
}
このコードの出力にはエラーはありませんが、問題はテーブルの行が 3 つあるのに 1 行だけをフェッチしていることです。
誰でもこれで私を助けることができますか?