首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用数据库中的值创建PHP两列表?

如何用数据库中的值创建PHP两列表?
EN

Stack Overflow用户
提问于 2011-09-04 22:40:20
回答 5查看 7.7K关注 0票数 1

我想创建一个包含两列的名称表,其中的名称是从数据库中获取的,但我不知道如何创建。我需要帮助。

姓名:詹姆斯、约翰、保罗、彼得

下面是我的代码:

代码语言:javascript
复制
<?php
$con = mysql_connect("localhost","root","");
if(!$con){
echo "Unable to connect DB";
}else{
    $db = mysql_select_db("persons",$con);
    echo "Connected";
}
echo "<table border='1'>";
$count = 0;
$sql = "SELECT * FROM tbl_names";
$q = mysql_query($sql);
while($res = mysql_fetch_array($q)){
$count++;
    echo "<tr>";
        for($i=1;$i<=2;$i++){
                echo "<td>{$res['id']}{$res['title']}</td>";
        }
    echo "</tr>";   
}
echo "</table>";
?>

我希望输出是这样的:

代码语言:javascript
复制
+-------+-------+
| James | John  |
+-------+-------+
| Paul  | Peter |
+-------+-------+

但是我的代码返回:

代码语言:javascript
复制
+-------+-------+
| James | Jame  |
+-------+-------+
| John  | John  |
+-------+-------+
| Paul  | Paul  |
+-------+-------+
| Peter | Peter |
+-------+-------+

我需要你的帮助。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-05 07:34:47

好吧,如果没有关系,并且该表仅用于布局:

代码语言:javascript
复制
echo '<div class="container">';
while($res = mysql_fetch_array($q)){
    echo '<div class="item">'.  $res['id'] . $res['title'] . '</div>';
}
echo '</div>';

在css中:

代码语言:javascript
复制
.container { width: 400px; float: left; }
.container .item { width: 50%; float: left; height: someFixedHeight; }
// or 200px

无论如何,我更倾向于只使用表格来显示实际的表格,而避免使用它们进行布局。您可以对div执行任何操作(在本例中,您还可以使用ul和li )。当然,这不是必须的,但通常它需要较少的HTML,对于SEO来说,html内容比率是需要考虑的因素。如果您不想要固定的高度,可以像上面的td/tr示例那样对每一行进行换行。

票数 1
EN

Stack Overflow用户

发布于 2011-09-04 22:44:26

代码语言:javascript
复制
echo "<tr>";
while($res = mysql_fetch_array($q)){
    $count++;
    if (!($count % 2)){ echo "</tr><tr>"; }
    echo "<td>{$res['id']}{$res['title']}</td>";
}
echo "</tr>";
票数 3
EN

Stack Overflow用户

发布于 2011-09-04 23:24:02

一个函数

代码语言:javascript
复制
function sqlArr($sql){
  $ret = array();
  $res = mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
  if ($res) {
    while($row = mysql_fetch_array($res)){
      $ret[] = $row;
    }
  }
  return $ret;
}

A代码

代码语言:javascript
复制
mysql_connect("localhost","root","");
mysql_select_db("persons");
$data = sqlArr("SELECT * FROM tbl_names");
$data = array_chunk($data,2);

一个模板

代码语言:javascript
复制
<table border='1'>
<? foreach ($data as $row): ?>
  <tr>
  <? foreach ($row as $cell): ?>
    <td><?=$cell['id']?><?=$cell['title']?></td>
  <? endforeach ?>
  </tr>
<? endforeach ?>
</table>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7299913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档