我会尽力解释这一点。我有一个包含100个值的表,两个字段:ID和Name。就本示例而言,ID并不重要。
我想做的是选择所有记录,并在五列中显示它们,但我需要它们按字母顺序从上到下排列:
例:
表数据具有以下内容:
AAAA
AAAB
AAAC
AAAD
AAAE
AAAF
我需要显示如下数据:
AAAA AAAD
AAAB AAAE
AAAC AAAF
那有意义吗?
如果那不可能,那么我来考虑:AAAA AAAB AAAC AAAD AAAE
美国空军
无论哪种方式,最简单的一种。
好的,这是我现在得到的错误:
[2013年12月2日22:55:19星期一] [错误] [客户端xx.xx.xx.xx] PHP警告:mysql_fetch_assoc()期望参数1为
资源,在第35行的/usr/home/user/www/data/test/testing.php中给出的字符串
[2013年12月2日22:55:19星期一] [错误] [客户端xx.xx.xx.xx] PHP注意:未定义的变量:结果是/usr/home/user/www/data/test/testing.php 42
以下是相关代码:
<?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>
好的,这是现在的错误,我确保我直接剪切并粘贴了您的内容。
[2013年12月3日星期二11:43:12] [错误] [客户端xx.xx.xx.xx] PHP解析错误:语法错误,意外的'[',
在第45行的/usr/home/user/www/data/test/testing.php中期望']'
好吧,我进一步介绍了以下内容:
Array [name] Array [name] Array [name] Array [name] Array [name] Array [name] Array [name]
好的,我明白了,我将在几分钟后发布代码,我需要对其进行清理。
好吧,我以为我已经解决了。它可以打印,但不限于每行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>
除了数据元素应该排成一排,我知道它不会在此处显示。
最佳答案
您的第二个选择是最简单的。
要实现您的第二个选择,这里是SQL Fiddle,它演示了以下查询:
SELECT GROUP_CONCAT(m.Name ORDER BY m.Name SEPARATOR ' ') AS NameConcat
FROM mytable as m
关于php - PHP mysql按列正确构造表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20342264/