我正在尝试使用数据库和PHP制作基本的互动小说游戏。 基本上,用户将从房间1开始并输入命令('N','E','S','W'),此时将运行一个应该使用当前房间的查询(最初为1) )和输入的命令返回一个新房间。
我遇到的第一个问题是我不能将第一个初始房间号设置为1,而不是每次提交表单时都不会重置。
其次,基于提供给查询的两个变量,我似乎无法可靠地返回新房间。这是我的PHP如下:
<?php
ini_set("error_reporting",E_ALL & ~E_NOTICE);
ini_set("display_errors",1);
include_once $_SERVER['DOCUMENT_ROOT'] . "/flourish/toinclude.php";
$connstr="ISOMTEACHING5\INFOSYS280";
$mydb=new fDatabase("mssql", "Games","mytest","",$connstr,61495);
if ($_REQUEST["submitter"]=="Go")
{
$command = $_POST['command'];
$sendcommand=$mydb->query("SELECT ".
"Exits.ToRoom ".
"FROM Exits ".
"WHERE Exits.Direction=%s",
$command,
"AND Exits.FromRoom=%s",
$roomno
);
if ($sendcommand->countReturnedRows()==0)
{
$errormessage="alert('Cannot go ".$command." from here!');";
}
else
{
$commandheader=$sendcommand->fetchRow();
echo "From Room ".$roomno."<br>";
$toroom=$commandheader['ToRoom'];
echo $toroom;
$roomno=$toroom;
echo "<br> new current room: ".$roomno;
}
}
?>
HTML是一种基本形式,其中提交按钮的值为“Go”,而“command”只是可能命令的用户输入。
任何帮助将不胜感激,我是PHP和数据库的新手,似乎无法解决这个问题。如有必要,我可以提供任何进一步的信息。
干杯!