2015-04-19 2 views
1

У меня есть следующий код, который связывает мою базу данных phpmyadmin с моим PHP-скриптом. В коде содержится таблица из 50 игроков НФЛ со статистикой предыдущего сезона. Теперь я хочу иметь возможность кодировать его так, чтобы я мог выбрать игрока через раскрывающийся список или какой-то раскрывающийся список/список, подобный этому, а затем, когда он будет выбран, и таблица будет показана снова, этот игрок не будет указан. Тем не менее, я застрял и не знаю, как это сделать. Может ли кто-нибудь хотя бы помочь мне с основами и тем, что мне нужно для этого?Программа кодирования MySQL/PHP

<!DOCTYPE html> 
<html> 
<head> 
     <title>PHP Project</title> 
     <style> 
      table,th,td { 
       border: 1px solid navy; 
       } 
     </style> 
</head> 

<body> 

<?php 
    $db_hostname='localhost'; 
    $db_username='root'; 
    $db_password=''; 
    $db_database='Project'; 

    $connection = new mysqli( $db_hostname, 
           $db_username, 
           $db_password, 
           $db_database); 

    if ($connection->connect_error) { 
     echo "Sorry"; 
    } else { 
     echo "Connected!<br><br>";  
     $sql = "SELECT * FROM NFL2014Receiving"; 
     $result = $connection->query($sql); 
     if (!$result) die ($connection->error); 
     $n = $result->num_rows;  

     for ($i=1; $i<=$n; $i++) { 
      $row = $result->fetch_array(MYSQLI_ASSOC); 

     echo "<table> 
      <tr><th>ID</th><th>Player</th><th>Team</th> 
      <th>Position</th><th>Receptions</th> 
      <th>Receiving Yards</th><th>Avg Yds/Catch</th> 
      <th>Avg Yds/Game</th><th>Touchdowns</th></tr>"; 

     echo "<tr><td width=20>" . $row['iD'] . "</td><td width=150>" . $row['Player'] . "</td><td width=40>" . 
       $row['Team'] . "</td><td width=30>" . $row['Pos'] . "</td><td width=30>" . 
       $row['Rec'] . "</td><td width=40>" . $row['Yds'] . "</td><td width=30>" . 
       $row['Avg'] . "</td><td width=40>" . $row['Yds/G'] . "</td><td width=20>" . 
       $row['TD'] . "</td></tr>"; 
     } 
     echo "</table>"; 
    } 

?> 

</body> 
</html> 
+0

в то время как цикл через ваши ряды, сохранить 'Player'/'iD' в массиве, а затем постройте выпадающее меню, используя эти значения. Затем добавьте условие, чтобы, если форма размещена/выбран игрок, ваш запрос будет содержать 'WHERE iD! = SelectedPlayeriD' – Sean

ответ

0

Вы можете сделать это следующим образом:

<?php 
    $db_hostname='localhost'; 
    $db_username='root'; 
    $db_password=''; 
    $db_database='Project'; 

    $connection = new mysqli( $db_hostname, 
           $db_username, 
           $db_password, 
           $db_database); 

    if ($connection->connect_error) { 
     echo "Sorry"; 
    } else { 
     echo "Connected!<br><br>";  
     $sql = "SELECT * FROM NFL2014Receiving"; 
     $result = $connection->query($sql); 
     if (!$result) die ($connection->error); 
     $n = $result->num_rows;  

     $nfl = array(); 

     echo "<table> 
      <tr><th>ID</th><th>Player</th><th>Team</th> 
      <th>Position</th><th>Receptions</th> 
      <th>Receiving Yards</th><th>Avg Yds/Catch</th> 
      <th>Avg Yds/Game</th><th>Touchdowns</th></tr>"; 

     for ($i=1; $i<=$n; $i++) { 
      $row = $result->fetch_array(MYSQLI_ASSOC); 
      $nfl[$row['iD']] = $row['Player']; 
      if(!isset($_POST['hide']) || $_POST['hide'] != $row['iD']){ 
       echo "<tr><td width=20>" . $row['iD'] . "</td><td width=150>" . $row['Player'] . "</td><td width=40>" . 
         $row['Team'] . "</td><td width=30>" . $row['Pos'] . "</td><td width=30>" . 
         $row['Rec'] . "</td><td width=40>" . $row['Yds'] . "</td><td width=30>" . 
         $row['Avg'] . "</td><td width=40>" . $row['Yds/G'] . "</td><td width=20>" . 
         $row['TD'] . "</td></tr>"; 
      } 
     } 
     echo "</table>"; 
     echo "<form method='post' action=''><select name='hide'>"; 
     foreach($nfl as $key=>$value){ 
      echo "<option value='".$key."'>".$value."</option>"; 
     } 
     echo "<input type='submit' value='Submit'>"; 
     echo "</select></form>"; 
    } 

?> 

Попробуйте и дайте мне знать, если он работал для вас :-)

+0

, у вас есть синтаксическая ошибка (ы) на' echo "

"; ' – Seth