我有从动态字段形式插入的数组数据。这是我的档案

dbconn.php

<?php
$mysql_db_hostname = "localhost";
$mysql_db_user = "root";
$mysql_db_password = "";
$mysql_db_database = "try";

$connection = mysql_connect($mysql_db_hostname, $mysql_db_user, $mysql_db_password) or die("Could not connect database");
mysql_select_db($mysql_db_database, $connection) or die("Could not select database");
?>


它将显示并从此文件中输入

index.php

<?php
require("dbconn.php");
?>

<html>
<head>
<title></title>
<script type="text/javascript" src="../js/jquery-1.7.0.min.js"></script>
<script type="text/javascript">
var counter = 1;
$(function(){
 $('#add_field').click(function(){
 counter += 1;
 $('#container').append(
 '<div><strong>Hobby No. ' + counter + '</strong><br />'
 + '<input id="field_' + counter + '" name="dynfields[]' + '" type="text" required /> <button type="button" href="#" class="remove_field">-</button><br /></div>' );

 });
 $('#container').on("click",".remove_field", function(e){ //user click on remove text
        e.preventDefault(); $(this).parent('div').remove(); counter--;
    })
});
</script>

<body>

<?php
if (isset($_POST['submit_val'])) {
if ($_POST['dynfields']) {
foreach ( $_POST['dynfields'] as $key=>$value ) {
$values = mysql_real_escape_string($value);
$query = mysql_query("INSERT INTO prefix (ipfx,cid) VALUES ('$values','123')", $connection );

}
}

echo "<i><h2><strong>" . count($_POST['dynfields']) . "</strong> Hobbies Added</h2></i>";

 mysql_close();
}
?>
<?php
if (!isset($_POST['submit_val'])) { ?>

<?php
    $result = mysql_query("SELECT * FROM prefix WHERE cid = '123'")
            or die(mysql_error());

            echo "<form method='post'><table border='1' cellpadding='7'>";
            echo "<tr>
                    <th><font color='Red'>CID</font></th>
                    <th><font color='Red'>Hobi</font></th>
                  </tr>";

            $row = mysql_fetch_array( $result );
            echo '<tr>
                        <td><font color="#333">' . strtoupper($row['cid']) . '</font></td><td><table>';

            $no=1;
            while($row = mysql_fetch_array( $result ))
            {
                echo '
                        <tr><td><input type="text" value="' . $row['ipfx'] . '"><hr></td></tr>';

                        ////////////////////////////////////


                        }

                echo '</table></td></tr></table>';
            $no++;
        ?>
 <h1>Add your Hobbies</h1>
 <form method="post" action="">

 <div id="container">
 <strong>Hobby No. 1</strong><br /><input id="field_1" name="dynfields[]" type="text" required/> <button type="button" id="add_field" href="#">+</button>
 </div><br />

 <input type="submit" name="submit_val" value="Submit" />
 </form>
<?php } ?>

</body>
</html>


我的问题是如何使用php形式的onclick按钮编辑/删除该数据?

谢谢

最佳答案

有很多方法可以做到这一点。


您可以使用ajax提交数据以进行删除/编辑
或者您可以直接提交


对于第1点-首先在每行添加具有唯一ID的编辑/删除按钮(您可以使用带有任何文本的ipfx数字来完成此操作),然后可以调用任何js方法提交并动态更改它。提交时,您可以使用该唯一ID收集数据,并可以通过Ajax提交轻松地对其进行操作。

这样-内部循环

<button id="edit_<?php echo $row['ipfx']; ?>" name="edit" type="button" onclick='edit_data("<?php echo $row['ipfx']; ?>");'/>


在js部分-

function edit_data(id){
var data1 = $('#id').val();
 $.ajax({
     "data": {"data1": data1},
     "type": "POST",
     "url": "test.php"
 });
}


希望现在您可以很轻松地完成它。

10-04 17:42