Javascript PHP上的Jquery从不同的文件创建HTML内容
首先,对于PHP/AJAX,我是一个完全的初学者,如果我在下面的文章中没有正确地解释一些事情,我会提前表示歉意 长话短说:我正在用PHP/AJAX编辑用户内容创建一个简单的管理场景。但是,我不知道如何处理通过jQuery.post生成的HTML内容 简而言之: 我有一个admin_panel.php页面,可以生成所有用户的下拉列表。在下拉选择之后,我使用jQuery.post并将选择的用户名发送到info.php以获取关于该用户名的更多信息。php在表中回显所有查询的数据 现在,在这个PHP生成的表中,每个信息块都放在一个“td”标记中,我将输入一个文本字段,我想使用另一个.post对其进行操作-我希望管理员能够对其进行更新 你们能告诉我怎么做吗?我尝试在回显内容中添加“script”标记,但不起作用,当我尝试从admin_panel.php中选择回显表时,也不起作用,这很简单,因为表不在源代码中,所以我无法从中选择id admin_panel.php仅适用于相关内容Javascript PHP上的Jquery从不同的文件创建HTML内容,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,首先,对于PHP/AJAX,我是一个完全的初学者,如果我在下面的文章中没有正确地解释一些事情,我会提前表示歉意 长话短说:我正在用PHP/AJAX编辑用户内容创建一个简单的管理场景。但是,我不知道如何处理通过jQuery.post生成的HTML内容 简而言之: 我有一个admin_panel.php页面,可以生成所有用户的下拉列表。在下拉选择之后,我使用jQuery.post并将选择的用户名发送到info.php以获取关于该用户名的更多信息。php在表中回显所有查询的数据 现在,在这个PHP生成
<select name='users' id='users'>
<option value="" disabled selected>Select user</option>
<?php
$sql = mysql_query("SELECT * FROM users WHERE id <>'".$_SESSION['user_id']."'ORDER BY username DESC") or die(mysql_error());
while($row=mysql_fetch_assoc($sql)){
$username=$row['username'];
echo "<option value='".$username."'>".$username.'</option>';
}
?>
</select>
<script type="text/javascript">
$(document).ready(function(){
$('#users').change(function(event) {
$.post('info.php', { selected: $('#users').val() },
function(data) {
$('#user_info').html(data);
}
);
});
$( '#about_change' ).focusout( function(){
$.post( "update.php?about_change=true&userid=true", {
about_change : $ ('#about_change').val(),
userid : $user_id
},
function( data ){
$('#change_about_admin').html( data );
}
)
});
});
</script>
update.php
我相信您要做的是向用户显示一个用户下拉列表,选中后,将显示一个包含该用户详细信息的表格,其中包含一些由javascript触发的操作 我的建议是,保持你的文件模块化,这样你更容易管理。 根据我的理解,这里有一个非常基本的示例方法,使用我所知道的最佳实践。我希望你明白我的意思 users.php processUser.php
希望这有帮助。干杯 变量$user\u id是在哪里定义的?您有一个uderid,我假设它是userid?userid是一个POST变量,假设它携带$user\u id。但是$user_id只在info.php中生成。这将是一个很长的解释。你的代码中有这么多的缺陷和错误实践……我会尽我最大的努力解决你的问题。这正是我所需要的,作为一个完全的初学者,我仍然需要学习如何使用良好的实践有效地编写代码。在对代码进行了一些修改之后,它现在工作得非常好。干杯!我曾经是个初学者,环顾四周很困难。希望这一个能帮助你在比我更短的时间内到达更远的地方。祝你一切顺利。
$selected = isset($_POST['selected']) ? $_POST['selected'] : 'nothing';
$sql=mysql_query("SELECT * FROM users WHERE username='".$_POST['selected']."'");
while($row = mysql_fetch_assoc($sql)){
$user_id = $row['id'];
$username = $row['username'];
$name = $row['name'];
$date = $row['date'];
$email = $row['email'];
$avatar = $row['avatar'];
$about = $row['about'];
$admin = $row['admin'];
}
echo("
<table id='user_table'>
<tr colspan='8'>
<th>User ID</th>
<th>Username</th>
<th>Joined</th>
<th>Name</th>
</tr>
<tr>
<td>".$user_id."</td>
<td>".$username."</td>
<td>".$date."</td>
<td>".$name."<br/><a class='change_admin' href='#'>Change</a></td>
</tr>
<tr colspan='8'>
<th>About</th>
<th>E-mail</th>
<th>Avatar</th>
<th>Admin</th>
</tr>
<tr colspan='8'>
<td>".$about."<br/><a id='change_about_admin' href='#'>Change</a><br/><input type='text' id='about_change' name='about_change'></td>
<td>".$email."<br/><a class='change_admin' href='#'>Change</a></td>
<td><img class='avatar_small' src='$avatar' /><br/><a class='change_admin' href='#'>Delete</a></td>
<td>");
if(isAdmin($user_id) == 1){
echo "Yes";
}
else
echo "No";
echo ("<br/><a class='change_admin' href='#'>Change</a></td>
</tr>
<tr>
<td colspan='8'>
<a href='#'>DELETE THIS ACCOUNT</a>
</td>
</tr>
</table>
");
if(isset($_POST['about_change']) && isset($_POST['uderid'])){
$about_change = $_POST['about_change'];
$userid = $_POST['userid'])
echo update($userid, 'about', $about_change);
}
<?php
// Get your users from DB and tabulate into $userList.
$username = 'Example';
$userlist = [];
$userList .= '<option name="userID" value="$userID">'.$username.'</option>'
?>
<select id="users">
<option selected>Select Users</option>
<?php echo $userList; ?> <!-- This will be generated by php in the script below -->
</select>
<section id="userDetailContainer">
<!-- This will contain the user detail table -->
</section>
// Include the javascript.
<script src="functions.js"></script>
$(function(){
var theURL = 'processUser.php'
var data = {}
$('#users').on('change', function(){
data.command = 'displayUser'
data.userID = $(this).val()
$.post(theURL, data, function(result){
$('#userDetailContainer').html(result)
})
})
// This is where you assign event on dynamic contents.
$('#userDetailContainer').on('focusout', '#username', function(e){
data.username = $(this).val()
data.command = 'updateUsername'
$.post(theURL, data, function(result){
//Do what you want with the response.
console.log(result)
})
})
})
<?php
//Insert MySQL here...
if(isset($_POST['command']){
$cmd = $_POST['command'];
$userID = $_POST['userID'];
$username = 'Example';
}
switch($cmd){
case 'displayUser':
// Insert your user details here. Below is an example of an input
echo '<input id="username" type="text" placeholder="Update Username" value="$username" />'
break;
case 'updateUsername':
echo 'Username Updated!'
break;
//Insert other cases for other commands from Javascript
}
?>