2

我想要做的是在while循环中有一个单选按钮,并且每次运行循环时收音机的名称都会增加1。
现在代码不起作用,因为它没有逐渐增加。任何建议都会很棒。

$query = mysql_query("SELECT * FROM table WHERE id = '1' ORDER BY time ASC");
echo '<table> <th> A </th> <th> time </th> <th> B </th>'; 

while($row = mysql_fetch_assoc($query)) {

    $i= 1;
    echo '<tr><td>';
    echo '<input type="radio" name="';echo $i++; echo'" /> '; echo $row['a'];
    echo '</td>';
    echo '<td>';
    echo $row['time'];
    echo '</td>';
    echo '<td>';
    echo '<input type="radio" name="';echo $i++; echo '" />'; echo $row['b'];
    echo '</td> </tr> ';
}


echo '</tr></table>';
4

4 回答 4

7

您每次都在重置计数器。

$i = 1;

while($row = mysql_fetch_assoc($query)) {
    // Your code

    $i++;
}

.. 并替换echo $i++;echo $i;.

于 2013-04-01T18:05:45.567 回答
1

只需移动$i= 1;循环外

像这样:

...
$i= 1;
while($row = mysql_fetch_assoc($query)) {
    ...
    echo '<input type="radio" name="';echo $i; echo'" /> '; echo $row['a'];
    ...
    ...
    $i++;
}
于 2013-04-01T18:06:22.090 回答
1

您的逻辑无效:

$i = 0;
while($row = mysql_fetch_assoc($query)) {
$i++;
echo '<tr><td>';
echo '<input type="radio" name="';echo $i; echo'" /> '; echo $row['a'];
echo '</td>';
echo '<td>';
echo $row['time'];
echo '</td>';
echo '<td>';
echo '<input type="radio" name="';echo $i; echo '" />'; echo $row['b'];
echo '</td> </tr> ';
}

每次你输入$i++PHP 都会增加它。

于 2013-04-01T18:06:27.557 回答
0

呵呵.. ;))

$query = mysql_query("SELECT * FROM table WHERE id = 1 ORDER BY time ASC");

echo "<table>\n";
echo "  <tr>\n";
echo "    <th> A </th>\n";
echo "    <th> time </th>\n";
echo "    <th> B </th>\n";
echo "  </tr>\n";

$i = 0;

while($row = mysql_fetch_assoc($query)) {
    echo "  <tr>\n"
    echo '    <td><input type="radio" name="' . $i . '" />' . $row['a'] . "</td>\n";
    echo '    <td>' . $row['time'] . "</td>\n";
    echo '    <td><input type="radio" name="' . $i . '" />' . $row['b'] . "</td>\n";
    echo "  </tr>\n";
    $i++;
}

echo "</table>\n";

我没有检查您的代码,包括 SQL 查询是否正确,但如果有错误或格式不正确,请继续修复此代码!

于 2013-04-01T18:57:39.947 回答