douliangli6407 2015-11-19 06:49
浏览 24

高尔夫障碍网站

Hi can you help me? I am developing a Golf Handicap website. But my knowledge in the PHP language is not that much I'm just a beginner in PHP. I need to record all the score of each golf player and calculate the best 10 scores out of 20 games to get the handicap score. Not the 10 lowest score but the 10 highest score. I been studying it for a month but I can't get the exact code and logic for that golf handicap. Please help me.

<?php
include "class.agolfhandicap.php";
include "conn.php";
$gh=new agolfhandicap();


// Get the user name if submitted.
if(isset($_POST['user'])){
 $user=$_POST['user'];
 $gh->setuser($user);
}
if(isset($_POST['delete'])){          //delete the record
  $id=$_POST['id'];
  $gh->deleteGame($id);
}
if(isset($_POST['edit'])){           //edit the record
  $id=$_POST['id'];
}
// If no user yet, ask for it.
if(!isset($_POST['user'])){
print "<form name='user' action='$_SERVER[PHP_SELF]' method='POST'>";
 print "Enter your user name:<input type='text' name='user' size='20'>";
 print "<input type='hidden' name='hid' value='true'>";
 print "<input type='submit' value='Submit' name='submits'>";
 print "</form>";
}else{
// We have a username, so get new game data and display handicap and all games.
print "<h2>Golf Game Database and Handicap Calculator for $user</h2>
";
@$newgame=$gh->getnewgame($id);
@$id=($_POST['edit']=="")? "":$id;
$gh->showform($id);
$hc=$gh->gethcap();
print ($hc==0)?"<h3>You need at least 5 games for a handicap index.</h3>":"<h3>Handicap for $user is $hc</h3><br>";
// If you just want the data without displaying it, use next line.
//$al=$gh->getAll();
$gh->showall();
}
?>
<?php
include "conn.php";
class agolfhandicap
{
var $user;            // Username of golfer
var $all = array();   // Array used to return all game information from database
var $use=array(0=>0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,8,9,10);
                      // $use is an array used to determine how many games
                      // to use to calculate the handicap index.

// Sets the player's name.
function setuser($user)
{
 $this->user=$user;
 return true;
}

// Retrieves the submitted new game information and stores it in the database.
function getnewgame($id="")
{
if(isset($_POST['submit'])){
// print "submit=".$_POST['submit'];
// $id=$_POST['id'];
 $user=$_POST['user'];
 $this->user=$user;
 $date =$_POST['date1'];
 $date=date('M / d / Y');

 $score = $_POST['score1'];
 $crat = $_POST['crat1'];
 $srat = $_POST['srat1'];
 $course = $_POST['course1'];
if(!$date || !$score || !$crat || !$srat || !$course){
 return false;
}else{
 $hcap=round(($score-$crat)*113/$srat,1);
if($id==""){
$queryInsert = "INSERT INTO `golfhcapu` (user,course,date,score,crating,srating,hcapdiff) VALUES ('$user','$course','$date','$score','$crat','$srat','$hcap')";
$resultGetPages = mysql_query($queryInsert) or die ("Query failed: error was ".mysql_error());
}else{
    $upd="UPDATE `golfhcapu` SET user='$user',date='$date',course='$course',score='$score',crating='$crat',srating='$srat',hcapdiff='$hcap' WHERE id='$id'";
    $result=mysql_query($upd);
}
 $_POST['edit']="";
 $_POST['id']="";
 $_POST['date1']="";
 $_POST['score1']="";
 $_POST['crat1']="";
 $_POST['srat1']="";
 $_POST['course1']="";
return true;
}
}else{
return false;
}
}

// This function displays a form to fill out to input the following
// new game information:
//   Date
//   18 hole score
//   Course Rating
//   Slope Rating of the course
//   Name of the golf course
function showform($id="")   //Give it the id number of a record to edit it.
{
if($id == ""){           //If not editing, get the POST data
$date=isset($_POST['date1']);
$score=isset($_POST['score1']);
$crat=isset($_POST['crat1']);
$srat=isset($_POST['srat1']);
$course=isset($_POST['course1']);
}else{                  //If editing get the values from the database
$queryGetPages = "SELECT * FROM `golfhcapu` WHERE `id`='$id'";
$resultGetPages = mysql_query($queryGetPages) or die ("Query failed: error was ".mysql_error());
$row = mysql_fetch_array($resultGetPages);
 $date=$row['date'];
 $score=$row['score'];
 $crat=$row['crating'];
 $srat=$row['srating'];
 $course=$row['course'];
}
print ($id=="")?"<h4>Enter a new game.</h4>":"<h4>Edit the game</h4>";
print "<style>table{border-collapse:collapse}</style>";
print "<table border=3 cellpadding=6 >";
print "<tr align='center'>";
print "<td>Date<br>(mm/dd/yyyy)</td>";
print "<td>Adjusted<br>Gross Score</td>";
print "<td>USGA Course<br>Rating</td>";
print "<td>USGA Slope<br>Rating</td>";
print "<td>Course Name</td>";
print "</tr>";
print "<tr align='center'>";
print "<form name='frm' action='$_SERVER[PHP_SELF]' method='POST'>
";
print "<input type='hidden' name='user' value='$this->user'>
";
print "<input type='hidden' name='id' value='$id'>
";
print "<td><input type='text' size='20' name='date1' value='$date'></td>
";
print "<td><input type='text' size='5' name='score1' value='$score'></td>
";
print "<td><input type='text' size='5' name='crat1' value='$crat'></td>
";
print "<td><input type='text' size='5' name='srat1' value='$srat'></td>
";
print "<td><input type='text' size='30' name='course1' value='$course'></td>
";
print "</tr></table>
";
print "<br><table><tr>";
print "<td><input type='submit' name='submit' value='Submit'>
";
print "</form></td>";
print "<td><form name='frm' action='$_SERVER[PHP_SELF]' method='POST'>
";
print "<input type='hidden' name='user' value='$this->user'><br>";
print "<input type='submit' name='cancel' value='Cancel'>";
print "</form></td></tr></table>";
return true;
}


// Displays a table of all the games played by user with the latest game first. The
// information displayed is:
//    Game number
//    Date of the game
//    Adjusted Gross Score
//    USGA Course Rating
//    USGA Slope Rating of the course
//    Handicap Differential of the game as calculated by this class
//    Course name

function showall()
{
if($all=$this->getAll()){;
print "<style>table{border-collapse:collapse}</style>";
print "<table border=3 cellpadding=6 >";
 print "<tr align='center'>";
 print "<td>Game<br>Number</td>";
 print "<td>Date</td>";
 print "<td>Adjusted<br>Gross Score</td>";
 print "<td>USGA Course<br>Rating</td>";
 print "<td>USGA Slope<br>Rating</td>";
 print "<td>Handicap<br>Differential</td>";
 print "<td>Course Name</td>";
 print "<td>Edit</td>";
 print "<td>Delete</td>";
 print "</tr>";
 $n=count($all)-1;
 for($i=$n;$i>=0;$i--){
$id=$all[$i]['id'];
  $j=$i+1;
  print "<tr align='center'>";
print "<form method='POST' action='$_SERVER[PHP_SELF]'>
";
print "<input type='hidden' name='user' value='$this->user'>
";
print "<input type='hidden' name='id' value='$id'>
";
  print "<td>$j</td>";
  print "<td>".$all[$i]['date']."</td>";
  print "<td>".$all[$i]['score']."</td>";
  print "<td>".$all[$i]['crating']."</td>";
  print "<td>".$all[$i]['srating']."</td>";
  print "<td>".$all[$i]['hcapdiff']."</td>";
  print "<td>".$all[$i]['course']."</td>";
print "<td><input type='submit' name='edit' value='Edit'></td>
";
print "<td><input type='submit' name='delete' value='Delete'></td>
";
print "</form>";
  print "</tr>";
 }
 print "</table>";
}

}

// Retrieves the information for each game entered for 'user' in the database
// and returns it in an multidimensional array.
//
//                  Data for the first game:
//  array[0]['id']                    id number of record in database
//  array[0]['date']                  date game was played
//  array[0]['score']                 adjusted gross score of game
//  array[0]['crating']               course rating
//  array[0]['srating']               slope rating
//  array[0]['hcapdiff']              handicap differential
//  array[0]['course']                course name

//                  Data for the second game:
//  array[1]['id']
//  array[1]['date']
//  array[1]['score']
//  array[1]['crating']
//  array[1]['srating']
//  array[1]['hcapdiff']
//  array[1]['course']
//
//        etc
//
function getAll()
{
$queryGetPages = "SELECT * FROM `golfhcapu` WHERE `user`='$this->user' ORDER BY `date`";
$resultGetPages = mysql_query($queryGetPages) or die ("Query failed: error was ".mysql_error());
$n=mysql_num_rows($resultGetPages);
if($n > 0){
 $i=0;
 while ($row = mysql_fetch_array($resultGetPages)){
 $this->all[$i]['id']=$row['id'];
 $this->all[$i]['date']=$row['date'];
 $this->all[$i]['score']=$row['score'];
 $this->all[$i]['crating']=$row['crating'];
 $this->all[$i]['srating']=$row['srating'];
 $this->all[$i]['hcapdiff']=$row['hcapdiff'];
 $this->all[$i]['course']=$row['course'];
 $i=$i+1;
 }
 return $this->all;
}else{
 return false;
}
}

// Reads the database and retrieves up to the last 20 games played.
// Determines how many of these games to use, and which ones, to calculate
//  the handicap index.
// Using the chosen games, calculates the handicap index and returns it.
// If fewer than five games have been played, returns 0.
// A minimum of five games must have been played to determine the handicap index.
//
function gethcap()
{
$queryGetGames = "SELECT * FROM `golfhcapu` WHERE `user`='$this->user' ORDER BY `date` DESC LIMIT 20";
$resultGetGames = mysql_query($queryGetGames) or die ("Query failed: error was ".mysql_error());
$nr=mysql_num_rows($resultGetGames);
if($nr > 4){
 $tot=0;
 $n=$this->use[$nr];
 for($i=0;$i<$nr;$i++){
  $row = mysql_fetch_array($resultGetGames);
  $hcd[$i]=$row['hcapdiff'];
 }
 sort($hcd);
 for($i=0;$i<$n;$i++){
  $tot=$tot+$hcd[$i];
 }
 $hcap=floor(10*(($tot/$n)*.96))/10;
 return $hcap;
}else{
 return 0;
}
}
function deleteGame($id)
{
    $sql = "DELETE FROM golfhcapu WHERE id=$id";
    $result = mysql_query($sql) or die ("Delete failed: error was ".mysql_error());
    return;
}
}
//   End of class 
?>

</div>
  • 写回答

1条回答 默认 最新

  • duandaiqin6080 2015-11-19 06:54
    关注

    Assuming you stored the game scores in a database all you'd have to do is query the scores and order the query by the scores descending and limit the results to 10.

    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么