【发布时间】:2012-12-18 05:19:27
【问题描述】:
我有一个表,其中包含来自dat_eb_registrants 的值作为行(例如$row[1])和来自水平数组的值,从dat_eb_field_values 中提取,我想将它们拆分,以便我可以将所有内容排序到表我想要的方式。
数据如何放入我的表中:
$count = 0;
while ($row = mysql_fetch_row($result))
{
echo "<tr>";
$myArray[] ="<tr><td>" . $row[9] . "</td><td>"; echo $myArray[$count];
$count++;
echo "</tr>";
}
如何从数据库中提取所有数据(是的,我知道它很旧):
SELECT dr.id, dr.first_name, dr.last_name, dr.email, dr.comment, dr.amount, dr.published, dr.transaction_id, dr.register_date, GROUP_CONCAT(df.field_value SEPARATOR '</td><td>')
FROM dat_eb_registrants dr
LEFT JOIN dat_eb_field_values df
ON dr.id=df.registrant_id
WHERE `event_id` >= 20 AND `event_id` <= 25
GROUP BY dr.id
ORDER BY '".$sort."', '".$ascdsc."'
现在,我想将第一个表中的一些行(例如$row[1])和(例如$row[2])垂直放置在数组的中间。我该怎么做?
因为数组一次性填满了我的表格,并且使用$rows,您可以简单地告诉哪些行显示在哪里...
这就是我想要的(代码可能不正确):
while ($row = mysql_fetch_row($result)) {
echo "<tr>";
echo "<td>"'.$row_table_1[1]'"</td>";
echo "<td>"'.$row_table_1[2]'"</td>";
echo "<td>"'.$row_table_2[35]'"</td>";
echo "<td>"'.$row_table_2[45]'"</td>";
echo "<td>"'.$row_table_1[5]'"</td>";
echo "<td>"'.$row_table_2[6]'"</td>";
echo "</tr>";
}
我曾经这样做过:
echo "<td>"; $result24 = mysql_query("SELECT field_id, field_value FROM dat_eb_field_values WHERE (field_id = 88) AND (registrant_id = $row[0])"); $r24 = mysql_fetch_row($result24); echo $r24[1]; echo "</td>";
echo "<td>"; $result25 = mysql_query("SELECT field_id, field_value FROM dat_eb_field_values WHERE (field_id = 57) AND (registrant_id = $row[0])"); $r25 = mysql_fetch_row($result25); echo $r25[1]; echo "</td>";
echo "<td>" . $row[5] . "</td>";
echo "<td>" . $row[6] . "</td>";
我想做:
echo "<td>" . $rowfromsecondtable[1] . "</td>";
echo "<td>" . $rowfromsecondtable[2] . "</td>";
echo "<td>" . $row[5] . "</td>";
echo "<td>" . $row[6] . "</td>";
(使用我上面给出的代码)
dat_eb_registrants预览:
| id | first_name | last_name | email |
------------------------------------------------------------------------
| 1 | Mike | Doe | mikedoe@hotmail.com |
| 2 | John | Smith | j_smith@hotmail.com |
dat_eb_field_values预览:
field 1 = fav.sport
field 2 = fav. color
field 3 = fav. food
| registrant_id | field_id | field_value |
----------------------------------------------------------
| 1 | 1 | tennis |
| 1 | 2 | green |
| 1 | 3 | spagetti |
| 2 | 1 | hockey |
| 2 | 2 | red |
| 2 | 3 | fish |
我需要:
first_name | id | fav.sport | last_name | fav.food |
---------------------------------------------------------------------
Mike | 1 | Tennis | Doe | spagetti |
John | 2 | Hockey | Smith | fish |
【问题讨论】:
-
努力理解这个问题。你能提供一个更具体的例子吗?
-
再一次 :)
mysql-extension 已过时,未维护,将在 PHP5.5 中标记为已弃用。使用PDO_MYSQL或MySQLi。 php.net/en/mysql-connect -
我的意思是,您能否提供更具体的数据架构示例。 听起来好像这在 SQL 中都应该是可能的,可能只是加入你的表并引入一个适当的
ORDER BY子句......但我看到你已经有一个连接和一个ORDER BY你的问题中的子句,所以我很困惑。 -
好的,现在我不能说得更清楚了:)
标签: php mysql arrays html-table row