0

次の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>

2番目を追加しようとしましechoたが、コードが破損しました。私もしようとしました

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

しかし、それはうまくいきませんでした。結果は次のように表示されるためです。 domain1 domain1
domain1domain2

そしてそれはあるべきです

ドメイン
1 ドメイン
1 ドメイン1 ドメイン
2

何が機能しますか?

4

2 に答える 2

0

各ドメイン名を選択のオプションとして表示し、データベースのドメイン名フィールドが 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>

mysql_ 関数の代わりに PDO を使用する必要があります。そうしないと、ADODB ライブラリがうまく機能します。mysql_ 関数は PHP 5.5 で非推奨になりました

PDO リファレンスについては、 http: //www.php.net/manual/en/pdo.construct.phpを参照してください。

于 2013-03-04T15:32:26.237 に答える
0

コードに、このような主要な 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>

次に、実際にオプションを壊そうとしないでください。JQuery などの JavaScript フレームワークを使用して、よりスタイリッシュな選択を実現できます。私は本当にあなたがこれを行うことができるとは思わない:

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 列を 1 つのループで個別のオプションとして表示する場合は、これで実行できます。

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>';
}

これがどこでどのように役立つのだろうか。プログラミングでは何でも起こり得ます。:)

于 2013-03-04T16:02:00.947 に答える