如何在 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>
我正在尝试 运行 我页面上的这个脚本。
<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>