You are here: Re: Printing mysql_fetch_array results in multicolumn table « PHP Programming Language « IT news, forums, messages
Re: Printing mysql_fetch_array results in multicolumn table

Posted by Peter H. Coffin on 11/01/92 11:46

On Mon, 01 May 2006 11:19:39 -0400, JackM wrote:
> I'm not sure if this qualifies as a mysql or a php question so I'm
> asking in both groups.
>
> I am pulling the results of a mysql query from my database and want to
> print the results into a two column table. I know how to get the results
> into a single column table just fine using:
>
> while($row = mysql_fetch_array($result)) {
> print "<table border=2><tr><th>" . $row[name];
> print "<tr><td>";
> print mysql_field_name($result, 0) . ": " . $row[ID]."<br>";
> print mysql_field_name($result, 1) . ": " . $row[name]."<br>";
> print mysql_field_name($result, 2) . ": " . $row[address]."<br>";
> print mysql_field_name($result, 3) . ": " . $row[city]."<br>";
> print mysql_field_name($result, 4) . ": " . $row[telephone]."<br>";
> print "</td></tr>";
> print "</table>\n";
> print "<br><br>";
> }
>
> and it works fine. But my efforts to get the reults into a two column
> setup have become frustrating. My latest attempt was:
>
> while($row = mysql_fetch_array($result)) {
> print "<table border=2 width='90%'>";
> print "<tr>";
> print "<td>";
> print "<b>" . $row[name] . "</b><br>";
> print mysql_field_name($result, 0) . ": " . $row[ID]."<br>";
> print mysql_field_name($result, 1) . ": " . $row[name]."<br>";
> print mysql_field_name($result, 2) . ": " . $row[address]."<br>";
> print mysql_field_name($result, 3) . ": " . $row[city]."<br>";
> print mysql_field_name($result, 4) . ": " . $row[telephone]."<br>";
> print "</td>";
> print "<td>";
if ($row = mysql_fetch_array($result)) {
> print mysql_field_name($result, 0) . ": " . $row[ID]."<br>";
> print mysql_field_name($result, 1) . ": " . $row[name]."<br>";
> print mysql_field_name($result, 2) . ": " . $row[address]."<br>";
> print mysql_field_name($result, 3) . ": " . $row[city]."<br>";
> print mysql_field_name($result, 4) . ": " . $row[telephone]."<br>";
} else {
print "&nbsp;";
}
> print "</td>";
> print "</tr>";
> print "</table>\n";
> print "<br><br>";
> }
>
> This puts the same data from a single result in both <td> fields though.
> I want it to put data from the first result in the left <td> and data
> from the second result in the right side and continue on from there
> until the end.
>
> What am I overlooking on this to make it work as I need it to?

You need to fetch a new row from your results (and handle the condition
of there being no more results properly), as indicated above.

--
79. If my doomsday device happens to come with a reverse switch, as soon as it
has been employed it will be melted down and made into limited-edition
commemorative coins.
--Peter Anspach's list of things to do as an Evil Overlord

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация