0

$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)
4

1 に答える 1