1

私はPHPとMySQLの経験が豊富なので、コツをつかんでいますが、自分のレベルを超えている可能性のあるものを手に入れようとしています(これの難易度はよくわかりません)。基本的に、MySQL テーブル内のユーザーからアクセスを削除する 2 つのドロップダウン メニューを作成しようとしています。したがって、最初のドロップダウン メニューは私が持っているユーザーのリスト用で、2 番目のドロップダウン メニューは彼らが持っているアクセス用です。ユーザーを選択すると、2 番目のドロップダウン メニューには、ユーザーがアクセスできるオプションのみが表示されます。

    <form name="form" method="post" action="access.php">
    <select name='user'>
    <?php 
require "sqlconfig.php"; // My SQL Configuration
$conn=mysql_connect($host, $user, $pass); // The Connection
$selectdb=mysql_select_db("$db"); // The Database
    $userlist1 = mysql_query("SELECT `Username` FROM `accounts` ORDER BY Username ASC");
        while ($userlist = mysql_fetch_array($userlist1)) {
        print "<option value='username'>$userlist[Username]</option>";
        }
    ?>
    </select>
<select name='task'>
<option value="notask" <?php if($_GET['task'] == notask) { echo "selected"; } ?>>Select a Task</option>
<option value="admin" <?php if($_GET['task'] == admin) { echo "selected"; } ?>>Administrator</option>
<option value="user" <?php if($_GET['task'] == user) { echo "selected"; } ?>>user</option>
<option value="guest" <?php if($_GET['task'] == guest) { echo "selected"; } ?>>Guest</option>
</select>
<input type="submit" value="Remove" />
    </form>

私はすでにテーブルにアクセス許可を持っています。各値は、false の場合は整数 0、true の場合は 1 です。したがって、基本的に、ユーザーが最初のメニューから選択されたときに、2 番目のメニューを更新し、= から 1 の値のみを表示し (つまり、ユーザーが持っていることを意味します)、そしてもちろん、フォームが送信されたときに表示します。 、選択されたタスクを 1 から 0 に変更します。つまり、自分自身を削除します。

基本的に、ユーザー (例: Joe) が選択されると、2 番目のメニューが Joe のタスク (例: 管理者、ユーザー) で更新されます。タスクを選択して削除をクリックすると、スクリプトはユーザー名メニューを投稿し、送信前に選択されたタスクを取得し、スクリプトを実行して「管理者」などのユーザーフィールドを 1(true) から 0(false) に更新します。 )

誰かがコードでセットアップするのを手伝ってくれますか、または少なくとも自分でセットアップする方法を教えてくれますか?

4

2 に答える 2

1

div を作成して を指定しid="result"、その div に空の select タグを配置します。

次に、jQuery + Ajax を使用して、次を使用して 2 番目のドロップダウンを取得します。

$('select[name="user"]').change(function(){
   var user = $(this).val();

   $.ajax({
      type:'post',
      url:'getSecondDropDown.php',
      data:'user='+user,
      success:function(result){
         $('div#result').html(result);
      }
   });

});

「getSecondDropDown.php」ファイルに、次を含めます。

<select name="task">
<?php
$user = $_POST['user'];
$q = mysql_query("SELECT task FROM tablename WHERE user=".$user.") or die();
while($r = mysql_fetch_array($q))
{ ?>
  <option value="<?php echo $r['task]; ?>"><?php echo $r['task]; ?></option>

<?php
}
?>
</select>
于 2012-07-21T08:51:57.333 に答える
0

これを行うには、JavaScript を使用する必要があります。ユーザーの詳細を取得するサーバーのページに AJAX 要求を送信し、結果を JavaScript に返します。

JavaScript でデータを取得したら、DOM 操作を使用して 2 番目<select>に結果を入力します。

于 2012-07-21T08:25:40.387 に答える