php - 从 MySQL 获取价值,并将它们放入其他表中(一次多个值)
问题描述
首先,是的,我知道 PHP5.6 是不推荐使用的版本,但我想坚持使用它并为自己全面学习 PHP,然后再更新到 MySQLi。
我正在尝试制作一个运行 MySQL 和 PHP 的基于文本的游戏,目前正在尝试创建一个系统:
1.从用户表、用户名和完成的总操作中获取信息 (+)
2.在某些时间戳将所有用户名和操作保存到单独的表中(-)
3.将所有玩家的动作栏重置为0。(+/- 计划使用 mysql 触发器和/或 cron-job)
我的问题:
2)您如何建议我将用户名插入单独的表中?(我想出的唯一想法是爆炸数组以某种方式获取变量并汇总到mysql,问题是如何做到这一点?)
3)关于这个数字 3,你会建议其他东西然后触发器或 cron-jobs 吗?
代码示例如下
<?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(用户名)和操作(操作)。
EDIT2:我在第二张桌子上的期望:ID(AI),具有最多动作点的玩家的用户名,具有第二个动作点的玩家的用户名等。还有Datastamp。
预期的 SQL ID、nr1、nr2、nr3、nr4、nr5、Datastamp。
干杯!
解决方案
我不确定这是否有效,因为我没有测试过。但是,我希望你能得到一个大致的概念。
<?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
您可以创建如下功能:
function resetActions(){
//update actions to 0
$q = "UPDATE table_name SET actions = 0";
mysql_query($q);
}
现在,每当您需要重置它时,您都可以调用此函数。或者您可以根据需要在 cron 作业中调用此函数。
推荐阅读
- javascript - PropTypes 在 Typescript React 中是否已过时?
- vue.js - 带有 Cookie 存储的 Vuex 在页面刷新后丢失状态
- regex - 需要正则表达式 - 没有美分的美元
- apache-nifi - Apache Nifi - 流文件卡在队列中
- javascript - 即使项目存在于数组中,findIndex() 也会返回 -1
- javascript - 使用 html2canvas 和 jsPDF 渲染 HTML+CSS 内容不起作用
- java - 如何防止tomcat中的OutOfMemory异常(限制每个war文件的内存)?
- c# - 如何在不使用 Thread.Sleep() 的情况下暂停执行
- python-2.7 - 循环遍历列表(带有子列表)并将匹配的 ID 分配给相同的键和该子列表中的所有相应值?
- python - 当我多次重新启动代码时,如何避免在导入模块上浪费时间?