使用PHP和SQL将数据库中的信息插入下拉列表菜单

使用PHP和SQL将数据库中的信息插入下拉列表菜单,php,mysql,Php,Mysql,如何将数据库信息插入列表 <?php $db_host = 'localhost'; $db_name= 'site'; $db_table= 'tablesite'; $db_user = 'root'; $db_pass = ''; $con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده"); $selected=mysql_select_db($db_name,

如何将数据库信息插入列表

<?php

$db_host = 'localhost';
$db_name= 'site';
$db_table= 'tablesite';
$db_user = 'root';
$db_pass = '';




$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
mysql_query("SET CHARACTER SET  utf8");
$dbresult=mysql_query("SELECT * FROM  $db_table WHERE job<>''",$con);
while($amch=mysql_fetch_assoc($dbresult))
{?>

<select>

<option value="$amch['job_name']"></option>

</select>

您需要像这样更改while循环:

$dbresult=mysql_query("SELECT * FROM  $db_table WHERE job<>''",$con);
echo '<select>';
echo '<option></option>'; // add a empty select as first dropdown element, you can use <option value="">-Select-</option> OR <option value="">-Not Applicable-</option>
while($amch=mysql_fetch_assoc($dbresult))
{
   echo '<option value="'.$amch['job_name'].'">'.$amch['job_name'].'</option>';
}
echo '</select>';
$dbresult=mysql\u查询(“从作业“”所在的$db\u表中选择*,$con”);
回声';
回显“”;//添加一个空的select作为第一个下拉元素,您可以使用-select-或-Not Applicable-
而($amch=mysql\u fetch\u assoc($dbresult))
{
回显'.$amch['job_name'].';
}
回声';

此处不需要value属性,因为选项文本相同。

您应该将while循环放在select块内,并使用mysqli(改进型)-

$con=mysql\u connect($db\u host,$db\u user,$db\u pass)或die(“die”);
$selected=mysql\u select\u db($db\u name,$con)或die(死亡);
mysql_查询(“设置字符集utf8”);
$dbresult=mysql\u查询(“从作业“”所在的$db\u表中选择*”,$con);
回声“;
而($amch=mysql\u fetch\u assoc($dbresult))
{
?>

我知道这来得很晚,但我在前面的评论中写道mysql已经被弃用了,使用它并不好,大多数答案都基于弃用的方法

使用mysql的风险在于,当您过滤作业时,可能会有人插入sql语句并返回所有作业列表的风险,在这种情况下,这可能会使服务器过载

另一件事是你的变量名可能会让你长期困惑,我会使用易懂的名称

以下是您的代码的外观:

<?php

$db_hostname = 'localhost';
$db_database = 'site';
$db_username = 'root';
$db_password = '';

$db_table = 'tablesite';
$job = '';

// Create connection
$conn = new mysqli($db_hostname, $db_username, $db_password, $db_database);

// Check connection
if ($conn->connect_error)
    die("خطا در اتصال به پايگاه داده" . $conn->connect_error);

$job = mysqli_real_escape_string($conn, $job);

//since user and password is not blank, find user info using the email and password entered by user
$sql = "SELECT * FROM `$db_table` WHERE job <> ?";
$stmt = $conn->prepare($sql);

$stmt->bind_param("s", $job);
$stmt->execute();

$output = $stmt->get_result();

echo "<select>";
while ($row = $output->fetch_array(MYSQLI_NUM))
{
    echo "<option value=" . $row[0] . ">" . $row[1] . "</option>";
}
echo "</select>";

所以我假设每件事都在工作,但你需要用15个工作做一个下拉列表?对吗?@maytham-ɯɥıλɐɯ15或更多或更少,我可以删除一些工作,还是我想要更多15个。这是可能的?顺便说一句,mysql已被弃用,不建议使用更长时间。使用mysqli或pdoyes,我会尝试回答你的问题,给我一些minuttes@maytham-ɯɐɥıλɐɯ:非常感谢……朋友,它刚刚打印了所有记录,我需要一个下拉列表,我可以选择工作:(那是真的,我忘记了一件事,我忘记了一件事,我需要一个空记录的第一份工作,我需要一个空记录的第一份工作,因为我需要一个空记录的第一份工作,因为我需要一个空记录的第一份工作,因为一些人没有工作,因为一些人没有工作。这是可能的。可能的吗?谢谢朋友谢谢朋友谢谢!我的声誉低于15岁以下15所以我不能投票你,我不能投票你,你帮了我太多,u帮了我帮了我太多::)朋友一个问题,朋友一个问题,我为什么我不能使用
我有一个问题,为什么我不能使用
这里。有一个问题,我忘了一个问题,我不能使用
这里,我有一个,我忘了一个事情,我忘了一个事情,我忘了一个事情,我忘了一个事情,我忘了一个事情,我忘了一个事情,我忘记了一“:
echo'';我找到了自己,因为
是php格式的:p@sajad:正确。请将br放入echo(
echo'
)或关闭重新打开的php标记(
?>
没错,我忘了一件事,我需要在第一个作业时有一个空记录,因为有些人没有作业。这是可能的吗?这是可能的,只需将此添加到:echo下即可嗯,看来你花了太多的时间来解决我的问题,所以我要特别感谢你……不客气,我很高兴。从中学习是很重要的。我希望你能以任何方式重新考虑检查这个问题。你也能看看这个帖子吗?我想你能帮我:当然,我会做@sajad
<?php

$db_host = 'localhost';
$db_name= 'site';
$db_table= 'tablesite';
$db_user = 'root';
$db_pass = '';




$con = mysqli_connect($db_host,$db_user,$db_pass,$db_name) or die("خطا در اتصال به پايگاه داده");
mysqli_query("SET CHARACTER SET  utf8");
$dbresult=mysqli_query("SELECT * FROM  $db_table WHERE job<>''",$con);
?>

<select>

<?php while($amch=mysqli_fetch_assoc($dbresult))
{?>

<option value="<?php echo $amch['job_name']?>"><?php echo $amch['job_name']?></option>

<?php } ?>

</select>
$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
mysql_query("SET CHARACTER SET  utf8");
$dbresult=mysql_query("SELECT * FROM  $db_table WHERE job<>''",$con);
echo "<select>";
while($amch=mysql_fetch_assoc($dbresult))
{
    ?>
    <option value="<?php echo $amch['job_name']; ?>"><?php echo $amch['job_name']; ?></option>
    <?php
}
echo "</select>";
<?php

$db_hostname = 'localhost';
$db_database = 'site';
$db_username = 'root';
$db_password = '';

$db_table = 'tablesite';
$job = '';

// Create connection
$conn = new mysqli($db_hostname, $db_username, $db_password, $db_database);

// Check connection
if ($conn->connect_error)
    die("خطا در اتصال به پايگاه داده" . $conn->connect_error);

$job = mysqli_real_escape_string($conn, $job);

//since user and password is not blank, find user info using the email and password entered by user
$sql = "SELECT * FROM `$db_table` WHERE job <> ?";
$stmt = $conn->prepare($sql);

$stmt->bind_param("s", $job);
$stmt->execute();

$output = $stmt->get_result();

echo "<select>";
while ($row = $output->fetch_array(MYSQLI_NUM))
{
    echo "<option value=" . $row[0] . ">" . $row[1] . "</option>";
}
echo "</select>";