I have a table of data rows. Now I want to click on the Update button then that row of data will be Updated based on the ID
Here is my demo:
These are my commands:
<?php
foreach ($get_data as $infocontact) {
echo '<form class="form-info-wmtp" action="" method="post" enctype="multipart/form-data">';
echo '<input type="hidden" name="id_image" id="id_image" value="'.$infocontact->id.'" />';
echo '<div class="txt-info-wmtp">'.$infocontact->button_name.'<p><input type="text" value="'.$infocontact->link_button.'" name="link_button" placeholder="Enter the link button">';
echo '<input type="submit" id="btnSubmitSocial" name="btnSubmitSocial" value="Update">';
echo '<input type="submit" id="delete-btn" name="btnDelete" value="Delete"></p></div>';
}
echo '</form>';
if(isset($_POST['btnSubmitSocial'])){
$link = $_POST['link_button'];
$id_img = $_POST['id_image'];
var_dump($id_img);
$table = $wpdb->prefix . 'call_button';
$post_data=array(
'link_button' => $link,
'id' => $id_img
);
$wpdb->update( $table, $post_data, array( 'id' => $id_img ), $format = null, $where_format = null );
}
?>
I'm stuck here for hours, please help me! Thanks!
I have a table of data rows. Now I want to click on the Update button then that row of data will be Updated based on the ID
Here is my demo:
These are my commands:
<?php
foreach ($get_data as $infocontact) {
echo '<form class="form-info-wmtp" action="" method="post" enctype="multipart/form-data">';
echo '<input type="hidden" name="id_image" id="id_image" value="'.$infocontact->id.'" />';
echo '<div class="txt-info-wmtp">'.$infocontact->button_name.'<p><input type="text" value="'.$infocontact->link_button.'" name="link_button" placeholder="Enter the link button">';
echo '<input type="submit" id="btnSubmitSocial" name="btnSubmitSocial" value="Update">';
echo '<input type="submit" id="delete-btn" name="btnDelete" value="Delete"></p></div>';
}
echo '</form>';
if(isset($_POST['btnSubmitSocial'])){
$link = $_POST['link_button'];
$id_img = $_POST['id_image'];
var_dump($id_img);
$table = $wpdb->prefix . 'call_button';
$post_data=array(
'link_button' => $link,
'id' => $id_img
);
$wpdb->update( $table, $post_data, array( 'id' => $id_img ), $format = null, $where_format = null );
}
?>
I'm stuck here for hours, please help me! Thanks!
Share Improve this question edited Jan 28, 2020 at 15:46 Tung Nguyen asked Jan 28, 2020 at 15:38 Tung NguyenTung Nguyen 133 bronze badges 2 |1 Answer
Reset to default 0pull form closing tag inside foreach loop
<?php
foreach ($get_data as $infocontact) {
echo '<form class="form-info-wmtp" action="" method="post" enctype="multipart/form-data">';
echo '<input type="hidden" name="id_image" id="id_image" value="'.$infocontact->id.'" />';
echo '<div class="txt-info-wmtp">'.$infocontact->button_name.'<p><input type="text" value="'.$infocontact->link_button.'" name="link_button" placeholder="Enter the link button">';
echo '<input type="submit" id="btnSubmitSocial" name="btnSubmitSocial" value="Update">';
echo '<input type="submit" id="delete-btn" name="btnDelete" value="Delete"></p></div>';
//i pull /form inside loop here
echo '</form>';
}
if(isset($_POST['btnSubmitSocial'])){
$link = $_POST['link_button'];
$id_img = $_POST['id_image'];
var_dump($id_img);
$table = $wpdb->prefix . 'call_button';
$post_data=array(
'link_button' => $link,
'id' => $id_img
);
$wpdb->update( $table, $post_data, array( 'id' => $id_img ), $format = null, $where_format = null );
}
?>
echo '</form>';
inside theforeach
, so that each row is its own form. At the moment all the fields are going into one form, which is preventing your code from working because there will be multiple IDs. As long as you've got the table name/structure correct, I don't see any other issue. – Jacob Peattie Commented Jan 28, 2020 at 15:44