gpt4 book ai didi

php - 如何通过模态编辑mysql中的数据

转载 作者:可可西里 更新时间:2023-11-01 07:44:32 24 4
gpt4 key购买 nike

我在使用这段代码时遇到了错误。我是 Bootstrap 和使用模态的新手。我过去常常为我所有的“花式”表格运行子表格,但现在我正在转向模态。这是我获取模态的代码:

<button class="btn btn-primary" data-toggle="modal" data-target="#newmemberModal">Add new Member</button>

<br />
<br />

<?php
$result = mysql_query("SELECT * FROM `players` ORDER BY `players`.`user` ASC")
or die(mysql_error());

echo " <div class='table-responsive'><table class='table'>";
echo "<tr><th>Username</th> <th>Rank</th> <th>Position</th> <th>DoP</th> <th>Tag</th> <th>AiT</th> <th>Service Stripes</th> <th>Notes</th> <th></th> <th></th><th></th></tr>";
while($row = mysql_fetch_array( $result )) {

echo "<tr>";
echo '<td>' . $row['user'] . '</td>';
echo '<td>' . $row['rank'] . '</td>';
echo '<td>' . $row['position'] . '</td>';
echo '<td>' . $row['date'] . '</td>';
echo '<td>' . $row['tag'] . '</td>';
echo '<td>' . $row['ait'] . '</td>';
echo '<td>' . $row['ss'] . '</td>';
echo '<td>' . $row['notes'] . '</td>';
echo '<td><button class="btn btn-default" data-toggle="modal" data-target="#editModal">Edit</button></td>';
echo '<td><a href="classes/forms/delete.php?id=' . $row['id'] . '">Delete</a></td>';
echo '<td><a href="javascript:void(0);" NAME="My Window Name" title=" My title here " onClick=window.open("dd.php?id=' . $row['id'] . '","Ratting","width=350,height=550,0,status=0,");>DD</a><BR /><a href="javascript:void(0);" NAME="My Window Name" title=" My title here " onClick=window.open("hd.php?id=' . $row['id'] . '","Ratting","width=350,height=550,0,status=0,");>HD</a></td>';
echo "</tr>";
}
echo "</table> </div>";

?>

这是我的 edit.php:

    <?php include_once('classes/check.class.php'); ?>
<?php
function renderForm($id, $user, $rank, $position, $date, $tag, $ait, $ss, $notes, $error)
{
?>

<?php
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
<?php if( protectThis("1, 2") ) : ?>
<center><form action="" method="post">
<input type="hidden" name="id" value="<?php echo $id; ?>"/>
<div>
<strong>Username: *</strong> <br/><input class="tb5" type="text" name="user" value="<?php echo $user; ?>" /><br/><br/>
<strong>Rank: * Current is </strong> <?php echo $rank; ?> <br/>
<select name="rank">
<option value="recruit" <?php if ($rank == 'recruit') echo 'selected'; ?>>Pending Rank</option>
<option value="officer" <?php if ($rank == 'officer') echo 'selected'; ?>>PVT</option>
<option value="leader" <?php if ($rank == 'leader') echo 'selected'; ?>>PV2</option>
</select><br/><br/>

<strong>Position: </strong> <br/><input class="tb5" type="text" name="position" value="<?php echo $position; ?>" /><br/><br/>
<strong>Date: *</strong> <br/><input class="tb5" type="text" name="date" value="<?php echo $date; ?>" /><br/><br/>
<strong>Tag: *</strong> <br/><input class="tb5" type="text" name="tag" value="<?php echo $tag; ?>" /><br/><br/>
<strong>AiT's: </strong> <br/><input class="tb5" type="text" name="ait" value="<?php echo $ait; ?>" /><br/><br/>
<strong>Service Stripes: </strong><br/> <input class="tb5" type="text" name="ss" value="<?php echo $ss; ?>" /><br/><br/>
<strong>Notes: </strong><br/> <input class="tb5" type="text" name="notes" value="<?php echo $notes; ?>" /><br/><br/>
<input class="btn-style" type="submit" name="submit" value="Submit"></center>

</div>
</form>
<?php elseif( protectThis(6) ) : ?>
<center><form action="" method="post">
<input type="hidden" name="id" value="<?php echo $id; ?>"/>
<div>
<strong>Username: *</strong> <br/><input class="tb5" type="test" name="user" value="<?php echo $user; ?>" disabled /><br/><br/>
<strong>Rank: * Current is </strong> <?php echo $rank; ?> <br/>
<select name="rank">
<option value="recruit" <?php if ($rank == 'recruit') echo 'selected'; ?>>PVT</option>
<option value="officer" <?php if ($rank == 'officer') echo 'selected'; ?>>PV2</option>

</select><br/><br/>

<strong>Position: </strong> <br/><input class="tb5" type="hidden" name="position" value="<?php echo $position; ?>" /><br/><br/>
<strong>Date: *</strong> <br/><input class="tb5" type="text" name="date" value="<?php echo $date; ?>" /><br/><br/>
<strong>Tag: *</strong> <br/><input class="tb5" type="text" name="tag" value="<?php echo $tag; ?>" /><br/><br/>
<strong>AiT's: </strong> <br/><input class="tb5" type="text" name="ait" value="<?php echo $ait; ?>" /><br/><br/>
<strong>Service Stripes: </strong><br/> <input class="tb5" type="hidden" name="ss" value="<?php echo $ss; ?>" /><br/><br/>
<strong>Notes: </strong><br/> <input class="tb5" type="hidden" name="notes" value="<?php echo $notes; ?>" /><br/><br/>
<input class="btn-style" type="submit" name="submit" value="Submit"></center>

</div>
</form>
<?php endif; ?>
<?php
}
include('connect-db.php');

