php - 组织州和城市并以某种方式显示 PHP

标签 php mysql sql html-table

我有这段代码,应该显示 $fstate,然后在它下面显示所有 $fcity。它显示 $fcity 3 次,然后创建一个新列。我的问题是我可以显示州和城市,但无法在适当的州下显示城市。现在它显示所有州,然后显示其下的城市。这是代码:

<?php
$fquery = "SELECT state, city, count(city) as num FROM needs WHERE country='$usercountry' AND status='posted' GROUP BY state, city ORDER BY state, city";
if ($result = mysql_query($fquery)) {
    $num_rows = mysql_num_rows($result);

    echo "<table>";
    $i = 1;
    $cols = 3;
$prev = "";

    while ($frows = mysql_fetch_array($result)) {
        $fcity = $frows['city'];
        $fstate = $frows['state'];
        $fcitycount = $frows['num'];  // num is holding your count by city

if ($fstate != $prev) {
echo "<tr>$fstate</tr><tr>";
$prev="$fstate";
}

        echo "<td><a href='node/browseresults.php?city=$fcity&state=$fstate'>$fcity, $fstate ($fcitycount)</a> </td>";
echo ($i < $num_rows) ? ((($i % $cols) == 0) ? '</tr>' : '') : '';
        $i++;
    }
    echo "</table>";
}

?>

这就是我现在得到的(示例):

ARMOSCTNTX

Brookland, AR (1)   Fayetteville , AR (2)   Harrisburg, AR (2)
Hot Springs, AR (1) Jonesboro, AR (1)   Searcy, AR (2)
St Louis, MO (3)
murrells inlet, SC (1)  Myrtle Beach, SC (1)
Memphis, TN (1)
Arlington, TX (1)

但我需要它看起来像这样:

AR
Brookland, AR (1)   Fayetteville , AR (2)   Harrisburg, AR (2)
Hot Springs, AR (1) Jonesboro, AR (1)   Searcy, AR (2)

MO
St Louis, MO (3)

SC
murrells inlet, SC (1)  Myrtle Beach, SC (1)

TN
Memphis, TN (1)

TX
Arlington, TX (1)

最佳答案

if ($fstate != $prev) {
echo "<tr>$fstate</tr><tr>";

您生成的表格格式错误。如果您的表格内容不在 <td> 内或<th>标签,当它被渲染时,它们出现在错误的位置。试试这个:

if ($fstate != $prev) {
echo "<tr><th>$fstate</th></tr><tr>";

关于php - 组织州和城市并以某种方式显示 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17109868/

相关文章:

c# - 带有 Entity Framework 的 MySql 连接器 : Comparing Char(36) GUIDs in a LINQ Where clause

sql - 由于 ORDER BY 未使用索引导致 SQL 查询缓慢

mysql - 在查询中重用计算

php - 生成PDF文件后如何清除内容?

php - 在 Laravel 中使用 ajax 删除

php - Zend Framework MVC 重定向到不同的 Controller 和操作

mysql - 基于来自另一个字段的 LIKE 构建 MySQL 表

javascript - Fuelphp 路线到 Angular 路线

mySQL 索引参数和限制

java - HIbernate-MySQL5Dialect 想要删除外键而不是索引