2017-03-14 4 views
0

3つのオプションは、名前、バッティングオーダー、および位置です。ユーザーは値をソートするオプションを選択する必要があります。現在、ソートされた打順値は、エコーを呼び出す前の最後のソート順であるため、出力されます。ユーザーがオプションを選択すると、そのオプションの出力のみが表示されます。何も選択されていないときに出力がありませんか?ここでユーザーが選択した多次元配列を印刷するにはどうすればよいですか?

はHTML

​​

PHPファイル

<!DOCTYPE html> 
    <html> 
     <head> 
      <link rel="stylesheet" type="text/css" href="Assignment.css"> 
     </head> 
     <body>      

     <?php 

      $selection_list = array('pos', 'player_name', 'bats'); 
      $players = array (
      array('pos' => 'SS', 'player_name' => 'Beckham', 'bats' => 1), 
      array('pos' => 'C', 'player_name' => 'Casali', 'bats' => 8), 
      array('pos' => '2B', 'player_name' => 'Forsythe', 'bats' => 3), 
      array('pos' => '1B', 'player_name' => 'Loney', 'bats' => 7), 
      array('pos' => 'LF', 'player_name' => 'Jennings', 'bats' => 2), 
      array('pos' => 'CF', 'player_name' => 'KierMaier', 'bats' => 9), 
      array('pos' => '3B', 'player_name' => 'Longoria', 'bats' => 4), 
      array('pos' => 'RF', 'player_name' => 'Mahtook', 'bats' => 5), 
      array('pos' => 'DH', 'player_name' => 'Souza', 'bats' => 6), 
      ); 


    function getSortFunction($sortKey) { 
    return function($personA, $personB) use ($sortKey) { 
    return ($personA[$sortKey] < $personB[$sortKey]) ? -1 : 1; 
    }; 
} 



$order = filter_input(INPUT_POST,'order'); 
      usort($players, getSortFunction('pos')); 
      usort($players, getSortFunction('player_name')); 
      usort($players, getSortFunction('bats')); 
      echo '<pre>'; print_r($players); echo '<pre/>'; 
?> 

</body> 

+0

:)? –

+0

@AnnSophieAngermüllerこんにちは、私は誤ってデコイのPHPファイルを入れました。私は今それを更新しました。 – mm24mm

+0

$ orderに値を保存しますが、それでもすべての結果を取り消します。 $ order matchingと一致するものだけをソートしてください。 –

答えて

0

それは明らかそれはそれらすべてを表示することです。 まず、と並べ替えオプションを取る必要があります$ _ POST [順序] 次に各ケースのスイッチやif文

編集:あなたがこれまでに試してみました何

switch($order){ 
case "pos": 
    usort($players, getSortFunction('pos')); 
    echo '<pre>'; print_r($players); echo '<pre/>'; 
    break; 
case "player_name": 
    usort($players, getSortFunction('player_name')); 
    echo '<pre>'; print_r($players); echo '<pre/>'; 
    break; 
case "bats": 
    usort($players, getSortFunction('bats')); 
    echo '<pre>'; print_r($players); echo '<pre/>'; 
    break; 
case ""; 
    break; 
} 
+0

編集内容を参照してください。違いがあるかどうかわかりません。ありがとうございました。 – mm24mm

+0

私は自分の投稿をテストしてそれを編集する! –

+0

ありがとうございました、 '$ _ POST [order]'は私を捨てましたが、それは必要な変更でした。 – mm24mm

関連する問題