if (isset($_POST['submit']))
{
if (is_numeric($_POST['id']))
{
$id = $_POST['id'];
$user = mysql_real_escape_string(htmlspecialchars($_POST['user']));
$rank = mysql_real_escape_string(htmlspecialchars($_POST['rank']));
$position = mysql_real_escape_string(htmlspecialchars($_POST['position']));
$date = mysql_real_escape_string(htmlspecialchars($_POST['date']));
$tag = mysql_real_escape_string(htmlspecialchars($_POST['tag']));
$ait = mysql_real_escape_string(htmlspecialchars($_POST['ait']));
$ss = mysql_real_escape_string(htmlspecialchars($_POST['ss']));
$notes = mysql_real_escape_string(htmlspecialchars($_POST['notes']));

if ($user == '' || $rank == '' || $date == '' || $tag == '')
{
$error = 'ERROR: Please fill in all required fields!';

@renderForm($id, $user, $rank, $position, $date, $tag, $ait, $ss, $notes, $error);
}
else
{

mysql_query("UPDATE players SET user='$user', rank='$rank', position='$position', date='$date', tag='$tag', ait='$ait', ss='$ss', notes='$notes' WHERE id='$id'")
or die(mysql_error());


header("Location: home.php");
}
}
else
{

echo 'Error!';
}
}
else

{


if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0)
{
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM players WHERE id=$id")
or die(mysql_error());
$row = mysql_fetch_array($result);

if($row)
{
$id = $row['id'];
$user = $row['user'];
$rank = $row['rank'];
$position = $row['position'];
$date = $row['date'];
$tag = $row['tag'];
$ait = $row['ait'];
$ss = $row['ss'];
$notes = $row['notes'];

@renderForm($id, $user, $rank, $position, $date, $tag, $ait, $ss, $notes, '');
}
else
{
echo "No results!";
}
}
else
{
echo 'Error!';
}
}
?>

问题是我一直收到“错误!”模态框中的消息,而不是其他任何内容。我试图做的目标是让它从存储在我的数据库中的 ID 中提取数据。我认为问题确实在于当我点击用户编辑时它没有获取 ID。坦率地说,我不知道如何通过模式编辑 ID。帮助将不胜感激。谢谢

奖励:我无法在同一页面上打开两个模式。如果我在同一页面上有两个,它们都不会显示:

<!--Modals-->   

<div class="modal fade" id="newmemberModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">Add New Member</h4>
</div>

<div class="modal-body">
<?php include("classes/forms/new.php"); ?>

</div>
</div>
</div>
</div>

<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">Edit</h4>
</div>

<div class="modal-body">
<?php include("classes/forms/edit.php"); ?>

</div>
</div>
</div>
</div>

最佳答案

您的编辑按钮没有将 ID 传递给 edit.php,这就是未激活模态的原因。您需要在打开编辑模式之前而不是在加载它时填充编辑模式的内容。使用 include 将加载编辑页面而不向其传递 ID。

重写您的编辑按钮以包含 ID

<button class="btn btn-primary" data-toggle="modal" 
data-target="#editModal" data-formid="<?php echo $id; ?>">
Edit <?php echo $id; ?>
</button>

打开模式时加载编辑表单的JS

//jQuery function for loading data 
$("#editModal").on('show.bs.modal', function(event){
var button = $(event.relatedTarget);
//bootstrap way of retrieving data-* attributes
//data-formid in this case
var id = button.data('formid');
$.get(yourSiteUrl+'/classes/forms/edit.php?id='+id,
function(data) {
$("#editModal .modal-title").html(data);
//Resize the modal to the size of the loaded form.
$("#editModal").modal("handleUpdate");
});
});

Check this tutorial to learn about bootstrap modals

P.S:我知道 OP 现在可能已经解决了这个问题或者会采取不同的方法,我已经发布了答案以便它可能对其他人有用。

关于php - 如何通过模态编辑mysql中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27559872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com