![]() |
|
Welcome to the Computer Webmaster Gaming Console Graphics Forum forums. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
| |||||||
| Database Database problems or need to ask a question? maybe something to do with sql injections or a database software question. Database topics cover MySQL, PostgreSQL, Oracle, SQL Server or anything else related to databases. |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 | ||
| 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>"; 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 "</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? | |||
|
| Advertisements |
| | #2 | ||
| 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>"; > 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 "</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? Not completely sure what you want exactly, but there are some weird constructs in both cases. You create a complete table for each db row it seems. The table tages should be outside the loop I suppose. It is no surprise in the second example you get the same data in both columns, since that is what you ordered. If what you aim for is a table looking like this: ID <ID value for row x> name <name value for row x> [etc] ID <ID value for row y> name <name value for row y> [etc] then replace all the <td> </td> contents of the first column with appropriate contents. Sh. -- Sigh. I like to think it's just the Linux people who want to be on the "leading edge" so bad they walk right off the precipice. (Craig E. Groeschel) | |||
|
| | #3 | ||
| 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 " "; } > 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 | |||
|
| Featured Websites | ||||
|
![]() |
| Tags: multicolumn, mysql_fetch_array, printing, results, table |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to take data out of table, restructure the table and then put the data back in | Laphan | Database | 4 | 07-01-2007 6:24 PM |
| mysql_fetch_array from multiple tables? | Dieter Kedrowitsch | PHP | 1 | 07-01-2007 5:04 PM |
| Delete from a table using entries in temp table | n00bie | Database | 2 | 06-10-2007 12:25 AM |
| Joining many results from one table with one result from another in one query | Piotr Chmielewski | Database | 0 | 06-10-2007 12:20 AM |
| Top Search Results | Dicky.Links18@gmail.com | Website Reviews And Website Questions | 0 | 05-28-2007 12:42 AM |
| Featured Websites | ||||
|