Re: Inner Join or 2nd Query...?
| From: | Mark Sargent | Date: | Thu, 12 May 2005 07:00:20 +0000 |
| Subject: | Re: Inner Join or 2nd Query...? | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-215020@lists.php.net to get a copy of this message | ||
Richard Lynch wrote:
On Wed, May 11, 2005 10:19 pm, Mark Sargent said:I'll try this differently(I hope). With the below code, variables are named/set twice ($db, $num, $result, $myrow) etc. In ASP, from what I remember, that would be a no no. Currently, this code only populates theI don't think ASP would issue an error if you re-used a variable... In fact, I can almost guarantee I re-used variables all the time in ASP. There might have been some kind of Programming Guidelines where you worked that said not to do that, though... Yep, I didn't make any sense there.
1st select box. Coupla Qs. Do I have to connect to the db again, in the second block of code..? Should the variables in the 2nd block of code, be named differently to the 1st block.? In ASP the query variables would be named uniquely, identifying to each query like so, prod_query_num, prod_query_result and so forth. I must admit, my recollection of ASP is very vague. Anyway, I hope this explains what I'm looking to understand. Cheers. Mark Sargent. <html> <body> <hr> <h1 align=center>JUMBO STATUS</h1><p> <center>Used Hardware Specialist</center> <hr> <h2 align=center>Admin</h2> <table align="center" border="2"> <tr> <td><h3 align=center>PRODUCT TYPE</h3></td> </tr> <tr><td><center> <select name="poduct_type"> <?php$db = mysql_connect("localhost", "root", "grunger"); mysql_select_db("status",$db); $result = mysql_query("SELECT ProductTypes.product_type_detail, ProductTypes.product_type_id FROM ProductTypes",$db); $num = mysql_num_rows($result);I would move all of this stuff OUTSIDE the <select> because after you add your error messages, you'll never see them if they are inside the <select>. Ok, I'll do just that.
for ($i=0; $i<$num; $i++){ $myrow=mysql_fetch_array($result); $product_type=mysql_result($result,$i,"product_type_detail"); $product_type_id=mysql_result($result,$i,"product_type_id"); $maker=mysql_result($result,$i,"maker_detail"); $maker_id=mysql_result($result,$i,"maker_id"); echo "<option value=\"$product_type_id\">$product_type</option><br>";You are not using maker, nor maker_id, so why put them in the query, and why get them from your result set? Ah, forgot to remove them b4 posting, as they were there when I was doing only 1 query.
} ?> </select> </center> </td></tr> </table> <table align="center" border="2"> <tr> <td><h3 align=center>Maker</h3></td> </tr> <tr><td><center> <select name="slect_maker"> <?php $db = mysql_connect("localhost", "root", "grunger");Don't connect to the database twice. That's the most expensive (time-wise) thing in your whole script, probably. Just the answer I wanted. thanx.
mysql_select_db("status",$db);And you don't need this either. yep, that's obvious, now that I know you don't need the db connection a 2nd time too
$result = mysql_query("SELECT Makers.maker_id Makers.maker_detail FROM Makers",$db); $num = mysql_num_rows($result);Again, move these outside the <select> Will do.
Mark Sargent.for ($i=0; $i<$num; $i++){ $myrow=mysql_fetch_array($result); $maker=mysql_result($result,$i,"maker_detail"); $maker_id=mysql_result($result,$i,"maker_id"); echo "<option value=\"$maker_id\">$maker</option><br>"; } ?> </select> </center> </td></tr> </table> <p> <p> <p> <hr><center>email: ???????????<p> Telephone:????????<p> Fax: ????????? </center> <hr> </body> </html>But, you dind't comment on the 2nd query. Cheers.