[英]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.