esiason14 Posted July 21, 2006 Share Posted July 21, 2006 I'm trying to pass the player_id as a variable from a drop-down submit form to another page for use in a query. Here is the code for the form:[code]$query = mysql_query("SELECT fname, lname, player_id FROM players ORDER by lname ASC");?><form action=test.php method=POST> <input type="hidden" name="<php echo $player_id ?>" value="<php echo $player_id ?>"> <select name=players><?phpwhile ($r = mysql_fetch_array($query)){$fname = $r["fname"];$lname = $r["lname"];$player_id = $r["player_id"];echo "<option value=$player_id>$fname $lname</option>";}echo "</select>";?><input type="submit" name="<php echo $player_id ?>" value="Plot Player" /><input type="reset"></form>[/code]and the partial code for the output page:[code]$players = $_POST;if (isset($players)){ $SQL = "SELECT * from playerstats ps, players p WHERE ps.player_id='$players' and p.player_id=ps.player_id and ps.year=2005"; $RESULT = mysql_query($SQL); if ($myrow=$RESULT) { do { $labels = $myrow["week"]; //$data2[] = (($row['pass_yd'] * 0.034) + ($row['pass_td'] * 6) + ($row['twopt'] * 2) + ($row['int'] * -2) + ($row['fmbl_lost'] * -2) + ($row['rush_yd'] * 0.067) + ($row['rush_td'] * 6)); $datawk[] = $myrow["week"]; $data[] = $myrow["pass_yd"]; $data2[] = $myrow["pass_td"]; $lastname = $myrow["lname"]; $firstname = $myrow["fname"]; $data_names[] = $myrow["lname"]."(".$myrow["player_id"].")"; } while ($myrow=$RESULT); }[/code]Im trying to pass the variable for use in my graphing application. For some reason I can get it to work..See anything that may help me get it working? Quote Link to comment https://forums.phpfreaks.com/topic/15219-passing-variables-via-form-to-query/ Share on other sites More sharing options...
hvle Posted July 21, 2006 Share Posted July 21, 2006 $players = $_POST['players']; Quote Link to comment https://forums.phpfreaks.com/topic/15219-passing-variables-via-form-to-query/#findComment-61512 Share on other sites More sharing options...
manichean Posted July 21, 2006 Share Posted July 21, 2006 Hello esiason14,What I can do is list some code fixes that I think will solve your prob, its little coding mistakes. Im not too sure about the SQL statement on the output page. Anyway here is what I think,THE POSTING PAGE[code]$query = mysql_query("SELECT fname, lname, player_id FROM players ORDER by lname ASC");?><form action="test.php" method="POST"> <!-- Encapsulate = with "" _ codeing standards --><?phpwhile ($r = mysql_fetch_array($query)){$fname = $r["fname"];$lname = $r["lname"];$player_id = $r["player_id"];echo "<option value=\"$player_id\">$fname $lname</option>"; /* encapsulate the value= with "" */}echo "</select>";?><input type="submit" name="cmdPlotPlayer" value="Plot Player" /> <!-- dont need to pass player ID for buttons name you have it from the select box box --><input type="reset"></form>[/code]THE OUTPUT PAGE:[code]$SQL = "SELECT * from playerstats ps, players p WHERE ps.player_id='$players' and p.player_id=ps.player_id and ps.year=2005"; should be$SQL = "SELECT * from playerstats ps, players p WHERE ps.player_id='".$players['players']."'". " and p.player_id=ps.player_id and ps.year='2005'"; /* If you do not understand why its $players['players'] then do a print_r($players) on your output page and then you will, also echo out the SQL statement to make sure it looks correct thats what I do and it always helps on complex queries */[/code]Right thats all I can suggest for now let me know how things turn out, I have also included the modified versions of your pages, the ones I ran testing on without the database connections. Cause I dont have the tablesMy Form Page :[b]esiason14_21stJuly2006_form.php[/b][code]<form action="esiason14_21stJuly2006_post.php" method="POST"> <select name="players"><?phpfor ($i=0; $i < 4; $i++){$fname = "first".$i;$lname = "last".$i;$player_id = "playerId".$i;echo "<option value=\"$player_id\">$fname $lname</option>";}echo "</select>";?><input type="submit" name="<?php echo $player_id ?>" value="Plot Player" /><input type="reset"></form>[/code]My Output Page:[b]esiason14_21stJuly2006_post.php[/b][code]<?php$players = $_POST;if (isset($players)){ $SQL = "SELECT * from playerstats ps, players p WHERE ps.player_id='".$players['players']."'". " and p.player_id=ps.player_id and ps.year='2005'"; print_r($SQL); echo "<br />"; print_r($players);}?>[/code]Hope this all makes sense and will bring you to enlightenment ;) Cheers Quote Link to comment https://forums.phpfreaks.com/topic/15219-passing-variables-via-form-to-query/#findComment-61516 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.