1

問題は、いくつかのコンテンツを含むテーブルがあることです。テーブル名はdepartments. idshort_name、 の3 つの列がありlong_nameます。

現在、すべての部門を配列で返すクラスを作成していますが、それを実行できません。以前array_push()は配列を作成していましたが、十分なヒントが得られません。他にアイデアはありますか??

コード:

$con= $this->con;
$db_name= $this->db_name;
$sql="SELECT * FROM $db_name.departments";
$result= mysql_query($sql, $con); 
$data=array(); 
while($happen= mysql_fetch_object($result)) { 
   array_push($data,array([$happen->id],[$happen->short_name],[$happen->long_name])‌​); 
}
return $data; 
4

3 に答える 3

0

これを試して:

$con= $this->con; 
$db_name= $this->db_name; 

$sql="SELECT * FROM {$db_name}.departments"; 

$result= mysql_query($sql, $con); 

$data=array(); 

while ($happen= mysql_fetch_object($result)) 
{ 
    $data[$happen->id]['id']         = $happen->id;
    $data[$happen->id]['short_name'] = $happen->short_name;
    $data[$happen->id]['long_name']  = $happen->long_name;
}

return $data;

上記は、一意のIDに基づいて(それをキーとして使用して)配列にデータを追加します。

編集-追加のデータが提供された後、応答を再構築しました。

于 2012-10-25T17:39:58.523 に答える
0

mysql_fetch_object()使用するだけでなくmysql_fetch_assoc()

また、可能であればmysql_ *の使用を避け、すぐにPDOの使用に切り替えるようにします。

于 2012-10-25T17:40:31.427 に答える
0

mysqli_fetch_assoc() を使用するだけです。

http://www.php.net/manual/en/mysqli-result.fetch-assoc.php

結果セットを、説明しているような配列に直接ダンプします。また、mysql_query は推奨されていないため、使用しないでください。mysqli または pdo 関数を調べる必要があります。

于 2012-10-25T17:43:50.283 に答える