我对此很新,不知道该怎么做,
我有一个名为“names”的列的数据库
我怎样才能让它显示出来?
<tr>
<td width="270px">Henry</td>
<td width="270px">Jeffrey</td>
<td width="270px">Hansel</td>
</tr>
<tr>
<td width="270px">Michelle</td>
<td width="270px">Jackson</td>
<td width="270px">Ivan</td>
</tr>
如果记录一个接一个地垂直传播,我只知道应该怎么做。
$result = mysql_query('SELECT * FROM member');
while($row = mysql_fetch_array($result))
{
echo'
<tr>
<td width="270px">'.$row['names'].'</td>
<td width="270px">Jeffrey</td>
<td width="270px">Hansel</td>
</tr>';
有点被困在这里......
抱歉,我忘记了这个。
我想要的是它应该循环标签。所以我可以有一个包含无限行的3列表。
这是什么回合?如果我想让它循环呢?<tr>
<td><img src="images/ava/A.png" /></td>
<td>A</td>
<td width="2px" rowspan="3"></td>
<td><img src="images/ava/B.png" /></td>
<td>B</td>
</tr>
<tr>
<td>A</td>
<td>B</td>
</tr>
答案 0 :(得分:3)
$row
将在循环的每次迭代中更新:
$result = mysql_query('SELECT * FROM member');
echo '<tr>';
for($i = 0; $row = mysql_fetch_array($result); $i = ($i+1)%3){
echo '<td width="270px">'.$row['names'].'</td>';
if($i == 2)
echo '</tr><tr>';
}
echo '</tr>';
答案 1 :(得分:2)
$result = mysql_query('SELECT * FROM member');
echo'<tr>'
while($row = mysql_fetch_array($result))
{
echo '<td width="270px">'.$row['names'].'</td>';
}
echo '</tr>';
答案 2 :(得分:1)
$result = mysql_query('SELECT * FROM member');
echo '<tr>;
while($row = mysql_fetch_array($result))
{
echo '<td width="270px">'.$row['names'].'</td>';
}
echo '</tr>';
答案 3 :(得分:1)
假设您有一个名为$names
的名称数组,那么您可以使用如下所示的代码执行您想要的操作:
<tr>
<?php
foreach($names as $name) {
print "<td>$name</td>";
}
?>
</tr>
这会将所有名字放在同一行。
为了开始一个新行说,每3个名字,你可以在for循环中放一个if语句,如下所示:
// assume we have these variables available.
$row_number;
$max_cols = 3;
// this goes at the top of the foreach
if($row_number % $max_cols == 0) {
print '</tr><tr>';
}
答案 4 :(得分:1)
您知道通过在启动变量之前分配行计数以及知道初始化循环或开始/结束循环的几个标志来实现此目的。
$i = 1;
$initFlag = false;
$flag = "closed";
while($row = mysql_fetch_array($result)) {
if($i%3 == 0) $initFlag = false;
if($flag == "closed" && ($i == 1 || $i % 3 == 1)) {
echo "<tr>"; $flag = "started"; $initFlag = true;
}
echo '<td width="270px">'.$row['names'].'</td>';
if(!initFlag && $flag == "started" && $i % 3 ==0) {
echo "</tr>"; $flag = "closed";
}
$i++;
}
答案 5 :(得分:0)
因此大多数答案都适用于kludge。首先,如果您想要的只是结果集中的名称,那么只需要它。所以不要选择:
$result = mysql_query('SELECT * FROM member');
取而代之的是:
$result = mysql_query('SELECT names FROM member');
此外,每个人似乎都忽略了三列请求,并且可以使用模数来判断何时断行。我们会做一些魔术以确保您始终关闭行标记。
$row_count = 0;
while($row = mysql_fetch_array($result))
{
if( $row_count % 3 == 0 )
{
echo '<tr>';
}
echo '<td width="270px">'.$row['names'].'</td>';
if( $row_count % 3 == 0 )
{
echo '</tr>';
}
$row_count++;
}
我不想对你的架构过于挑剔,但是如果你有选择的话,最好将表命名为members
而不是成员,因为你有一组行,每一行一个代表一个'成员'。除非您的成员有多个names
,否则该列可能最好被称为“名称”。