Здесь я хочу обновить статус участника в таблице пользователей на основе выбранного идентификатора. В моем выражении foreach у меня есть кнопка активации, которую я использую для своего обновления. Вместо обновления выбранной строки теперь просто обновите первую строку. Это означает, что он берет первый идентификатор, а не выбранный идентификатор. Как я могу заставить его взять правильный идентификатор?
function check_view() {
global $wpdb;
$output .= '<table>
<tr style="color: #fff; background: #08a873">
<th> Account ID</th>
<th> Name</th>
<th>Phone</th>
<th>Email</th>
<th>Referer ID</th>
<th> Activate Member</th>
</tr>';
$results = $wpdb->get_results("select * from $wpdb->users WHERE memberStatus = 'Not Active'");
$current_date = date('Y-m-d H:i:s');
foreach( $results as $user_data) {
$startTimeStamp = strtotime($user_data->deposit_date);
$endTimeStamp = strtotime($current_date);
$timeDiff = abs($endTimeStamp - $startTimeStamp);
$numberDays = $timeDiff/86400; // 86400 seconds in one day
// and you might want to convert to integer
$numberDays = intval($numberDays);
$roi = $user_data->amount * 2;
$amount_growth = $roi - $user_data->amount;
$output .= "<tr>
<td> $user_data->ID</td>
<td> $user_data->user_nicename</td>
<td> $user_data->Phone</td>
<td> $user_data->user_email</td>
<td> $user_data->refID</td>
<td> <form method='post'> <input type='submit' name='submit' value='Activate' /> </form> </td>
</tr>";
if($_POST['submit']) {
$todate = date('Y-m-d H:i:s');
//Update Member Status
$status = "Active";
$where = array('ID' => $user_data->ID);
$subs = array('user_registered' => $todate, 'memberStatus'=> $status);
$table_name = $wpdb->prefix."users";
$actMember = $wpdb->update($table_name, $subs, $where);
if($actMember) {
header("Refresh:0");
exit;
} else {
echo 'not';
}
}
}
$output .= '</table>';
return $output;
}