使用PHP输入高尔夫分数并在MySQL中存储
发布时间:2020-12-13 16:08:34 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试创建一个带有排行榜的网站,用于高尔夫锦标赛,其目的是让人们能够为每个洞发布分数,这些分数将被添加到 MySQL数据库中,然后单独的页面将显示分数排行榜.我处于最初的阶段,但我仍然坚持让用户输入分数. 我的想法是将得分存储在一个表中,其中包含’go
我正在尝试创建一个带有排行榜的网站,用于高尔夫锦标赛,其目的是让人们能够为每个洞发布分数,这些分数将被添加到
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); ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |