I'm having a bit of trouble using multiple queries within one php file. The code that I am trying to create would ideally create multiple html drop down menus populated with data from separate tables. My code is as follows:
echo "<form enctype='multipart/form-data' method='post' action='http://www.vgiver.com/uploadpicture1.php' name='Giftgiver'>";
$Wrap= @mysql_query("select Wrap_ID, Picture_Link from tbl_Wrap");
print "<p> Select a Wrapping Paper:
";
print "<Select name=\"Wrap_ID\">
";
while ($row2=mysql_fetch_assoc($Wrap)){
$Wrap_ID=$row2['Wrap_ID'];
$Wrap_Picture =$row2['Picture_Link'];
print "<option value=$Wrap_ID>$Wrap_Picture
";
}
$result= @mysql_query("select Friend_ID, tbl_Friends.Name from tbl_Friends inner join tbl_Users on tbl_Friends.Access_ID=tbl_Users.Access_ID where tbl_Friends.Access_ID = $myuserid");
$Wrap= @mysql_query("select Wrap_ID, Picture_Link from tbl_Wrap");
print "<p> Select a Friend:
";
print "<Select name=\"Friend_ID\">
";
while ($row=mysql_fetch_assoc($result)){
$Friend_ID=$row['Friend_ID'];
$Name =$row['Name'];
print "<option value=$Friend_ID>$Name
";
}
However, as it is now, this code will create a selection box for only one set of data. It does not matter which query I do first, it will either display a drop down menu for a friend's list, or a drop down menu for my wrapping paper, but it will not display both. Any help would be appreciated.
After each of your while loops you need to end the <select>
tag:
print "<select name=\"Wrap_ID\">
";
while ($row2=mysql_fetch_assoc($Wrap)){
$Wrap_ID=$row2['Wrap_ID'];
$Wrap_Picture =$row2['Picture_Link'];
print "<option value=$Wrap_ID>$Wrap_Picture</option>
";
}
print '</select>';
You should also end your <option>
tags properly like in the example above
You forgot to close your select
's and your option
's:
print "<p> Select a Wrapping Paper:
";
print "<Select name=\"Wrap_ID\">
";
while ($row2=mysql_fetch_assoc($Wrap)){
$Wrap_ID=$row2['Wrap_ID'];
$Wrap_Picture =$row2['Picture_Link'];
print "<option value=$Wrap_ID>$Wrap_Picture</option>
";
}
print "</select>"; //<-------add this
EDIT:
Also your paragraph. HTML requires tags to be closed:
<tag>content</tag>
So you would have:
print "<p> Select a Wrapping Paper: </p>
";
instead of:
print "<p> Select a Wrapping Paper:
";
Your full code should be:
echo "<form enctype='multipart/form-data' method='post' action='http://www.vgiver.com/uploadpicture1.php' name='Giftgiver'>";
$Wrap= @mysql_query("select Wrap_ID, Picture_Link from tbl_Wrap");
print "<p> Select a Wrapping Paper:</p>
";
print "<Select name=\"Wrap_ID\">
";
while ($row2=mysql_fetch_assoc($Wrap)){
$Wrap_ID=$row2['Wrap_ID'];
$Wrap_Picture =$row2['Picture_Link'];
print "<option value=$Wrap_ID>$Wrap_Picture</option>
";
}
print "</select>";
$result= @mysql_query("select Friend_ID, tbl_Friends.Name from tbl_Friends inner join tbl_Users on tbl_Friends.Access_ID=tbl_Users.Access_ID where tbl_Friends.Access_ID = $myuserid");
$Wrap= @mysql_query("select Wrap_ID, Picture_Link from tbl_Wrap");
print "<p> Select a Friend: </p>
";
print "<Select name=\"Friend_ID\">
";
while ($row=mysql_fetch_assoc($result)){
$Friend_ID=$row['Friend_ID'];
$Name =$row['Name'];
print "<option value=$Friend_ID>$Name</option>
";
}
print "</select>";
Bonus hints:
Use single quotes instead of double quotes when you don't need to do parsing for variables as it is faster.
Use echo
instead of print
.
You don't close your <selects>
. The second set of data is there, but HTML ignores it. try viewing the source of your file you'll see.
You have forgotten ending <select>
, <p>
, <option>
tag. It should looks like:
<?php
echo "<form enctype='multipart/form-data' method='post' action='http://www.vgiver.com/uploadpicture1.php' name='Giftgiver'>";
$Wrap = @mysql_query("select Wrap_ID, Picture_Link from tbl_Wrap");
print "<p> Select a Wrapping Paper:</p>
";
print "<Select name=\"Wrap_ID\">
";
while($row2 = mysql_fetch_assoc($Wrap)) {
$Wrap_ID = $row2['Wrap_ID'];
$Wrap_Picture = $row2['Picture_Link'];
print "<option value=$Wrap_ID>$Wrap_Picture </option>
";
}
echo '</select>';
$result = @mysql_query("select Friend_ID, tbl_Friends.Name from tbl_Friends inner join tbl_Users on tbl_Friends.Access_ID=tbl_Users.Access_ID where tbl_Friends.Access_ID = $myuserid");
$Wrap = @mysql_query("select Wrap_ID, Picture_Link from tbl_Wrap");
print "<p> Select a Friend: </p>
";
print "<Select name=\"Friend_ID\">
";
while($row = mysql_fetch_assoc($result)) {
$Friend_ID = $row['Friend_ID'];
$Name = $row['Name'];
print "<option value=$Friend_ID>$Name </option>
";
}
echo '</select>';