【问题标题】:pull the data from mysqli to dropdown list php将数据从 mysqli 拉到下拉列表 php
【发布时间】:2015-01-10 02:38:34
【问题描述】:

我一直在尝试从下拉菜单中的数据库 mysqli 中提取数据。这是我的 postad.html 代码。我想从具有行名称 CatName 的类别表中提取类别数据。我也有显示 ctegory id 的 CatId。提前谢谢你。请帮助:

<html>
       <head>
           <title>Post AD</title>
    </head>
  <body>

      <form method="POST" action="postad.php">

     <table>
    <tr>
    <td>AdName:</td>
    <td><input type="text" name="adname"></td>
     </tr>
     <tr>
    <td>AdCategory</td>
         <td>
             //dropdown list
  <select name="Categories">
      <?php include = connect.php 

            $sql = "SELECT CatName FROM categories order by CatName";
            $result = $db->query($sql);
            while($row = $result->fetch_array()) {

        echo "<option value='". $row['CatName']."'>."</option>'; 
   }
    ?>

</select>
  </td>
     </tr>
     <tr>
    <td>Contact Number</td>
    <td><input type="text" name="contactnumber"></td>
     </tr>
     <tr>
    <td>Image</td>
    <td><input type="text" name="image"></td>
     </tr>
     <tr>
    <td>Description</td>
    <td><input type="text" name="description"></td>
     </tr>
        <tr>
    <td>Expiration Date</td>
    <td><input type="text" name="expirationdate"></td>
     </tr>
     <tr>
     <td id="btn"><input type="submit" value='submit' name="submit"></td>
    </tr>    
    </table>     
    </form>
      </body>
</html>

【问题讨论】:

  • “这是我的 postad.html 代码” - 你里面有 PHP/SQL。另外,您还缺少分号 &lt;?php include = connect.php <?php include 'connect.php'; 减去 =
  • 很难回答这个问题...什么没有发生?数据库中有什么东西吗?那么 include = connect.php 呢?

标签: php mysqli


【解决方案1】:

您的菜单代码似乎有误。应该是这个

 echo "<option value=". $row['CatName'] ."></option>'; 

反对

 echo "<option value='". $row['CatName']."'>."</option>'; 

无论如何,表格的结果都将是一个字符串,因此无需担心 value=''。真正的问题是你如何掩盖你的报价。

编辑:刚刚注意到include = connect.php 应该是include 'connect.php';

<?php
$mysql_host = '';
$mysql_user = '';
$mysql_pass = '';
$mysql_dbase = '';
$mysql_table = '';
$pdo = new PDO('mysql:host=' . $mysql_host . ';dbname=' . $mysql_dbase, $mysql_user, $mysql_pass);
$sth = $pdo->prepare('SELECT * FROM `' . $mysql_table . '` ORDER BY `id` CatName');
$sth->execute();
$result = $sth->fetchAll();
foreach ($result as $row) {?>
    <option value=<?php echo $row['CatName']; ?>></option>; 
<?}?>

【讨论】:

  • 太棒了......谢谢......但仍然没有获取数据......下拉框现在完全是空的......
  • 有没有办法可以在一些php文件中编写选择代码并在html文件的下拉框中获取它??
  • 编辑了我的帖子。我刚刚给你写了一些东西来复制粘贴并填写空白,你的while 循环并不真正适用于你想做的事情。
【解决方案2】:

好的。现在我创建了一个名为 getcategories.php 的新 php 文件。这个页面运行良好。这是它的代码:

            $sql = "SELECT CatName FROM categories order by CatName";
            $result = $db->query($sql);
            $options="";
//echo "<select value='categories'>";       
while($row = $result->fetch_assoc()) {

        $categoryname=$row["CatName"]; 

   // echo '<option value="'.$categoryname.'">'.$categoryname.'</option>'; 

   // echo "</select>";
   //echo "$categoryname\n";
       $options .= '<option value="'.$categoryname.'">'.$categoryname.'</option>';

}
?>          

我应该如何将选项的数据拉到html文件的下拉菜单中

【讨论】:

    【解决方案3】:
    echo "<option value='". $row['CatName']."'>."</option>'; 
    

    包含错误,也没有用于选项的内部 html

    为简单起见,您可以使用这种方式。

    $CatName=$row["CatName"];
    echo '<option value="'.$CatName.'">'.$CatName.'</option>'; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多