我正在为计划使用的数据库创建Web前端,以跟踪正在使用的软件和许可证。
我受制于编辑机制。 我的计划是调用该条目的概述页面,单击“编辑”按钮,将打开一个新页面,该页面与概述页面基本相同,只是具有textareas而不是简单的回显,在textareas中,我可以修改现有的值,然后选择“保存”,数据库中的条目将更新。
问题是,尽管我确实有一定的C和Java经验,但是我基本上没有PHP和Javascript等知识,所以我猜解决方案主要是设置正确的url和类似的小东西。
当前状态是:我确实设置了XAMPP Apache + MySQL Server,运行phpMyAdmin和Wordpress。虽然该网站并非真正设计精美,但除了更新机制外,它仍然可以正常工作
当我在“概述”页面上显示给我所有在sql数据库中注册的软件时,可以选择一个条目,它会向我显示有关该软件的更多详细信息。在该页面的顶部是一个“编辑”按钮,可将我引导至上述类似外观的页面,在该页面中,我可以编辑所选条目的值。 通过单击“保存”按钮,我正在启动一个javascript函数,该函数从textareas收集修改后的数据,将数据保存到变量中,并借助ajax将这些数据传递给正在处理的php文件,其中sql-query是开始。
不过我不知道,是否可以将Javascript部分保留在包含具有textareas表的同一php文件中。 我也不知道,包含sql-query的php文件是否必须只是一个文件或一个wordpress站点。
到目前为止,包含网站的文件夹如下所示: -一些文件夹 -一些php文件 -entrys-edit-save.php(带有sql-query的文件) -一些template.php -template-entrys.php(条目的更详细视图) -template-entry-edit.php(带有textareas的更详细视图) 因此,我将所有php文件都放在一个位置,一个文件夹中。
这是我的模板: update sql record using javascript
template-entrys-edit.php
[...]
<?php
global $wpdb;
$result = $wpdb->get_results( "SELECT * FROM entrys");
$entry_id = $_GET['id'];
$name = $_GET['n'];
?>
<div >
<div style="margin-left:5%; margin-right:5%">
<!-- erstellt die Tabelle mit den einzelnen Textareas und füllt sie mit den Werten den Eintrags -->
<table border="1">
<tr>
<th>ENTRY_ID</th>
<td><?php echo $entry_id;?></td>
</tr>
<tr>
<th>NAME</th>
<td><textarea id="ta_name" rows="1" cols="50"><?php echo $name;?></textarea></td>
</tr>
</table>
<script language="javascript">
function test()
{
var entry_idV = <?php echo $entry_id?>;
var nameV = document.getElementById("ta_name").value;
var data = "entry_id="+entry_idV+"&nameV="+nameV;
$.ajax({
url: "entrys-edit-save.php",
type: "GET",
data: {entry_idV:entry_idV.val(), nameV:nameV.val()},
cache: false,
success: function(data) {
if(data=="1")
$('#message').html("<h2>Currennt Entry has been updatet!</h2>")
}
});
}
</script>
<a href ="#" id="a_link" onclick="test();" type="submit">Save</a>
</div >
</div >
entrys-edit-save.php
<?php
global $wpdb;
$result = $wpdb->get_results( "SELECT * FROM entrys");
$entry_idV = $_GET['entry_idV'];
$nameV = $_GET['nameV'];
$sql = mysql_query("UPDATE entrys SET
name = '$nameV'
WHERE entrys.ENTRY_ID = '$entry_idV'") or die (mysql_error());
echo "1";
else echo "0"
?>
我希望数据库中的条目会被修改,但是什么也不会发生。