提交增量变量以更新mysql查询

时间:2015-02-09 21:03:07

标签: php mysql

我是PHP的新手(已经爱上了它) 我有一个表格可以查找一张发送高尔夫球洞的表格。返回信息并允许高尔夫球手输入他们的洞的得分。我遇到的问题是,我可以通过查找hole_detail表来呈现第一个洞,但是当提交表单时,无法弄清楚如何通过表格在第2,3和18洞中循环。我已经搜索了stackoverflow,但无法找到任何具体的信息。我尝试了一个if语句,if(isset($ _ POST [' Submit']))尝试增加$ hole_id。我完全是以错误的方式去做吗?提前谢谢。

<?php
include ('../scripts/dbconfig.php');
# get the most recent course name:
$get_course_name = mysql_query("SELECT course_name FROM comp ORDER BY PID DESC LIMIT 1");
$show_course_name = mysql_fetch_array($get_course_name);

if (isset($_POST['Submit'])) {
$hole_id =1;
else {
$hole_id = $hole_id + 1;
}
}

# get the hole yardage and SI from most recent selected golf course:
$get_course_detail = mysql_query("SELECT * FROM `course_detail` WHERE course_name = '". $show_course_name['course_name'] . "'");
$show_course_detail = mysql_fetch_array($get_course_detail);
$get_hole_detail = mysql_query("SELECT * FROM `course_detail`,`phoenix_hole` WHERE Course_ID = 6 AND hole_id = $hole_id");
$show_hole_detail = mysql_fetch_array($get_hole_detail);


?>
</head>
<body>
<table width="300" cellspacing="0" cellpadding="0">
<tr>
    <td width="40"><?php echo $show_course_name['course_name'];?></td>
</tr>
<tr>
    <td width="20">HOLE <?php echo $show_hole_detail['hole_id']?></td>
    <td width="5"> PAR <?php echo $show_hole_detail['hole_par'];?></td>
</tr>
<tr>
    <td width="20">Yards</td>
    <td width="20">S.I</td>
</tr>
<tr>
    <td bgcolor="yellow"><?php echo $show_hole_detail['yellow_yards'];?></td>
    <td><?php echo $show_hole_detail['hole_si'];?></td>
</tr>
<tr>
    <td border="1px" bgcolor="white"><?php echo $show_hole_detail['white_yards'];?></td>
    <td><?php echo $show_hole_detail['hole_si'];?></td>
</tr>
<tr>
    <td bgcolor="red"><?php echo $show_hole_detail['red_yards'];?></td>
    <td><?php echo $show_hole_detail['hole_si'];?></td>
</tr>
</table>

</p>
<form id="game_form" name="game_form" method="post" action="game_form.php">
  <table width="300" border="0" align="left" cellpadding="2" cellspacing="0">
    <tr>
      <td><b>Hole Shots</b></td>
      <td><input name="hole_shots" type="text" class="textfield" id="hole_shots" maxlength="2" size="3" ></td>
      <td><b>Putts</b></td>
      <td><input name="putts" type="text" class="textfield" id="putts" maxlength="2" size="3"></td>
    </tr>
     <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Next Hole" align="center" /></td>
    </tr>
  </table>
</form>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

$hole_id,在此方案中,始终1,因为当用户点击Submit按钮时,$_POST['Submit']将始终拥有一个值。您应该做的是让$_POST['Submit']包含$hole + 1的值。 PHP不会记得&#34;记住&#34; $hole_id最后一次是什么;它取决于你提醒它。一旦请求被发送到浏览器 - 除非您正在使用会话 - PHP会忘记该请求的所有内容(HTTP是&#34;无状态&#34;)。

<?php
if (isset($_POST['Submit'])) {
    $hole_id = (int)$_POST['Submit'];
} else {
    $hole_id = 1;
}

# other code here

?>
You are on hole #<?php echo $hole_id; ?>.
<form>
    <!-- form stuff here -->
    <button type="submit" name="Submit" value="<?php echo $hole_id + 1; ?>">Next hole</button>
</form>

答案 1 :(得分:0)

或者你可以使用隐藏字段来保存孔号,你可以从php增加它。