0

我对推入 HTML 表的 MySQL 表有一个小问题。

这是我在数据库上的 SELECT:

 $result = mysql_query("

SELECT dat_eb_registrants.id, dat_eb_registrants.first_name, dat_eb_registrants.last_name, dat_eb_registrants.email, dat_eb_registrants.comment, dat_eb_registrants.amount, dat_eb_registrants.published, dat_eb_registrants.transaction_id, dat_eb_registrants.register_date, GROUP_CONCAT(dat_eb_field_values.field_value SEPARATOR '</td><td>') 
FROM dat_eb_registrants LEFT JOIN dat_eb_field_values ON dat_eb_registrants.id=dat_eb_field_values.registrant_id
WHERE `event_id` >= 20 AND `event_id` <= 25
GROUP BY dat_eb_registrants.id
ORDER BY $sort $ascdsc

");

使用以下命令将其推送到我的 HTML 表中:

while ($row = mysql_fetch_row($result)) {
echo "<tr>";
echo "<td>" . $row[9] . "</td>";
echo "<td>";

现在,我的问题是这样一个事实,即这会在我的表中填充几行 from dat_eb_field_values.field_value,并且在这些结果之间我无法获得其他行($row[0] 到 $row[8])。

例如,如果我的 $values 来自dat_eb_field_values.field_value并且我的 $data 来自dat_eb_registants. 这将是我的桌子:

| header 1 | header 2 | header 3 | header 4 | header 5 | header 6 |
-------------------------------------------------------------------
| $value1  | $value2  | $data3   | $value4  | $data1   | $data2   |
| $value1  | $value2  | $data3   | $value4  | $data1   | $data2   |
| $value1  | $value2  | $data3   | $value4  | $data1   | $data2   |

提前致谢!洛朗

4

3 回答 3

0

而不是mysql_fetch_row使用mysql_fetch_array

ORDER BY $sort $ascdsc将其更改为

 ORDER BY '".$sort."', '".$ascdsc."'

示例:通过使用mysql_fetch_array尝试回显此

  echo $row['dat_eb_registrants.id'] ;

你的sql很难读

用这个

   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."'

但是您已经在这里接受了答案!

于 2013-01-03T17:20:57.463 回答
0

而不是回显$row[9]将其放入数组中的数据,然后在您认为有必要时将其吐出(并且在您检查了其他元素之后)

例如改变这个:

while ($row = mysql_fetch_row($result)) {
echo "<tr>";
echo "<td>" . $row[9] . "</td>";
echo "<td>";

对此:

while ($row = mysql_fetch_row($result)) {
$myArray[] ="<tr><td>" . $row[9] . "</td>""<td>";
于 2013-01-03T17:19:10.393 回答
0
while ($row = mysql_fetch_row($result)) {
    echo "<tr>";
    foreach($row AS $val)
        echo "<td>" . $val . "</td>";
    echo "<td>";
}

那应该做

于 2013-01-03T17:22:26.133 回答