?
Solved

Making a line break, MySQL and PHP

Posted on 2013-01-27
8
Medium Priority
?
520 Views
Last Modified: 2013-01-27
I am running a query in MySQL and PHP.  THe query worrked until I needed to put Name and Address on two different lines, can't seem to find out how it works.  Here is the code.

$i=0;
while ($i < $num) {
$f1=mysql_result($result,$i,"RestName<br/>Address");
$f2=mysql_result($result,$i,"Phone");
$f3=mysql_result($result,$i,"Price");
$f4=mysql_result($result,$i,"Rating");

Also if it matters address is the result of  a CONCAT.

Open in new window

0
Comment
Question by:DS928
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
8 Comments
 
LVL 16

Expert Comment

by:kmslogic
ID: 38825447
the mysql_result() function is expecting a column name--so Name and Address should be two separate columns in your query and then in your processing to output them you should worry about putting them on two separate lines.

If you show the code above this section that does your query I can give some more specifics.
0
 

Author Comment

by:DS928
ID: 38825451
Thank you.  This is the query.

$query="SELECT tblLocations.CityID, tblLocations.AreaID, tblLocations.CuisineID, tblRestaurants.RestName, 			 	
		CONCAT(tblLocations.StreetNumber,' ', tblLocations.Street) Address,
		tblLocations.Phone, tblDetails.Price,tblDetails.Ratings
		FROM tblRestaurants
		INNER JOIN tblLocations ON tblRestaurants.RestID = tblLocations.RestID
		INNER JOIN tblDetails ON tblLocations.RestID = tblDetails.RestID AND tblLocations.LocationID = 	tblDetails.LocationID
		WHERE tblLocations.CityID='$Doggie'
		AND tblLocations.AreaID='$Kitty'
		AND tblLocations.CuisineID='$Pig'
		ORDER BY tblRestaurants.RestName ASC";

Open in new window

0
 
LVL 16

Expert Comment

by:kmslogic
ID: 38825465
Ok, so in this section it should look something like this:

$i=0;
while ($i < $num) {
$f1=mysql_result($result,$i,"RestName");
$f2=mysql_result($result,$i,"Address");
$f3=mysql_result($result,$i,"Phone");
$f4=mysql_result($result,$i,"Price");
$f5=mysql_result($result,$i,"Rating");

Open in new window


And then you should handle showing $f1 and $f2 on separate lines in your output code (if you show me your output echo statements I can give you some idea there too).

Also, if this address query is working then you can ignore this but I normally see this line of your query like this:

CONCAT(tblLocations.StreetNumber,' ', tblLocations.Street) AS Address

Open in new window


(note the AS)
0
Get MySQL database support online, now!

At Percona’s web store you can order your MySQL database support needs in minutes. No hassles, no fuss, just pick and click. Pay online with a credit card.

 

Author Comment

by:DS928
ID: 38825468
Here is the output.
<tr>
      <td bgcolor="#FFDAA6">&nbsp;</td>
      <td width="325"><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
      <td width="150"><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
      <td width="100"><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
      <td width="100"><font face="Arial, Helvetica, sans-serif"><?php echo $f4; ?></font></td>
    </tr>

Open in new window


Its should print like this.

Name
Address

Not like this..
Name     Address
0
 
LVL 16

Accepted Solution

by:
kmslogic earned 2000 total points
ID: 38825481
Ok, so assuming you want the name and address to appear in the first cell of the table on separate lines:

<tr>
	<td bgcolor="#FFDAA6">&nbsp;</td>
	<td width="325"><font face="Arial, Helvetica, sans-serif"><?php echo $f1 . "<br />" . $f2; ?></font></td>
	<td width="150"><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
	<td width="100"><font face="Arial, Helvetica, sans-serif"><?php echo $f4; ?></font></td>
	<td width="100"><font face="Arial, Helvetica, sans-serif"><?php echo $f5; ?></font></td>
</tr>

Open in new window

0
 

Author Comment

by:DS928
ID: 38825488
OK, thank you. the errors are finally gone, but I am not receiving an output anymore.

<td width="325"><font face="Arial, Helvetica, sans-serif"><?php echo $f1 . "<br />" . $f2; ?></font></td>

Open in new window


HOK I rem out the output line for Name Address and I get these two errors.....I assume the second is because of the first.

Warning: mysql_result() [function.mysql-result]: RestName<br/>Address not found in MySQL result index 3 in /home/content/d/s/t/dstr3/html/MENUHEAD/Steelers/result_city.php on line 173
 
Warning: mysql_result() [function.mysql-result]: Rating not found in MySQL result index 3 in /home/content/d/s/t/dstr3/html/MENUHEAD/Steelers/result_city.php on line 176
0
 

Author Comment

by:DS928
ID: 38825506
Murphy's Law.  It's working!  Thank you for your help!
0
 

Author Closing Comment

by:DS928
ID: 38825507
Helped me out of that tricky syntax!
0

Featured Post

Technology Partners: 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!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
There are times when I have encountered the need to decompress a response from a PHP request. This is how it's done, but you must have control of the request and you can set the Accept-Encoding header.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to count occurrences of each item in an array.
Suggested Courses

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question