如何在按下的按钮上输入switch语句

时间:2014-04-11 12:57:24

标签: php sql

我正在建立一个单一任务的游戏,用户对计算机问题回答是或否,计算机将猜测该动物。它使用自引用数据库作为后端,并在php中编码。

我认为最好的方法是创建一个名为$ currentnode的变量来跟踪游戏在当前问题方面的位置,并用它来决定下一个问题。

我试图在这上面使用一个switch语句,该语句应该由yes或no按钮触发。该开关应该使用currentnode并将其与case匹配并更新where子句并运行查询以选择来自数据库的正确问题。 我已经开始在yes按钮上使用Isset并为所有yes答案构建一个开关,但是当按下yes按钮时,我无法触发switch语句。

我的目标是按下是或否按下每个按钮,应输入一个switch语句,currrentnode与添加到查询中的相应where子句匹配并运行。

非常感谢任何帮助。

$query = "SELECT `message`, `nodeID` FROM `creature`";//basic query that will be used     at all times
$where = "";//empty where clause, will be altered 
$currentnode;//used to store current state



//function created to be re used after an answer is given
function output($query,$where,$dbconn){
$result = mysqli_query($dbconn, $query.$where);
while($row = mysqli_fetch_assoc($result)) {
 echo "{$row['message']}
    {$row['nodeID']}<br>";}


 echo '<form action="play.php" method="GET">
<input type="submit" name="yes" value="yes">
<input type="submit" name="no" value="no">
<input type = "submit" name = "restart" value = "restart game">
</form>';}

?>

<form action="play.php" method="POST">
<input type="submit" name="start" value="Start Game">
</form>

<?php
$currentnode = '0';
if ( isset( $_POST['start'] ))
{ 
$currentnode = 1;
$where = "WHERE `nodeID` = '1'";
output($query,$where,$dbconn);
echo 'current node is '; echo $currentnode;
} 

if (isset ($_GET['yes'])){

switch ($currentnode){

case 1: $where = "WHERE `nodeID` = '2'"; output($query,$where,$dbconn);
break;

case 2: $where = "WHERE `nodeID = '3'"; output($query,$where,$dbconn);
break;
}
}

?>
</body>
</html>

0 个答案:

没有答案