使用PHP输入高尔夫分数并在MySQL中存储

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用PHP输入高尔夫分数并在MySQL中存储脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个带有排行榜的网站,用于高尔夫锦标赛,其目的是让人们能够为每个洞发布分数,这些分数将被添加MySQL数据库中,然后单独的页面显示分数排行榜.我处于最初的阶段,但我仍然坚持让用户输入分数.

我的想法是将得分存储在一个表中,其中包含’golfer’,’hole_num’和’hole_score’的列.

我目前在我的HTML上有这个用于输入分数.

<form action="insert.PHP" method="POST">     
Golfer: <input tyPE="text" name="golfer" />
<br>
Hole Number: <input type="number" name="hole_num" />
<br>
Hole score: <input type="number" name="hole_score" />
<br>

<input type="SubmIT" value="Add"/></form>

insert.PHP

<?PHP
include ('db_connect.PHP');

// Escape user inputs for security
$golfer = MysqLi_real_escape_string($link,$_POST['golfer']);
$hole_num = MysqLi_real_escape_string($link,$_POST['hole_num']);
$hole_score = MysqLi_real_escape_string($link,$_POST['hole_score']);

// Attempt insert query execution
$sql = "INSERT INTO scores (golfer,hole_num,hole_score) VALUES('$golfer','$hole_num','$hole_score')";
MysqLi_query($link,$sql);

// Close database connection
MysqLi_close($link);

?>

这段代码有效,所以当我输入’golfer’,’hole_num’和’hole_score’时,它们会正确地添加到表格中.由于数据输入表现在不变,用户必须一次输入1个分数并且必须指定孔号.我要做的就是有18个显示分数的输入框,这样他们可以一次输入多个分数,但我也想拥有它,这样他们就不需要输入孔数了.因此,基本上孔数将以某种方式与相应的得分输入框相关联,然后当他们尝试将数据添加数据库时,它会插入高尔夫球手,hole_num和hole_score.对不起,如果这令人困惑.我无法想出一个简单方法来解释我正在尝试做什么.如果我能澄清一些事情,请告诉我.

解决方法

我为你做了一个简单的方法.

实际上,这个答案让你知道如何制作它.当然,你可以做得更漂亮.

注意:我没有测试它并在这里写.

表格:

<form action="insert.PHP" method="POST">
Golfer: <input type="text" name="golfer" />
<br>
<table>
<tr><th>Hole Number</th><th>Hole score</th></tr>
<?PHP
for ($i = 1; $i <= 18; $i++): ?>
<tr>
<td><?PHP echo $i; ?></td>
<td><input type="number" name="hole_score[<?PHP echo $i; ?>]" /></td>
</tr>
<?PHP enDFor; ?>
</table>

<input type="Submit" value="Add"/></form>

插入文件
    

// Escape user inputs for security
$golfer = MysqLi_real_escape_string($link,$_POST['golfer']);

$values = [];
foreach ($_POST['hole_score'] as $key => $score) {
    $score = trim(MysqLi_real_escape_string($link,$score));
    if (!empty($score)) {
        $values[] = "('$golfer','$key','$score')";
    }
}

if (!empty($values)) {
    $values = implode (',',$values);

    // Attempt insert query execution
    $sql = "INSERT INTO scores (golfer,hole_score) VALUES $values";
    MysqLi_query($link,$sql);
}
// Close database connection
MysqLi_close($link);

?>

脚本宝典总结

以上是脚本宝典为你收集整理的使用PHP输入高尔夫分数并在MySQL中存储全部内容,希望文章能够帮你解决使用PHP输入高尔夫分数并在MySQL中存储所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。