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? 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']; 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 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
Archived
This topic is now archived and is closed to further replies.