当前位置: 首页 > 知识库问答 >
问题:

显示数据从一个下拉列表php

岳时铭
2023-03-14

我正在努力在项目的下拉列表中显示所选选项的详细信息。

我有一个从MYSQLi查询填充的下拉列表。我希望用户选择一个选项以及从数据库中提取并显示给用户的相关值。

动态填充的下拉列表用于人员的“FirstName”(表名),当用户从下拉列表中选择名称时,我希望显示该人员的记录。

下面的代码用于动态填充下拉列表。用户单击按钮并进入下一页,该页将创建一个包含结果的表。没有错误,但也没有要求的结果。

下拉代码

<!DOCTYPE>
<html>
<head>

<title>Update Data</title>
</head>

<body>

<form name="form_update" method="post" action="update_test.php">

<?php
$con=mysqli_connect("localhost","root","","ismat_db");
//============== check connection
if(mysqli_errno($con))
{
echo "Can't Connect to mySQL:".mysqli_connect_error();
}



//This creates the drop down box

echo "<select name= 'FirstName'>";
echo '<option value="">'.'--- Please Select Person ---'.'</option>';
$query = mysqli_query($con,"SELECT FirstName FROM persons");
$query_display = mysqli_query($con,"SELECT * FROM persons");

while($row=mysqli_fetch_array($query))
{
echo "<option value='". $row['id']."'>".$row['FirstName']
 .'</option>';

}

echo '</select>';

?>&nbsp;<input type="submit" name="submit" value="Submit"/>
</form><br/><br/>
<a href="main.html"> Go back to Main Page </a>
</body>
</html>

查看代码

<title>Update Data</title>
</head>

<body>
<!--<table>
<tr>
<td align="center"> From Database </td>
</tr>
<tr>
<td>
    <table border="1">
        <tr>
            <td>First Name</td>
            <td>Last Name </td>
            <td> Gender </td>
            <td> Subject </td>
            <td> Hobbies </td>
        </tr>
     -->
  <?php 
$con=mysqli_connect("localhost","root","","ismat_db");
if(mysqli_errno($con))
{
echo "Can't Connect to mySQL:".mysqli_connect_error();
}


//$name = mysqli_real_escape_string($con,$_POST['select']);
 // $fetch = mysqli_query($con,"SELECT * FROM persons WHERE FirstName='".$name."'");
//  $row_display=mysqli_fetch_assoc($fetch);

if(isset($_POST['select']))
{

$name = mysqli_real_escape_string($con,$_POST['select']);
  $fetch = "SELECT * FROM persons WHERE FirstName = '".$name."'";
 $result = mysqli_query($con,$fetch);

 //display the table
 echo '<table border="1">'.'<tr>'.'<td align="center">'. 'From Database'. '</td>'.'</tr>';
echo '<tr>'.'<td>'.'<table border="1">'.'<tr>'.'<td>'.'First Name'.'</td>'
.'<td>'.'Last           Name'.'</td>'.'<td>'. 'Gender' .'</td>'.'<td>'
. 'Subject'. '</td>'.'<td>'. 'Hobbies' .'</td>'.'</tr>';
while($data = mysqli_fetch_row($result))
{
echo ("<tr><td>$data[0]</td><td>$data[1]</td><td>$data[2]</td><td>$data[3]</td><td>$data[4] </td></tr>");
 }

  echo '</table>'.'</td>'.'</tr>'.'</table>';
    }

   ?>
   <!--
   </table>
   </td>
   </tr>
   </table>
   -->
   <br/>
   <a href="update.php"> Go back to Main Page </a>
   </body>
   </html>

共有3个答案

金晨
2023-03-14

在同一页面显示特定用户的数据

您的下拉框看起来像

<select id="c-name" name="name" onChange="reload()">
    <option value="">Select Name</option>
</select>

在Javascript write reload()函数中

function reload()   {
    var val=document.getElementById("c-name").value;
    self.location="yourfilename.php?fname=" + val ;
    //alert(val);
}

在另一页上获取fname变量

在PHP中

if(isset($_REQUEST['fname'])) {

  //your code

}
皇甫福
2023-03-14

没有什么建议

>

  • 在查询中添加您设置为选项值的id

    echo”

    因此,请按如下方式更新它:
    $query=mysqli_query($con,“从persons中选择id,FirstName”)

    您正在检查错误的POST var'select',它应该是'FirstName',这是您在下面使用的选择字段的名称:

    echo”

    所以代替下面的代码:

    if(isset($\u POST['select']){$name=mysqli\u real\u escape\u string($con,$\u POST['select']);$fetch=“select*FROM persons WHERE FirstName=”“$name.”“;$result=mysqli\u query($con,$fetch);

    还要注意,在where子句中,您应该检查id而不是名字

    请改用此更正的代码:

    if(isset($_POST['FirstName'])) { $name=$_POST['FirstName'];$getch="SELECT*从人的ID = '".$名."'"; $结果=mysqli_query($con,$getch);

  • 印宏阔
    2023-03-14

    您在视图代码中使用了错误的字段名:

    echo "<select name= 'FirstName'>";
                         ^^^^^^^^^
    

    v、 美国。

    $name = mysqli_real_escape_string($con,$_POST['select']);
                                                   ^^^^^^
    

    表单提交时带有fieldname=value对,而不是输入来自的标记的名称。

     类似资料:
    • 我正在对php页面进行调整,希望最终用户能够从下拉列表中选择“姓名和电子邮件”。数据将来自mySQL数据库。 我已经设法让它部分工作,但是必须有东西做一个"验证",因为当页面上的所有数据都被选中,最终用户试图提交页面时,最终用户会收到电子邮件地址是无效,而事实上它是100%有效的。 与此相关,我更改的部分是,最终用户过去必须手动键入他们的电子邮件地址,现在他们可以从下拉列表中选择,但现在它告诉我们

    • 问题内容: 我需要使用JavaScript根据下拉菜单A中的选择更改下拉菜单B的内容。没有涉及到数据库查询- 我事先知道应该在A中选择B的内容。我已经找到了一些使用AJAX的示例,但是由于没有涉及到数据库查询,所以没有必要。谁能为我指出一些示例代码以实现此目的? 问题答案: function configureDropDownLists(ddl1, ddl2) {

    • 我在Wordpress中有一个文章网格,下面是按类别排序的默认方法: 有办法把这个变成下拉列表吗?我为类似的情况找到了不同的解决方案,但它们都有作为无序列表的好处(ul li)。我的只是一堆链接。

    • 问题内容: 我在显示从数据库到下拉列表的数据时遇到了困难。 这是我尝试过的: 模型.php Controller.php View.php 但是结果显示在我的页面顶部。它没有出现在下拉列表中。我在这里做错了什么?非常感谢您的帮助。谢谢。 问题答案: 您不应该从视图中调用模型。而是在加载视图之前尝试调用模型和设置。 也不要在模型中回显行结果,除非您希望将其显示在页面上。 控制器: 模型: 视图:

    • 我有一个用来选择某些元素的代码,当你点击geticon按钮并显示正确的选项值时,该代码工作得很好。问题是我不确定如何显示下拉菜单的选择选项值(而不是按钮)。 这是我的Jsfiddle null null

    • 我感谢每个人给我的帮助。我现在的下拉框似乎在变化,但它是空白的。我正在使用的当前编码编辑如下: 当我检查页面上的空下拉元素时,我会得到这个: 警告:scandir(/home/rev/public_html/evo/.../用户/成瘾)[function.scandir]:无法打开dir:在行117的 /home/revo/public_html/evo/codesaveindex.php中没有这