2

mysql からデータを取得し、それを配列に入れ、オートコンプリート フィールドにフィードする方法を知っていますか?

値をハードコーディングしようとしましたが、考えているのは、新しいレコードを追加するときに、配列を再コーディングする必要があるということです。私はPHPの初心者なので、ご容赦ください。

私がこれまでに試したことを親切に確認してください:

protected function jsGenerateResourcesAutocomplete(){


    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = '';

    $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
        die('Could not connect: ' . mysql_error());
    }

    $sql = "SELECT employee_name FROM employee" ;

    mysql_select_db('test', $conn);
    $retval = mysql_query($sql);

    $row = mysql_fetch_assoc($retval); 


    if(!$retval )
    {
        die('Could not select data: ' . mysql_error());
    } 

    $employeeNames = $this->employeeNames;
    $html = "";     $html .= 'var employeenames = [' . PHP_EOL;
    foreach ($employeeNames as $employeeName) {
        $html .= '"' . $employeeName-> $array . '",' . PHP_EOL;
    }
    $html .= '];';
    $html .= '$(".resource-input input").autocomplete({source: employeenames});' .PHP_EOL;
    $html .= '});' . PHP_EOL; 
    $html .= '</script>' . PHP_EOL;
    return $html;
} 

私はこの行で何かを信じています:

$html .= '"' . $employeeName-> $array . '",' . PHP_EOL;

配列を作成する必要がありますが、その方法がわかりません。どんな助けでも本当に感謝しています。ありがとう。

4

1 に答える 1

1

この方法を試してください:

$sql = "SELECT employee_name FROM employee" ;

mysql_select_db('test', $conn);
$retval = mysql_query($sql);

if(!$retval )
{
    die('Could not select data: ' . mysql_error());
} 
$data = array();

while($row = mysql_fetch_array($retval)){
  $data[] = $row['employee_name'];
}

$html = "<script>";
$html .= 'var employeenames = '.json_encode($data);
$html .= '$(".resource-input input").autocomplete({source: employeenames});';
$html .= '});'; 
$html .= '</script>';
return $html;
于 2012-12-18T08:52:16.373 に答える