Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 211
  • Last Modified:

Why do these values not display the same way every time?

The page in question is https://www.countryshowdown.com/new_map.php. When you pass your mouse over Nevada, you'll get a list of four radio stations. The problem is the way in which they're displayed. Instead of there being another station displayed to the right of KJRC, there's a blank cell. Now hover over Oklahoma. Perfect! No empty cells. Why do I have an empty cell over Nevada? You see the same thing in North Carolina.

I've gone out to the database and there's nothing obvious there, as far as a flaw in the data. There's just something about the way those two queries are running where I'm getting a cell and then a </tr></tr>.

Here's my code:

$allie = "select station_name from dbo_radio_stations where state_id='$bruce_row[state_id]'";
	$allie_query=mysqli_query($cxn, $allie);
		if(!$allie_query)
		{
		$whatever=mysqli_errno($cxn).': '.mysqli_error($cxn);
		die($whatever);
		$count++; // increment count
		}
		?>
<table style='width:100px; border-spacing: 1px; border-collapse: separate;'><tr>
<?php while($allie_row=mysqli_fetch_assoc($allie_query))
{
$count++; // increment count
extract($allie_row);
?>
<td class='station'><?php echo stripslashes($allie_row['station_name']);?></td><?php
	if ($count % $maxcols == 0)
	 { // if modulus of count is = 0 then end row
	echo "</tr><tr>"; 
	 }
}
if ($count)
	{ // data exists
	 $fill = ($count % $maxcols); // current column
	if ($fill){ // if not last column already fill in blank columns
	for ($i = $fill; $i <= ($maxcols -1); $i++){
	echo "<td>&nbsp;</td>";
	}
	echo "</tr>";
	 }
	 echo "</table>";
	}
?>

Open in new window


What am I missing?
0
brucegust
Asked:
brucegust
  • 4
  • 3
1 Solution
 
GaryCommented:
This is your code
<tr><td class='station'>KRJC</td></tr><tr><td class='station'>KOWA</td><td class='station'>KIXW/KIXF</td></tr><tr>

KRJC is on its own row then you start a new row with KOWA
0
 
GaryCommented:
What is the value of maxcols
0
 
brucegustPHP DeveloperAuthor Commented:
Yo, Gary! The value of my maxcols is 2. The code that you refer to above is correct with the exception that it should be:

<tr><td class='station'>KRJC</td><td class='station'>KOWA</td><td class='station'>KIXW/KIXF</td></tr><tr>

...in other words, two columns and then a new row. In some instances, I'm getting a new row after only one cell / column and I can't figure out why.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
GaryCommented:
Is your counter starting at 0

Not really sure
Add an echo
echo $count."-".$maxcols;
if ($count % $maxcols == 0)
0
 
brucegustPHP DeveloperAuthor Commented:
It is. But you made me just think of something. The $count is is defined at the top of the page. Is it possible that after each iteration of the code, I need to reset the count? I'm smelling there, Gary, what do you think?
0
 
GaryCommented:
Me thinks you've hit the nail on the head - the echo would show the counter is not what it should be.
0
 
brucegustPHP DeveloperAuthor Commented:
That did it!

Thank you, sir!
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

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