0

我有 3 个下拉菜单,我想显示用户在选择函数或脚本后将选择的任何内容,但它必须在脚本中

<?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>';

}
?>

当点击我时会调用 write_in_div 的东西!按下按钮或任何其他可用于显示用户选择的 3 个选项的方法

输出应该类似于 You select 1) Name 2)Surname and Email

4

2 回答 2

0

您的 html 选择中有一个错误,每个选择都具有相同的名称“id”,它们每个都需要是唯一的,以便您可以检测到。

您需要检测用户是否提交了表单

if(isset($_POST["select_name"])) {
     echo $_POST["select_name"];
}
于 2013-05-18T12:25:24.600 回答
0

你的表格有一个很大的错误。在表单中,每个选择和输入必须有一个唯一的名称。您需要此名称来检索您的 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 method="post" action="test.php">';

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

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

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

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

echo '</form>';
}

提交表单后,test.php 将包含已发布的数据:$_REQUEST['names']、$_REQUEST['surnames'] 和 $_REQUEST['emails']。

您只需要检查这些变量的内容并在不为空时打印它们。

注意1: ?> 在文件末尾是无用的。

注意2:写html文件时要注意'和"。html属性的值是用"写的,而不是'。

于 2013-05-18T12:32:38.487 回答