2017-07-02 23 views
0

在我的源代碼創建如下表...商店選擇錶行成簡單陣列

echo "<form id=\"center\" Name=\"Form2\" Method=\"Post\" Action=\"\">"; 
    echo "<table border=\"1\">"; 
     foreach($pdo -> query($sqlSpielerNamen) as $row){ 
      echo "<tr>"; 
       echo "<td style=\"font-size: 10;\">".$row['SpielerName']."</td>"; 
       echo "<td style=\"font-size: 10;\">".$row['Note']."</td>"; 
       echo "<td style=\"font-size: 10;\">".$row['Tore']."</td>"; 
       echo "<td><input type=\"submit\" id=".$row['Player_ID']." class=\"btn\" name=\"Add\" value=".$row['Player_ID']."></td><tr>"; 
      echo "</tr>"; 
     } 
    echo "</table>"; 
echo "</form>"; 

現在,我要選擇通過提交按鈕一行。目前我得到的Player_ID這樣的...

if(isset($_POST["Add"])){ 
    $P = $_POST["Add"]; 
} 

但我需要整行 - Player_IDNoteTore爲好。 我認爲一個很好的解決方案是將行寫入一個簡單的數組。有點像array = ['Note', 'Tore', 'Player_ID']

回答

0

您必須在每行中包含一個隱藏的輸入字段,包含播放器的所有細節(作爲序列化字符串)。之後,在處理表單時,只需簡單地對字符串進行反序列化,並將玩家的細節作爲一個數組來獲取。所以,你需要改變你的foreach循環通過以下方式,

// your code 
foreach($pdo->query($sqlSpielerNamen) as $row){ 
    ?> 
     <tr> 
      <td style="font-size: 10;"><?php echo $row['SpielerName']; ?></td> 
      <td style="font-size: 10;"><?php echo $row['Note']; ?></td> 
      <td style="font-size: 10;"><?php echo $row['Tore']; ?></td> 
      <td> 
       <input type="hidden" name="player_details[<?php echo $row['Player_ID']; ?>]" value="<?php echo htmlspecialchars(serialize(array($row['SpielerName'],$row['Note'], $row['Tore']))); ?>"> 
       <input type="submit" id="<?php echo $row['Player_ID']; ?>" class="btn" name="Add" value="<?php echo $row['Player_ID']; ?>"> 
      </td> 
     </tr> 
    <?php 
} 
// your code 

隨後,提交過程中通過以下方式你的表格後,

if(isset($_POST["Add"])){ 
    $P = $_POST["Add"]; 
    list($SpielerName, $Note, $Tore) = unserialize($_POST['player_details'][$P]); 
    // Now access $SpielerName, $Note and $Tore variables in your subsequent code 
    ... 
} 

下面是相關參考文獻:

+0

謝謝你這真棒解釋。但我有最後一個問題。此刻我的按鈕充滿了player_id。但我希望每一個都應該在編輯中命名。我怎樣才能做到這一點,而不會失去功能? – HansMuff

+0

@HansMuff這很簡單,不要改變* submit * input元素的'id'屬性,只需要改變'value'屬性的值與玩家的名字,就像這樣:'「class =」btn「name =」Add「value =」<?php echo $ row ['SpielerName'];?>「> –