前两天心血来潮打算写一个在线的ARCPTT计算器,于是开工
主要思路是将曲目信息和定数存在MYSQL中,再在这里使用PHP进行调用处理就好
因为要做的不是跳转页面也不是API,所以这次用POST来写
数据库的相关就不多说了,也不难弄,从阿卡依wiki扒一下定数表导入一下就好
在处理这边使用
if (isset($_POST['sub']))
来判断是否触发了按钮,如果触发就开始进行模糊搜索,连接和计算
数据库的模糊搜索使用
SELECT song,PST,PRS,FTR,BYD FROM arcaea_ptt WHERE song LIKE '%$temp%'
来进行处理,非常的方便(真的很高兴SQL自带模糊匹配)
匹配完成后进行输出就好了,最后再简单的布局一下前端就可以使用啦,以下是使用截图
再附上一些主体代码:
//这里放的是后端处理代码,前端随便写写就行
if (isset($_POST['sub'])){
$temp = $_POST['songname'];$lvl = $_POST['level'];
$ans = mysqli_query($con,"SELECT song,PST,PRS,FTR,BYD FROM arcaea_ptt WHERE song LIKE '%$temp%' ");
if(mysqli_num_rows($ans) > 0)
echo "<table border='1'><tr height='35'><th width='40%'>曲目名称</th><th width='15%'>难度</th><th width='25%'>成绩</th><th width='20%'>单局PTT</th>";
while($row = mysqli_fetch_assoc($ans)){
$nowptt = 0;
if($_POST['score'] >= 10000000) $nowptt = $row["$lvl"] + 2;
else if($_POST['score'] >= 9800000) $nowptt = $row["$lvl"] + 1 + ($_POST['score'] - 9800000)/200000;
else $nowptt = $row["$lvl"] + ($_POST['score'] - 9500000)/300000;
if($nowptt < 0) $nowptt = 0;
$nowptt = round($nowptt,5);
if($row["$lvl"] == 0) $nowptt = '无BYD';
echo "<tr height='30'><th>".$row["song"]."</th><th>".$lvl."</th><th>".$_POST['score']."</th><th>".$nowptt."</th>";
}
echo "</table>";
}
使用地址:qwq.re/arcaea
就是这样啦w
叨叨几句... NOTHING