【问题标题】:Fetch array for dropdown list with MySQL data in a form使用表单中的 MySQL 数据获取下拉列表的数组
【发布时间】:2013-01-05 23:47:10
【问题描述】:

如何启动它?我知道我需要在下拉列表中的选项中进行 mysql 查询,但是如何转换数据。请记住,它在一个表单中,用于从 MySQL 表中发送结果。

(编辑)

我在 printf 中工作这就是我想要的:

<?php ob_start();
include('/../../config.php'); 

if(isset($_POST['edit_id']) && !empty($_POST['edit_id'])) { 

$edit_id = mysql_real_escape_string($_POST['edit_id']); 
$result = mysql_query("SELECT username, password, nome, cidade, pais, base, isactive,   admin, dov, checador, dinheiro, email, datanascimento, profissao, idivao, idvatsim, horas, rank FROM acars_users WHERE `id`='".$edit_id."'");
$resultdl = mysql_query("SELECT * FROM acars_hubs");

$data = mysql_fetch_array($result);
$dl = mysql_fetch_array($resultdl); 


printf("<div  align=\"center\">
<br><form method=\"post\" action=\"editar2.php\">
<p><font size=\"2\" face=\"Segoe UI, Arial, Helvetica, sans-serif\"   align=\"center\">Modifique os campos que deseja para <strong>editar este membro.</font><br>
<br>

<table width=\"700\" border=\"0\" align=\"center\" >
<tr>
    <td>Base Operacional:</td>
    <td><label for=\"hub\"></label>
      <select name=\"hub\">
         <option>".$dl['name']."</option>
       </select>
    </td>
    </td>
</tr>
</table></br></br>
<input name=\"edit_id\" value=\"$edit_id\" type=\"hidden\">
<input type=\"image\" src=\"img/Editar.PNG\" width='85' height='30'></form>
</form>

</table> 
</div>

");
while ($data = mysql_fetch_array($result));
while ($dl = mysql_fetch_array($resultdl));
ob_end_flush();
?>

【问题讨论】:

    标签: php mysql sql forms html-select


    【解决方案1】:

    你的意思是这样的吗?

    <select>
    <?php while($row = mysql_query("SELECT * FROM table")){ ?>
    <option><?=$row['column']; ?></option>
    <?php } ?>
    </select>
    

    【讨论】:

    • 我其实有 3 个,但只出现了 2 个结果。第一个总是隐藏的。这就是我所做的:code ....&lt;td class=\"tabeladados\"&gt;Base Operacional:&lt;/td&gt; &lt;td class=\"tabeladados\"&gt;&lt;label for=\"hub\"&gt;&lt;/label&gt; &lt;select name=\"hub\"&gt; "); while ($dl = mysql_fetch_array($resultdl)){ echo "&lt;option value=" . $dl['name'] . "&gt;" . $dl['name'] . "&lt;/option&gt;"; } printf(" &lt;/select&gt; &lt;/td&gt;....
    • $resultd1 等于什么?
    • 它的 resultdL,不是 d1,它来自 DropList 的 dL。 code $dl = mysql_fetch_array($resultdl);code $resultdl = mysql_query("SELECT * FROM acars_hubs");
    【解决方案2】:

    我发现了问题。我的第一个 $dl = mysql_fetch_array($resultdl, MYSQL_ASSOC); 从表中拉出第一行。当我开始 while 循环时,mysql_fetch_array 会与下一行一起出现。因此,解决方案是删除第一个电话。这是最终代码:

    <?php 
       include('../../../../../config.php'); 
    
        if(isset($_POST['edit_id']) && !empty($_POST['edit_id'])) {
    
        $edit_id = mysql_real_escape_string($_POST['edit_id']); 
    
        $result = mysql_query("SELECT * FROM acars_users WHERE `id`='".$edit_id."'");
        $data = mysql_fetch_array($result);
        $resultdl = mysql_query("SELECT * FROM acars_hubs");
    
        printf("<div  align=\"center\">
        <form method=\"post\" action=\"actions/actions_editar.php\">
        ");
    
               while ($dl = mysql_fetch_array($resultdl, MYSQL_ASSOC)){
    
            printf(" 
            <option value=".$dl["id"].">".$dl["name"]."</option>;
            ");
    
               }
    
        printf("
            <input name=\"edit_id\" value=\"$edit_id\" type=\"hidden\">
            <input type=\"image\" src=\"../../images/botao_editar.PNG\" width='85' height='30'></form>
            ");
    
    ?>
    

    【讨论】:

    • 谢谢!我认为这会对我有所帮助。我认为你应该改变问题,如果可以的话,以反映真正的问题是什么。即,“获取下拉表单列表的数组结果”。出于好奇,我偶然读到了这篇文章,但可能已经找到了我在使用 while 循环时遇到的问题的答案。
    • 没关系;我编辑了这个问题。 (PHPMyAdmin 与问题无关。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 2012-04-18
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多