0

私はphpbbフォーラムを持っていて、登録ページにフィールドを追加したかった...変更は、ユーザーが自分の役割を選択できるようにすることでした..たとえば、モデレーターになる..または通常のメンバーになるか..私は実際にはフォーラムを少し非公開にしており、ユーザーをグループにグループ化して、一部のフォーラムへのアクセスを制限しています。とにかく、私はhtmlテンプレートファイルを持っていて、phpファイルコードからドロップダウンメニューリストを取得したい

これがphpの私のコードです

<?php
include '/blah/config.php';
$con = mysql_connect($dbhost, $dbuser, $dbpasswd);
if(!$con)
{
    die("Couldn't Connect: ".mysql.error());
}

mysql_select_db($dbname, $con);
$result = mysql_query("SELECT group_name FROM phpbb_groups");
$array = array();
while($row = mysql_fetch_array($result))
{
    $array[] = $row[0];
}

mysql_close($con); 

foreach( $array as $group_name)
{
    echo $group_name."</br>"; // I want to put this value in the dropdown list in the html file
}
?>

ここに編集したいHTMLコードの部分があります

<dt><label>GroupID:</label></dt>
  <dd><select name="group_id" id="group_id"" tabindex="7" class="autowidth">I want to get the data from php in here</select></dd>

PS: テンプレート ファイルは HTML ファイルであり、名前を php に変更することはできません。

4

1 に答える 1

0

わかりました、最後の答えについて申し訳ありません、そこにあなたのPSを読んでいませんでした...

これは jQuery ソリューションです。PHP ファイルからの出力として JSON を使用し、ドロップダウンに入力する非同期要求を使用します。

PHP コード

// The rest of your code, then output your $array this way
header("Content-type: application/json");
$array = array("banana", "apple", "eggroll");
echo json_encode($array);
die;

あなたのHTML(例)

jquery をまだ持っていない場合は、必ず HEAD に追加してください。

<dt><label>GroupID:</label></dt>
<dd><select name="group_id" id="group_id"" tabindex="7" class="autowidth"></select></dd>
<script>
    $(document).ready(function() {
       $.get('sefesf.php', {"q":"1"},  function(data) {
           if(data.length > 0)
           {
                for(var i = 0; i < data.length; i ++)
                {
                    $('select#group_id').append('<option>' + data[i] + '</option>');
                }
           }
       }); 
    });
</script>

GET パラメータを送信する必要がない場合は、sefesf.php を json 出力のある php ファイルに変更し、{"q":"1"} を {} に変更してください。

于 2012-12-21T15:55:45.267 に答える