Please help... I need to figure out how to count the number of cities ($city) and then display them EQUALLY in a table with 3 columns. So for example, if there is 10 $city in $county, display it in a table with 4 cities in column1, 3 cities in column2, 3 cities in column3. ** note: the $city count will vary depending on the $county <?php include 'config.php'; include 'opendb.php'; $query = "SELECT city FROM table WHERE abbr='$abbr' AND county='$county' GROUP BY city"; $result = mysql_query($query); while(list($city)= mysql_fetch_row($result)) { echo "<a href=\"/city/$state-$city.html\">$city</a><br />"; } include 'closedb.php'; ?> PHP:
I figured it out... so if anyone else wants to know here is what I did: <?php include 'config.php'; include 'opendb.php'; $query = "SELECT city FROM table WHERE abbr='$abbr' AND countyurl='$countyurl' GROUP BY city"; $result = mysql_query($query); echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n"; $count = 0; $columns = 3; //column number declaration if(mysql_num_rows($result)) { while($myrow = mysql_fetch_array($result)) { // display list if there are records to display if($count == 0) echo "<tr>\n"; printf("<td><a href=\"/city/$state-%s%s.html\">%s %s</a></td>\n", $php_SELF, $myrow["city"], $myrow["city"], $myrow[""]); if($count == $columns - 1) echo "</tr>\n";//here without the! $count = ++$count % $columns; } if($count!= 0) echo "</tr>\n"; echo "</table>\n"; } else { // no records to display echo "Sorry, no records were found!"; } include 'closedb.php'; ?> PHP:
i'm usually doing this way $res = mysql_query('[your query]'); $i=0; while ($line = mysql_fetch_array($res)){ if ($i%3==0) print("<tr>"); print("<td>yourdata</td>"); if ($i%3==2) print("</tr>"); $i++; } PHP: of course its just a sketch but it shows you the basic idea