簡體   English   中英

如何在 PHP 中多次運行腳本

[英]How to run a script multiple times in PHP

我正在嘗試在我的頁面上運行此腳本。

    <label for="proof1">1st proof pic:</label>
  <input type="file" name="proof1" id="proof1">
  <label for="p1user">Submitted By:</label>
  <select name="p1user" style="width:100px">
  <option value="None"></option>
  <?php while($rows = $users->fetch_array())
        {
                $user = $rows['username'];
                echo "<option value='$user'>$user</option>";
        } ?> </select>
  <br>
  <label for="proof2">2nd proof pic:</label>
  <input type="file" name="proof2" id="proof2">
  <label for="p2user">Submitted By:</label>
  <select name="p2user" style="width:100px">
  <option value="None"></option>
  <?php while($rows = $users->fetch_array())
        {
                $user = $rows['username'];
                echo "<option value='$user'>$user</option>";
        } ?> </select>
  <br>
  <label for="proof3">3rd proof pic:</label>
  <input type="file" name="proof3" id="proof3">
  <label for="p1user">Submitted By:</label>
  <select name="p3user" style="width:100px">
  <option value="None"></option>
  <?php while($rows = $users->fetch_array())
        {
                $user = $rows['username'];
                echo "<option value='$user'>$user</option>";
        } ?> </select>

第一次工作正常,但其他兩個回來空白。 我究竟做錯了什么? 是的, $users是在代碼前面定義的。

您需要在每次獲取循環之前返回結果集的開頭, $users->data_seek(0); .

  <label for="proof1">1st proof pic:</label>
  <input type="file" name="proof1" id="proof1">
  <label for="p1user">Submitted By:</label>
  <select name="p1user" style="width:100px">
  <option value="None"></option>
  <?php while($rows = $users->fetch_array())
        {
                $user = $rows['username'];
                echo "<option value='$user'>$user</option>";
        } ?> </select>
  <br>
  <label for="proof2">2nd proof pic:</label>
  <input type="file" name="proof2" id="proof2">
  <label for="p2user">Submitted By:</label>
  <select name="p2user" style="width:100px">
  <option value="None"></option>
  <?php $users->data_seek(0);
        while($rows = $users->fetch_array())
        {
                $user = $rows['username'];
                echo "<option value='$user'>$user</option>";
        } ?> </select>
  <br>
  <label for="proof3">3rd proof pic:</label>
  <input type="file" name="proof3" id="proof3">
  <label for="p1user">Submitted By:</label>
  <select name="p3user" style="width:100px">
  <option value="None"></option>
  <?php $users->data_seek(0);
        while($rows = $users->fetch_array())
        {
                $user = $rows['username'];
                echo "<option value='$user'>$user</option>";
        } ?> </select>

或者您可以將所有名稱放在一個數組中並每次都使用它。

$usernames = [];
while ($rows = $users->fetch_assoc()) {
    $usernames[] = $rows['username'];
}
  <label for="proof1">1st proof pic:</label>
  <input type="file" name="proof1" id="proof1">
  <label for="p1user">Submitted By:</label>
  <select name="p1user" style="width:100px">
  <option value="None"></option>
  <?php 
    foreach ($usernames as $user) {
        echo "<option value='$user'>$user</option>";
    } ?> </select>
  <br>
  <label for="proof2">2nd proof pic:</label>
  <input type="file" name="proof2" id="proof2">
  <label for="p2user">Submitted By:</label>
  <select name="p2user" style="width:100px">
  <option value="None"></option>
  <?php 
    foreach ($usernames as $user) {
        echo "<option value='$user'>$user</option>";
    } ?> </select>
  <br>
  <label for="proof3">3rd proof pic:</label>
  <input type="file" name="proof3" id="proof3">
  <label for="p1user">Submitted By:</label>
  <select name="p3user" style="width:100px">
  <option value="None"></option>
  <?php 
    foreach ($usernames as $user) {
        echo "<option value='$user'>$user</option>";
    } ?> </select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM