选择框与MySQL数据库的多个列(selectbox with multiple columns f

2019-10-17 19:03发布

我有以下的php代码,它是为显示1列伟大的工作,但我需要它来显示10列的值。

         <select size="1" name="domeinnaam"> 
      <?php 
      include '../config.php';
      $sql = "SELECT * FROM megabase";  
      $resultaat = mysql_query($sql) or die (mysql_error());  
      while ($row = mysql_fetch_array($resultaat))       
      { 
      echo '<option>' . $row['domeinnaam1'] . '</option>';
      }
      ?>
     </select>

我试图添加第二个echo ,但损坏的代码。 我也试着

      echo '<option>' . $row['domeinnaam1'] . $row['domeinnaam2'] . '</option>';

但没有工作。 因为结果然后将显示如下:domain1的
DOMAIN1
domain1domain2

它应该是

DOMAIN1
DOMAIN1
DOMAIN1
DOMAIN2

什么工作?

Answer 1:

假设你希望每个域名显示为选择和你的数据库域名领域是domeinnaam1,domeinnaam2,domeinnaam3等选项,你会做以下...

<?php 
        include '../config.php';
        $sql = "SELECT * FROM megabase";  
        $resultaat = mysql_query($sql) or die (mysql_error());  
        $domains = array();
        while ($row = mysql_fetch_array($resultaat))       
        { 
           if (!empty($row['domeinnaam1'])) $domains[] = $row['domeinnaam1'];
           if (!empty($row['domeinnaam2'])) $domains[] = $row['domeinnaam2'];
        }
    ?>

<select size="1" name="domeinnaam">
    <?php
        foreach ($domains as $domain)
        {
            echo "<option>$domain</option>";
        } 
    ?>
</select>

您应该使用PDO,而不是mysql_功能或ADODB库运行良好。 mysql_功能被弃用PHP 5.5的

参阅http://www.php.net/manual/en/pdo.construct.php为PDO参考



Answer 2:

您的代码应该不会有重大的PHP配置或者初始化这个样子。 我看起来并不聪明。 整理一下。

<select size="1" name="domeinnaam"> 
  <?php 
  include '../config.php';
  $sql = "SELECT * FROM megabase";  
  $resultaat = mysql_query($sql) or die (mysql_error());  
  while ($row = mysql_fetch_array($resultaat))       
  { 
  echo '<option>' . $row['domeinnaam1'] . '</option>';
  }
  ?>
 </select>


  <?php 
  include '../config.php';
  $sql = "SELECT * FROM megabase";  
  $resultaat = mysqli_query($conn, $sql) or die ($conn->mysqli_error());  

  ?>
<select size="1" name="domeinnaam">
<?php
while ($row = mysqli_fetch_array($conn, $resultaat))       
      { 
      echo '<option>' . $row['domeinnaam1'] . '</option>';
      }
?>


 </select>

接下来真的不尝试突破选项,你可以使用JavaScript框架,像jQuery实现更时尚的选择。 我真的不认为你可以这样做:

while ($row = mysqli_fetch_array($conn, $resultaat))       
  { 
  echo '<option>' . $row['domeinnaam1'] . '<br />' .$row['domeinnaam2']. '</option>';
  }

使用jQuery,你可以在一个div列表项:

<ul>
while ($row = mysqli_fetch_array($conn, $resultaat))       
      { 
      echo '<li>' . $row['domeinnaam1'] . '<br />' .$row['domeinnaam2']. '</li>';
      }
</ul>

然后选定项目传递给一个隐藏字段使用onclick事件以后使用。

如果你想显示在一个循环中作为单独的选项10列,这可以做到这一点。

while ($row = mysqli_fetch_array($conn, $resultaat))       
{ 
echo '<option>' . $row['domeinnaam1'] .'</option>';
echo '<option>' . $row['domeinnaam2'] .'</option>';
echo '<option>' . $row['domeinnaam3'] .'</option>';
echo '<option>' . $row['domeinnaam4'] .'</option>';
echo '<option>' . $row['domeinnaam5'] .'</option>';
echo '<option>' . $row['domeinnaam6'] .'</option>';
echo '<option>' . $row['domeinnaam7'] .'</option>';
echo '<option>' . $row['domeinnaam8'] .'</option>';
echo '<option>' . $row['domeinnaam9'] .'</option>';
echo '<option>' . $row['domeinnaam10'] .'</option>';
}

我不知道这将是有益的,以及如何。 什么都可以编程发生。 :)



文章来源: selectbox with multiple columns from mysql database