作成したデータベースのデータを入力するMagentoモジュールを使用してドロップダウンオプションを作成したいと思います。
以前は、このコードがMyIndexController.phpにあります。これは機能しています。これが最初のコードです。
public function dropdownAction() {
if (file_exists('./app/etc/local.xml')) {
$xml = simplexml_load_file('./app/etc/local.xml');
$tblprefix = $xml->global->resources->db->table_prefix;
$dbhost = $xml->global->resources->default_setup->connection->host;
$dbuser = $xml->global->resources->default_setup->connection->username;
$dbpass = $xml->global->resources->default_setup->connection->password;
$dbname = $xml->global->resources->default_setup->connection->dbname;
}
else {
exit('Failed to open ./app/etc/local.xml');
}
$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname) or die("Unable to select database");
$tblname = $tblprefix.'my_db_table';
$result = mysql_query("SELECT dropdowndata FROM ".$tblname."");
echo '<select>';
while ($ary = mysql_fetch_array($result)){
echo "<option>" . $ary['dropdowndata '] . "</option>";
}
echo "</select>";
mysql_close($link);
}
しかし、上記のコードはMagentoの方法ではないと思います。同意しますか?
ここで、IndexController.phpのこのコードをデータに入力します。これは2番目のコードです。
public function dropdownAction() {
$options= Mage::getModel('my/model')->getCollection();
foreach($options as $option){
$optionData = $option->getDropdowndata ();
echo "<select>";
echo "<option>" .$optionData."</option>";
echo "</select>";
}
}
上記のコードを使用して、データが入力されましたが、1つのドロップダウンオプションで1つのデータが入力されました。そのため、ブラウザには非常に多くのドロップダウンオプションが表示され、各ドロップダウンオプションには1つのデータのみが含まれます。
私は私が行方不明だと思いますwhile ($ary = mysql_fetch_array($result))
。しかし、私はそのコードを含める方法を混乱させますか?
だから、私の質問は、Magentoでmysql_fetch_arrayを実行する方法ですか?または、上記の2番目のコードを最初のコードのように機能させる方法を誰かに説明してもらえますか。