亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查詢后PHP Echo重復

查詢后PHP Echo重復

PHP
慕沐林林 2022-07-22 18:55:50
我想要一個 SQL Select 語句,它從數據庫中獲取值,如果有任何結果,那么在下拉菜單中顯示一個表單和結果。目前,它獲取值,但表單回顯有結果的次數。例如,如果查詢有 1 個結果,它會回顯表單一次。2 結果,回顯格式兩次,以此類推。我希望表單顯示一次,但下拉列表中包含所有結果。如果有人能指出我正確的方向,那就太好了。謝謝<?php            include("conndetails.php");                 $conn = new mysqli($servername, $username, $password, $dbname);            $sql    = "SELECT website_name FROM user_websites WHERE username='$_SESSION[user]'"; //Selects all the websites for the user that is logged in.             $result = $conn->query($sql);              if ($result->num_rows > 0) {                  while ($row = $result->fetch_assoc()) {    echo '<h2>Download a website</h2>          <form action="downloads.php" method="get">          <select id="website_name" name="website_name">          <option name="website_name">'. $row["website_name"]. '          </option>          </select>          <input type="submit" value="Download">          </form>          <br>          <hr>          <h2>Upload to a website</h2>          <form action="upload.php" method="post" enctype="multipart/form-data">           <p>Select file to upload:</p>          <input type="file" name="zip_file" id="fileToUpload">          <p>Select a website to upload to:</p>          <select id="website_upload_name" name="website_upload_name">          <option name="website_upload_name">'. $row["website_name"]. '          </option>          </select>          <br>          <br>          <input type="submit" value="Upload" name="submit" style="position:relative; left: -1px;">          </form>          <br>          <hr>';             }}    ?>
查看完整描述

2 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

創建一個變量$options并在返回數據時添加<option>到變量中。


不要將所有html代碼放在while.


if ($result->num_rows > 0) {


   //Declare $options

   $options = '';



   while ($row = $result->fetch_assoc()) {

      //Adding <option> to the var $options

      $options .= '<option name="website_name">'. $row["website_name"]. '

          </option>';

    }




    //HTML once, first part

   $html = '<h2>Download a website</h2>

          <form action="downloads.php" method="get">

          <select id="website_name" name="website_name">';


   //Adding <option> to the <select>

   $html .= $options;


   //HTML once, second part

   $html .= '</select>

          <input type="submit" value="Download">

          </form>

          <br>

          <hr>


          <h2>Upload to a website</h2>

          <form action="upload.php" method="post" enctype="multipart/form-data"> 

          <p>Select file to upload:</p>

          <input type="file" name="zip_file" id="fileToUpload">

          <p>Select a website to upload to:</p>

          <select id="website_upload_name" name="website_upload_name">'


    //Adding <option> to the second <select>

    $html .= $options;


    //HTML once, third part

    $html .= '</select>

      <br>

      <br>

      <input type="submit" value="Upload" name="submit" style="position:relative; left: -1px;">

      </form>

      <br>

      <hr>';



  //Printing

  echo $html;



  }


查看完整回答
反對 回復 2022-07-22
?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

它回顯的次數與找到的結果一樣多的原因是因為您已將回顯語句放在 while 構造中。如果您希望在 if 語句的條件得到驗證時僅顯示一次回顯,則將回顯移到 while 之外,并將選項的 html 代碼放在您將在 while 內構建的變量中。在這里,我想這兩個組合都需要具有與原始代碼相同的選項:


if ($result->num_rows > 0) {


$options = '';


  while ($row = $result->fetch_assoc()) {


    $options .= '<option name="website_name">'. $row["website_name"]. '</option>';    


  }


  echo '<h2>Download a website</h2>

        <form action="downloads.php" method="get">

          <select id="website_name" name="website_name">' . $options . '</select>

          <input type="submit" value="Download">

         </form>

         <br>

         <hr>


         <h2>Upload to a website</h2>

         <form action="upload.php" method="post" enctype="multipart/form-data"> 

           <p>Select file to upload:</p>

           <input type="file" name="zip_file" id="fileToUpload">

           <p>Select a website to upload to:</p>

           <select id="website_upload_name" name="website_upload_name">' . $options . '</select>

           <br>

           <br>

           <input type="submit" value="Upload" name="submit" style="position:relative; left: -1px;">

         </form>

         <br>

         <hr>';


}


查看完整回答
反對 回復 2022-07-22
  • 2 回答
  • 0 關注
  • 133 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號