首先,是的,我知道PHP5.6是不推荐使用的版本,但是我想坚持使用它,并在更新为MySQLi之前自己学习PHP。
我正在尝试制作一个运行MySQL和PHP的基于文本的游戏,并且目前正在尝试创建一个系统:
1。从用户表,用户名和已完成的操作总数(+)中获取信息
2。在特定的时间戳记下,将所有用户名和操作保存到单独的表(-)
3。将所有玩家的动作列重置为0。 (+/-计划使用mysql触发器和/或cron-job)
我的问题:
2)您如何建议我将用户名插入单独的表中? (我想到的唯一想法是爆炸数组以某种方式获取变量和sumbit到mysql,问题是怎么做的?)
3)关于这个数字3,您是否建议其他东西然后触发或执行任务?
下面的代码示例
<?php
include './config/connect-db.php';
$result= mysql_query("SELECT * FROM user WHERE actions > 100 ORDER BY
actions DESC LIMIT 5");
while($row = mysql_fetch_array($result)){
if ($row['u_dmisijos'] >= 100) {
echo '<li>'.$row["u_name"].' ('.$row["actions"].')<br>';
} // if actions
} //while loop
?>
编辑: MySQL包括很多列,我只关注2个特定的u_name(用户名)和action(动作)。
EDIT2: 我在第二张桌子上期望的是:ID(AI),动作点最多的玩家的用户名,第二动作点的玩家的用户名等等。还有Datastamp。
预期的SQL ID,nr1,nr2,nr3,nr4,nr5,Datastamp。
干杯!
答案 0 :(得分:0)
我不确定这是否行得通,因为我尚未测试过。但是,我希望您能有所了解。
ssh -T
关于将所有操作重置为 <?php
$conn = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$conn) {
echo "Unable to connect to DB: " . mysql_error();
exit;
}
if (!mysql_select_db("mydbname")) {
echo "Unable to select mydbname: " . mysql_error();
exit;
}
$sql = "SELECT * FROM user WHERE actions > 100 ORDER BY actions DESC LIMIT 5";
$result = mysql_query($sql);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
while ($row = mysql_fetch_assoc($result)) {
$q = "INSERT INTO `new_table` (`u_name`, `actions`) VALUES
($row['u_name'],$row['actions'] )";
mysql_query($q);
}
?>
,您可以创建以下功能:
0
现在,每当需要重置它时,都可以调用此函数。或者,您可以根据需要在cron作业中调用此函数。