PHP mysql按列正确构造表
我会尽力解释清楚的。我有一个有100个值的表,两个字段:ID和Name。在本例中,ID并不重要 我想做的是选择所有记录并在五列中显示它们,但我需要它们按字母顺序从上到下排列: 例如: 表数据包含以下内容:PHP mysql按列正确构造表,php,mysql,html-table,Php,Mysql,Html Table,我会尽力解释清楚的。我有一个有100个值的表,两个字段:ID和Name。在本例中,ID并不重要 我想做的是选择所有记录并在五列中显示它们,但我需要它们按字母顺序从上到下排列: 例如: 表数据包含以下内容: AAAA AAAB AAAC AAAD AAAE AAAF AAAA AAAD AAAB AAAE AAAC AAAF 我需要显示如下所示的数据: AAAA AAAB AAAC AAAD AAAE AAAF AAAA AAAD AAAB AAAE
AAAA
AAAB
AAAC
AAAD
AAAE
AAAF
AAAA AAAD
AAAB AAAE
AAAC AAAF
我需要显示如下所示的数据:
AAAA
AAAB
AAAC
AAAD
AAAE
AAAF
AAAA AAAD
AAAB AAAE
AAAC AAAF
这有意义吗
如果不可能的话,我就要了:AAAA AAAB AAAC AAAD AAAE
AAAF
无论哪种方式,以最容易的为准
好的,下面是我现在得到的错误:
[Mon Dec 02 22:55:19 2013][error][client xx.xx.xx.xx]PHP警告:mysql_fetch_assoc()希望参数1为
资源,第35行的/usr/home/user/www/data/test/testing.php中给出的字符串[Mon Dec 02 22:55:19 2013][error][client xx.xx.xx.xx]PHP注意:未定义变量:第42行的/usr/home/user/www/data/test/testing.PHP中的result 以下是相关代码:
<?php
$username = "user";
$password = "password";
$hostname = "localhost";
//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
$selected = mysql_select_db("equine",$dbhandle)
or die("Could not select Database");
$query = 'select * from breeds';
while ($row = mysql_fetch_assoc($query)) {
$result[] = $row;
}
?>
<table><tr><td>
<?php
for ($i = 0; $i < count($result); $i++) {
if ($i % (count($result) / 5) == 0) {
echo "</td><td>";
}
echo "$result <br />";
}
?>
</td></tr></table>
好的,现在是错误,我确保我直接剪切并粘贴了您的内容
[Tue Dec 03 11:43:12 2013][error][client xx.xx.xx.xx]PHP解析错误:语法错误,意外的“[”,第45行的/usr/home/user/www/data/test/testing.php中应为“]” 我再进一步,这是输出: 数组[名称]数组[名称]数组[名称]数组[名称]数组[名称]数组[名称]数组[名称]数组[名称]数组[名称] 好的,我知道了,我会在几分钟后发布我的代码,我需要清理一些 我想我已经弄明白了。它可以打印,但不限于每行5个数据元素 代码如下:
<?php
$username = "username";
$password = "password";
$hostname = "localhost";
//connection to the database
$link = mysqli_connect($hostname, $username, $password,"equine")
or die("Error " . mysqli_error($link));
// connect to database, etc ...
$query = "SELECT name FROM breeds" or die("Error in the consult..." . mysqli_error($link));
$result = $link->query($query);
while($row = mysqli_fetch_array($result)) {
// echo $row["name"] . "<br>";
$myResult[] = $row;
}
?>
<table border="1"><tr><td>
<?php
for ($i = 0; $i < count($myResult); $i++) {
if ($i % (count($myResult) / 5) == 0) {
echo "</td><td>";
}
echo $myResult[$i]['name']. "<br />";
}
?>
</td></tr></table>
但是,输出如下所示:
<table border="1"><tr><td>
</td><td>Brittinee<br /></td><td>Pit Bull<br /></td><td>Black Lab<br /></td><td>Mutt<br /></td><td>Great Dane<br /></td><td>Doberman<br /></td><td>Shepard<br /></td></tr></table>
布列丁尼
比特斗牛
黑实验室
杂种
大丹犬
杜宾
谢泼德
除了数据元素应该是一行之外,我知道它不会显示在这里。您的第二个选项是最简单的 要实现您的第二个选项,请参见演示以下查询的:
SELECT GROUP_CONCAT(m.Name ORDER BY m.Name SEPARATOR ' ') AS NameConcat
FROM mytable as m
我不完全确定您在问什么,但是如果您从数据库中检索查询集,那么您可以将它们显示在如下列中
<?php
// connect to database, etc ...
$query = mysql_query('select * from `breeds`');
while ($row = mysql_fetch_assoc($query)) {
$result[] = $row;
}
?>
<table><tr><td>
<?php
$divider = count($result) / 5;
for ($i = 0; $i < count($result); $i++) {
if ($i > $start) {
echo "</td><td>";
$divider += ceil(count($result) / 5);
}
echo "$result[$i]['name'] <br />";
}
?>
</td></tr></table>
应该注意的是,mysql\u connect和mysql\u select\u db都不推荐使用。这些函数不安全,将导致攻击。好吧,这很恼人,我无法格式化我的评论,但我基本上包含了你的评论,但现在我得到了一个错误:[Mon Dec 02 22:01:03 2013][error][client xx.xx.xx.xx]PHP解析错误:语法错误,意外的t_-ENCAPSED_和_-W-HITESPACE,在第44行的/usr/home/user/www/data/test/testing.php中需要T_字符串或T_变量或T_NUM_字符串,这就是我所想的,但这不允许我正确格式化代码“?php for($I=0;$I