【发布时间】:2016-11-01 22:45:12
【问题描述】:
我正在使用 PHP,我能够收集我的数据库表的信息并将其显示到我的网页中。
对于每一行,我都会显示一个按钮,该按钮会导致一个模式弹出窗口,其中包含一个所见即所得的文本区域(我使用了 TinyMCE),以便我可以添加有关该特定行的详细信息。
当我使用这个脚本时,这仅适用于 1 行
这是我的脚本:
<?php
include("connection.php");
if ($link->connect_errno > 0) {
die('Unable to connect to database [' . $link->connect_error . ']');
}
if (isset($_POST['savechanges'])) {
$results = $link->query("UPDATE mytalbename SET details='$_POST[textarea]' WHERE id=44");
}
?>
我的问题是:如何以每行都有一个按钮的方式将此概念扩展到所有行。每个按钮都会导致一个带有文本区域的模式弹出窗口。我可以从每个文本区域修改引用该特定行的“详细信息”列。
这是文本区域进入表单的代码
<div class="modal-body">
<form action="" method="post" name="savechanges">
<textarea name="textarea"></textarea>
<button type="submit" class="btn btn-primary" name="savechanges"> Save changes</button>
</form>
</div>
我在这里显示按钮:
<a class='btn btn-primary btn-sm get_info2' data-toggle='modal' data-target='#myModal2' name='job_id' value='[$job_id]'>Add Details</a>
<a class='btn btn-primary btn-sm get_info3' data-toggle='modal' data-target='#myModal3' name='job_id' value='[$job_id]'>View Details</a>
我附上图片:
[带文本区域的模态弹出窗口][2]
----更新 1 ----
$results = $link->query("UPDATE job SET details='$_POST[textarea]' WHERE id='$_POST[hidden]'" );
和
<div class="modal-body">
<form action="" method="post" name="savechanges">
<textarea name="textarea"></textarea>
<button type="submit" class="btn btn-primary" name="savechanges"> Save changes</button>
<input type="hidden" name="hidden" value=" . $row['id'] . ">
</form>
</div>
-----------更新2---------------
<?php
include("connection.php");
if ($link->connect_errno > 0) {
die('Unable to connect to database [' . $link->connect_error . ']');
}
if (isset($_POST['savechanges'])) {
$results = $link->query("UPDATE job SET details='$_POST[textarea]' WHERE id='44'" );
}
?>
----------------更新 3--------------------------------
<div class="modal-body info_data2">
<form action="" method="post" name="savechanges">
<textarea name="textarea"> </textarea>
<button type="submit" class="btn btn-primary" name="savechanges"> Save changes</button>
<input type="hidden" name="hidden" value="<?php echo $row['id'];?>">
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div></div></div></div> </div>
<?php
include("connection.php");
if ($link->connect_errno > 0) {
die('Unable to connect to database [' . $link->connect_error . ']');
}
if (isset($_POST['savechanges'])) {
$results = $link->query("UPDATE job SET details='".$_POST['textarea']."' WHERE id=".$_POST['hidden']);
}
?>
---------------更新4 ------------所有代码
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://cdn.tinymce.com/4/tinymce.min.js"></script>
<script>tinymce.init({ selector:'textarea' }); tinyMCE.activeEditor.getContent();</script>
</head>
<body>
<!-- ------SCRIPT that fetch data from database and show table-->
<?php
include("connection.php");
if ($link->connect_errno > 0) {
die('Unable to connect to database [' . $link->connect_error . ']');}
if (isset($_POST['update'])) {
$results = $link->query("UPDATE customer SET status='$_POST[status]' WHERE id='$_POST[hidden]'");
}
$sql = "SELECT * from job";
if (!$result = $link->query($sql)) {
die('There was an error running the query [' . $link->error . ']');}
echo "
<table class='table'>
<thead>
<tr>";
/* Get field information for all columns */
while ($finfo = $result->fetch_field()) {
echo "
<th>" . $finfo->name . "</th>"; }
echo " </tr>
</thead>
<tbody>";
while ($row = $result->fetch_assoc()) {
$job_id = $row['id'];
echo "<form action='' method=post>";
echo "<tr class='info'>
<input type=hidden name=hidden value=" . $row['id'] . ">
<td>" . $row['id'] . "</td>
<td>" . $row['device'] . "</td>
<td>" . $row['model'] . "</td>
<td>" . $row['problem'] . "</td>
<td>
<select class='form-control col-sm-10' id='status' name='status'>
<option value='new' ". ($row['status'] == 'new'? 'selected ': '') .">New</option>
<option value='progress' ". ($row['status'] == 'progress'? 'selected ': '') .">Progress</option>
<option value='wait' ". ($row['status'] == 'wait'? 'selected ': '') .">Wait</option>
<option value='done' ". ($row['status'] == 'done'? 'selected ': '') .">Done</option>
<option value='close' ". ($row['status'] == 'close'? 'selected ': '') .">Close</option>
</select>
</td>
<td>
<button type='submit' class='btn btn-primary btn-sm' name='update'>Update</button>
</td>
<td>
<a class='btn btn-primary btn-sm get_info' data-toggle='modal' data-target='#myModal' name='job_id' value= '[$job_id]'>Customer Info</a>
<a class='btn btn-primary btn-sm get_info2' data-toggle='modal' data-target='#myModal2' name='job_id' value= '[$job_id]'>Add Details</a>
</td>
</tr>";
echo "</form>"; }
echo "
</tbody>
</table>";
?>
<!-- ------SCRIPT FOR BUTTON "CUSTOMER INFO"-->
<script>
$(document).ready(function(){
$('.get_info').click(function(){
var job_id = $(this).parent().siblings('input[name=hidden]').val();
$.ajax({
url: 'responses.php',
data: 'job_id=' + job_id,
type: 'POST',
success: function(data){
// console.log(data);
$('.info_data').html(data);
}
});
});
});
</script>
<!-- MODAL THAT SHOW UP AFTER CLICKING ON "CUSTOMER INFO"-->
<div class="container">
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Customer Information</h4>
</div>
<div class="modal-body info_data">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
<!-- ---SCRIPT FOR BUTTON "ADD DETAILS" -->
<script>
$(document).ready(function(){
$('.get_info2').click(function(){
var job_id = $(this).parent().siblings('input[name=hidden]').val();
$.ajax({
url: 'responses2.php',
data: 'job_id=' + job_id,
type: 'POST',
success: function(data){
// console.log(data);
$('.info_data2').html(data);
}
});
});
});
</script>
<!-- MODAL THAT SHOW UP AFTER CLICKING BUTTON "ADD DETAILS"
which allow you to send data to database through the text area -->
<div class="container">
<div class="modal fade" id="myModal2" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Add Job Details</h4>
</div>
<div class="modal-body info_data2">
<form action="" method="post" name="savechanges">
<textarea name="textarea"> </textarea>
<button type="submit" class="btn btn-primary" name="savechanges"> Save changes</button>
<input type="hidden" name="hidden" value="<?php echo $row['id'];?>">
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
<!-- SCRIPT THAT SHOULD be able to send what is written in the text area to the database,-->
<?php
include("connection.php");
if ($link->connect_errno > 0) {
die('Unable to connect to database [' . $link->connect_error . ']');
}
if (isset($_POST['savechanges'])) {
$results = $link->query("UPDATE job SET details='".$_POST['textarea']."' WHERE id=".$_POST['hidden']);
}
?>
</body>
</html>
--------更新 5 ------------------
第 1 节
从表 JOB 中获取数据的 PHP 代码 并显示每行 3 按钮:
- 用于更新状态和优先级的更新按钮
- 客户信息按钮(从“客户”表中获取数据)
- 添加详细信息按钮(通过带有 wusiwug 的模式弹出窗口将信息发送到“表作业的详细信息”列)
- 查看详细信息按钮:从“表作业的详细信息”列中获取数据
第 2 部分:
“客户信息”按钮的脚本
第 3 部分:
点击“客户信息”后显示的模式
第 3 部分:
按钮“添加详细信息”的脚本
第 4 部分: 单击按钮“添加详细信息”后显示的模式 它允许您通过文本区域将数据发送到数据库
第 5 部分: 应该能够将文本区域中写入的内容发送到数据库的脚本
【问题讨论】:
-
我读了 4 次,但我仍然无法理解你在问什么。你能澄清一下吗?
-
...我有,但这不是一个好主意,需要做一些事情,但不知道你为什么要这样做。
-
@Fred -ii- 你能澄清什么不是个好主意吗?
-
因为,稍后查询 MySQL 的任何函数时,您将有一段很长的时间。在这里尝试并提前思考,您就会明白我的意思(总是提前考虑未来)。
-
@TheValyreanGroup - 我试图澄清。