• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 989
  • Last Modified:

PHP Multi-Column output needed

At the moment I get a result set of 50 in a single column:

business 1
business 2
business 3

...
business 50

But I would prefer to show the output in 2 columns:

business 1    bussiness 2
business 3    business 4
 ...

How can this be done?

This is the code for the output from MySQL DB I'm using at the moment:

      <table style="width:339px; style="line-height:20px;">
            <?php

            $result = mysql_query("SELECT bizID,bizName,bizAddr,bizCity,bizState,bizZip,bizPhone FROM biz_cars WHERE bizState='$bizState' AND bizCity='$bizCity' AND bizLive='1' GROUP BY bizName LIMIT $offset,50");
            while($r=mysql_fetch_array($result))
            {
                  $bizID = $r['bizID'];
                  $bizName = $r['bizName'];
                  $bizAddr = $r['bizAddr'];
                  $bizZip = $r['bizZip'];
                  $bizPhone = $r['bizPhone'];

                  $bizNameLink = replaceForText($bizName);

                  echo '<tr><td><span class="bigger-text">' . $bizNameLink . '
                  <br />
                      <a href="'. $urlPrefix . 'profile/' . $bizID . '.html">'.$bizAddr. '</a><br> '.$bizCity.', '.$bizState.' '.$bizZip.' <br>
                  '.  $bizPhone.'<br>
                  
            
                  </tr></td></span>';

            }
            ?>
            </table>
0
seopti
Asked:
seopti
1 Solution
 
babuno5Commented:
try the following code
$i=0;
 while($r=mysql_fetch_array($result))
{
	$bizID = $r['bizID'];
	$bizName = $r['bizName'];
	$bizAddr = $r['bizAddr'];
	$bizZip = $r['bizZip'];
	$bizPhone = $r['bizPhone'];
 
	$bizNameLink = replaceForText($bizName);
	if($i%2 == 0)
	{
		echo '<tr>';
	}
	echo '<td><span class="bigger-text">' . $bizNameLink . '
	<br />
	  <a href="'. $urlPrefix . 'profile/' . $bizID . '.html">'.$bizAddr. '</a><br> '.$bizCity.', '.$bizState.' '.$bizZip.' <br>
	'.  $bizPhone.'<br>
 
 
	</td>';
		
	if($i%2 == 0)
	{
		echo '</tr>';
	}
	++$i;
}

Open in new window

0
 
gamebitsCommented:
0
 
seoptiAuthor Commented:
babuno5: Thanks for the code, but it did nothing. Nothing has changed using the code.

gamebits: Your code looks good but I can't get it to work with my current snippet which you see above. I am not sure how to merge these 2 snippets together.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
babuno5Commented:
i m not sure why it did not work can show the part of the code with the changes i mentioned
or else some demo where i can see it
0
 
nizsmoDeveloperCommented:
Try this, and let me know if it works.
<table style="width:339px; style="line-height:20px;">
            <?php
			$counter=0;
            $result = mysql_query("SELECT bizID,bizName,bizAddr,bizCity,bizState,bizZip,bizPhone FROM biz_cars WHERE bizState='$bizState' AND bizCity='$bizCity' AND bizLive='1' GROUP BY bizName LIMIT $offset,50");
            while($r=mysql_fetch_array($result))
            {
                  $bizID = $r['bizID'];
                  $bizName = $r['bizName'];
                  $bizAddr = $r['bizAddr'];
                  $bizZip = $r['bizZip'];
                  $bizPhone = $r['bizPhone'];
 
                  $bizNameLink = replaceForText($bizName);
                  
                  if($counter==0)
                  {
				  	echo "<tr>";
                  }
                  echo '<td><span class="bigger-text">' . $bizNameLink . '
                  <br />
                      <a href="'. $urlPrefix . 'profile/' . $bizID . '.html">'.$bizAddr. '</a><br> '.$bizCity.', '.$bizState.' '.$bizZip.' <br>
                  '.  $bizPhone.'<br>
                  </span></td>';
                  
                  if($counter==1)
                  {
                  	echo "</tr>";
                  	$counter = 0;
                  	continue;
                  }
				  $counter++;
            }
            ?>
</table>

Open in new window

0
 
dttriCommented:
Hi,
I don't think this is a valid SQL statement:

"SELECT bizID,bizName,bizAddr,bizCity,bizState,bizZip,bizPhone FROM biz_cars WHERE bizState='$bizState' AND bizCity='$bizCity' AND bizLive='1' GROUP BY bizName LIMIT $offset,50"

Because when you use "GROUP BY bizName" then all fields in the SELECT (except bizName) must be in aggregate function.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now