обновить значение в базе данных по нажатию кнопки, используя выпадающее меню - PullRequest
0 голосов
/ 06 декабря 2018

Я получаю пользователей через $ wpdb (функция wordpress), затем я отображаю значения id, name и mg_nobility в таблице, в которой есть выпадающее меню для выбора дворянства и кнопки отправки.как я могу получить идентификатор строки, соответствующей нажатой кнопке отправки, чтобы я мог обновить mg_nobility в базе данных?

<?php 
global $wpdb;
$results = $wpdb->get_results( "SELECT * FROM $wpdb->users" );
?>
<form method="post">
<table>
  <tr>
    <th>ID</th>
    <th>Nombre</th>
    <th>Nobility</th>
    <th>Select Nobility</th>
    <th>Submit</th>
  </tr>
<?php 
foreach ($results as $key ) {
  echo "<tr>";
  foreach ($key as $row=>$value ) {

    if ($row == "ID" ) {
      echo "<td>$value</td>";
    }elseif ($row == "display_name") {
      echo "<td>$value</td>";
    }elseif ($row == "mg_nobility") {
      echo "<td>$value</td>
      <td>
       <select name='nobility_value'>
        <option value='nobilityOne'>nobility One</option>
        <option value='nobilityTwo'>nobility Two</option>
        <option value='nobilityThree'>nobility Three</option>
        <option value='nobilityFour'>nobility Four</option>
       </select>
      </td> 
      <td><button type='submit' name='submit'>Submit</button></td>";
    }
  }
  echo "</tr>"; 
}?>
</form>
<?php
if(isset($_POST["submit"])){
   $nobility = $_POST['nobility_value'];
  # wordpress query....
}
?>

var_dump из $ результатов выглядит примерно так:

array(6) { 
 [0]=> object(stdClass)#3359 (11) { 
       ["ID"]=> string(1) "1"  
       ["user_login"]=> string(9) "Daniel" 
       ["user_pass"]=> string(34)"$P$Bph9BrPkxjPzgAGhjv0" 
       ["user_nicename"]=> string(9) "daniel" 
       ["user_email"]=> string(14) "declst@gmail" 
       ["user_url"]=> string(0) ...........etc...}
       } 
[1]=> object(stdClass)#3360 (11) {
       ["ID"]=> string(1) "6" 
       ["user_login"]=> string(9) "dwa3" 
       ["user_pass"]=> string(34) "$P$Bi9upVUk.dxZ7wkK83mbcU."
       .......etc.....} 

1 Ответ

0 голосов
/ 06 декабря 2018

Вы можете добавить name и value атрибутов к каждой кнопке, например, name="ID" value="$idvalue".Они будут представлены с данными формы.Прочитайте MDN документ на <button> здесь .

...