【问题标题】:Mysql, PHP and FORM QUERYMysql、PHP 和 FORM QUERY
【发布时间】:2013-12-09 19:29:38
【问题描述】:

不知道怎么查询,调用表格中的字段,用HTML显示

<select name="" id=""> <option> </option> </select>

这是我的代码:

<?php  
    $loginDB=mysql_pconnect("localhost", "root", "");
    mysql_select_db("bookstore",$loginDB); 
    $sql="SELECT bookloans.id_usr FROM bookloans"; 
?>
    <select name="id_usr" id="id_usr">
        <option><?php              
            $result=mysql_query($sql);             
            $num_resul=mysql_num_rows($result);             
            for ($i=0;$i<$num_result;$i++)
            {        
                $row=mysql_fetch_array($result);     
                echo $sql['id_usr'] ;
            }
        ?></option>    
    </select>     
</p>  

【问题讨论】:

  • 你有什么问题?几点注意事项:1.)您的循环位于错误的位置,因为所有内容都以一个 option 标记结束。 2.) 不要使用 mysql_* 函数。它们已被弃用。使用 mysqli 或 PDO。

标签: php mysql html forms web


【解决方案1】:

您必须围绕&lt;option&gt; 标签进行循环:

<select name="id_usr" id="id_usr">
    <?php           
    $result = mysql_query($sql);                      
    while ($data = mysql_fetch_assoc($result)) {  ?>

        <option><?php echo $data['id_usr']; ?></option>

    <?php   
    }
    ?>
</select>

但如前所述,不推荐使用 mysql_* 函数。你应该看看 mysqli_* 函数或 PDO。

【讨论】:

  • 坦克,抱歉不知道 MYSQL_ 已被废弃
  • 我运行了完美的代码,但是我可以看到MYSQLI_的新函数在哪里
  • 我没有在这里使用它们,在这里查找它们:fr.php.net/mysqli :) Globaly 它与 mysql_ 相同,但您必须指定之前保存在 var 中的连接。
【解决方案2】:

首先,不推荐使用mysql_*,使用mysqli_*,其次。你到底在问什么?

您的 PHP 代码将所有内容放在一个 option 标记中;您必须在循环中包含开始和结束选项标签。

<select name="id_usr" id="id_usr">
         <?php           
         $result=mysql_query($sql);          
         $num_result=mysql_num_rows($result);             
        for ($i=0;$i<$num_result;$i++)
            {     
                echo "<option>";
                $row=mysql_fetch_array($result);     
                     echo $sql['id_usr'] ;
                echo "</option>";
            }
         ?>

   </select>     
 </p>`

最后,我建议您查看W3Schools.com 上的 PHP 和 HTML 教程

此外,我可能会累或误会,但这可能更适合您使用 PHP 和 SQL 查询和返回结果的需求:-

<?php 
$result = mysqli_query($db_con, $query);
if(mysqli_num_rows($result)>0)
{
  while($row=mysqli_fetch_array($result))
  {
      echo "<option>" . $row['id_usr'] . "</option>";
  }
?>

mysqli_query()

【讨论】:

    【解决方案3】:

    试试这样的。

    <?php  
        $loginDB=mysql_pconnect("localhost", "root", "");
        mysql_select_db("bookstore",$loginDB); 
     ?>
        <select name="id_usr" id="id_usr">
    <?php 
     $sql="SELECT bookloans.id_usr FROM bookloans"; 
     $result=mysql_query($sql);             
     while($data=mysql_fetch_array($result))
    {
    ?>
    <option value="<?php echo $data['id_usr]; ?>" ><?php echo $data['id_usr];?> </option>
    <?php
    }
    ?>
    </select>
    

    由于不推荐使用 mysql_* 函数,最好尝试使用 mysqli_* 函数或 PDO。

    【讨论】:

      猜你喜欢
      • 2012-03-03
      • 2016-08-07
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 2013-11-21
      • 1970-01-01
      相关资源
      最近更新 更多