0

ユーザーがデータベースからデータを取得する場所をドロップダウンから選択できるようにする小さなスクリプトを作成しました。私の問題は、情報取得にユーザーが選択するオプションがないことです。ドロップダウンに選択するオプションを表示したいドロップダウンに、You selected 1) Name and 2) Surnameのようなものが表示されます。たとえば、2 つの行も取得したいと考えています。名前と姓..... 表示するにはどうすればよいですか? 彼/彼女が選択した後

これまでのマイコード

      ////Selectiong from twoo tables
$query = mysql_query("SELECT * FROM selections ORDER BY id ASC") or die(mysql_error());
$result = mysql_num_rows($query);

// If no results have been found or when table is empty
if ($result == 0) {

    echo 'No results have been found.';

} else {

    // Display form
    echo '<form name="form" method="post" action="test.php">';
    echo '<select name="id" id="id">';

    // Fetch results from database and list in the select box
    while ($fetch = mysql_fetch_assoc($query)) {

        echo '<option id="'.$fetch['name'].'">'.$fetch['surname'].'</option>';
    }

    echo '</select>';
    echo '</form>';

}
4

1 に答える 1

0

ユーザーが選択したものを取得するには、クライアント側のスクリプトを使用する必要があります。

jQueryを使用できます:

<html>
    <head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">
           $(document).ready(function(){
              $('#write_in_div').click(function(){
                 var name    = $('#names').val();
                 var surname = $('#surnames').val();
                 var email   = $('#emails').val();
                 $('#write_in_div').text("Name: "+name+" -  Surname: "+surname+" - Email: "+email);
              });
           });
        </script>
    </head>
    <body>
        <?php require 'content.php';?>
    </body>
</html>

content.php:

<?php
    $resource_names = mysql_query("SELECT DISTINCT NAME FROM selections ORDER BY id ASC");
    $names = array();
    while($row = mysql_fetch_row($resource_names)){
        $names[] = $row[0]    
    } 
    $resource_surnames = mysql_query("SELECT DISTINCT SURNAME FROM selections ORDER BY id ASC"); 
    $surnames = array();
    while($row = mysql_fetch_row($resource_surnames)){
        $surnames[] = $row[0];
    } 
    $resource_emails   = mysql_query("SELECT DISTINCT EMAIL FROM selections ORDER BY id ASC");    
    $emails = array();
    while($row = mysql_fetch_row($resource_emails)){
        $emails[] = $row[0];
    }
    if(count($emails) <= 0 || count($surnames) <= 0 || count($emails) <= 0){
        echo 'No results have been found.';
    } else {

        // Display form
        echo '<form name="form" method="post" action="test.php">';

        //Names dropdown:
        echo '<select name="id" id="names">';
        foreach($names as $name) echo "<option id='$name'>$name</option>";
        echo '</select>';

        //Surnames dropdown
        echo '<select name="id" id="surnames">';
        foreach($surnames as $surname) echo "<option id='$surname'>$surname</option>";
        echo '</select>';

        //Emails dropdown
        echo '<select name="id" id="emails">';
        foreach($emails as $email) echo "<option id='$email'>$email</option>";
        echo '</select>';

        echo "<button id='write_in_div'>Click me!</button>";

        echo '</form>';

    }
    ?>
于 2013-05-17T20:33:10.340 に答える