我是Wordpress和Ajax的新手, 真的不知道如何解决此问题, 因此不胜感激。
我正在研究Wordpress主题, 该数据库中的所有学生都显示在一个表中:
<
?phpget_header();
if(have_posts()):
while(have_posts()) : the_post();
?>
<
article class="post page">
<
a href="http://www.srcmini.com/<
?php the_permalink();
?>">
<
?php the_content();
?>
<
!DOCTYPE html>
<
html>
<
head>
<
script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js">
<
/script>
<
link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<
script src="http://img.readke.com/220530/0444212125-1.jpg">
<
/script>
<
style>
}
img {
vertical-align: middle;
}
table {
border-collapse: collapse;
width: 100%;
border-spacing: 50px 0;
text-align: center;
}.hover:hover{
background-color: antiquewhite;
}
td{
padding: 10px;
}
.aligncenter{
text-align: center;
}div.scroll {
position: static;
width: 700px;
height: 400px;
overflow: scroll;
overflow-x: hidden;
}
a {
text-decoration: none;
}<
/style>
<
/head>
<
body>
<
div class="scroll">
<
a href="http://www.srcmini.com/<
?php the_permalink();
?>">
<
?php the_content();
?>
<
/a>
<
?php
$mysqli = NEW MySQLi('localhost', 'root', '', 'wp_db');
if(isset($_GET['order'])){
$order = $_GET['order'];
}else{
$order = 'name';
}if(isset($_GET['sort'])){
$sort = $_GET['sort'];
}else{
$sort ='ASC';
}$result = $mysqli->
query("SELECT * FROM wp_absolventen ORDER BY $order $sort");
$image = $row['bild'];
if($result->
num_rows >
0){$sort == 'DESC' ? $sort = 'ASC' : $sort ='DESC';
// short IF statements
?>
<
div class="table-responsive" style=overflow-x:auto;
>
<
table class="table table-bordered">
<
?php
echo "
<
th>
<
/th>
<
th class='aligncenter'>
<
a href='http://www.srcmini.com/?order=name&
&
sort=$sort'>
Name<
/a>
<
/th>
<
th class='aligncenter'>
<
a href='http://www.srcmini.com/?order=geburtsdatum&
&
sort=$sort'>
Geburtsdatum<
/a>
<
/a>
<
/th>
<
th class='aligncenter'>
<
a href='http://www.srcmini.com/?order=stadt&
&
sort=$sort'>
Wohnort<
/a>
<
/th>
";
?>
<
?php
while($rows = $result->
fetch_assoc())
{
$name = $rows['name'];
$geburtsdatum= $rows['geburtsdatum'];
$stadt = $rows['stadt'];
$p='<
img src="data:image/jpg;
base64, ' . base64_encode( $rows['bild'] ) . '"/>
';
$id = $rows['id'];
?>
<
tr class='hover'>
<
td>
<
?php echo $p;
?>
<
/td>
<
td>
<
input type="button" name="view" value="http://www.srcmini.com/<
?php echo $name;
?>" id="<
?php echo $row["id"];
?>
" class="btn btn-info btn-xs view_data" />
<
/td>
<
td>
<
?php echo $geburtsdatum;
?>
<
/td>
<
td>
<
?php echo $stadt;
?>
<
/td>
<
/tr>
<
?php}}else{
echo "No records returned.";
}
?>
<
/table>
<
/div>
<
/body>
<
/html>
<
/article>
<
div id="dataModal" class="modal fade">
<
div class="modal-dialog">
<
div class="modal-content">
<
div class="modal-header">
<
button type="button" class="close" data-dismiss="modal">
&
times;
<
/button>
<
h4 class="modal-title">
Employee Details<
/h4>
<
/div>
<
div class="modal-body" id="employee_detail">
<
/div>
<
div class="modal-footer">
<
button type="button" class="btn btn-default" data-dismiss="modal">
Close<
/button>
<
/div>
<
/div>
<
/div>
<
/div>
<
script>
$(document).ready(function(){
$('.view_data').click(function(){
var employee_id = $(this).attr("id");
$.ajax({
url:"select.php", method:"post", data:{employee_id:employee_id}, succes:function(data){
$('#employee_detail').html(data);
$('#dataModal').modal("show");
}
});
});
});
<
/script>
<
?php
endwhile;
else :
echo '<
p>
No contect found<
/p>
';
endif;
get_footer();
?>
到目前为止一切顺利, 但是当你单击学生姓名时, 它应该打开一个引导程序模版, 其中显示有关学生的信息(从数据库中获取)。
<
script>
$(document).ready(function(){
$('.view_data').click(function(){
var employee_id = $(this).attr("id");
$.ajax({
url:"select.php", method:"post", data:{employee_id:employee_id}, succes:function(data){
$('#employee_detail').html(data);
$('#dataModal').modal("show");
}
});
});
});
<
/script>
该函数调用另一个php文件(select.php), 打开模式并从数据库中获取信息。 select.php文件:
<
?php
if(isset($_POST["employee_id"]))
{
$output = '';
$connect = mysqli_connect("localhost", "root", "", "wp_db");
$query = "SELECT * FROM wp_absolventen WHERE id = '".$_POST["employee_id"]."'";
$result = mysqli_query($connect, $query);
$output .= '
<
div class="table-responsive">
<
table class="table table-bordered">
';
while($row = mysqli_fetch_array($result))
{
$output .= '
<
tr>
<
td width="30%">
<
label>
Name<
/label>
<
/td>
<
td width="70%">
'.$row["name"].'<
/td>
<
/tr>
';
}
$output .= "<
/table>
<
/div>
";
echo $output;
}
?>
但是, 当我尝试单击学生姓名时, 模式未打开, 而是出现此404错误:无法加载资源:服务器的状态为http://localhost/wordpress/sample-page/select.php 404(未找到)。这两个文件都在同一文件夹中。
该代码在不在wordpress文件夹中时有效。
M.M.
#1【加载资源失败(服务器响应,状态为404 Not Found)】我从不同的线程回答了类似的问题… 基本上, 建立/编写一个简单的php文件, 如果你可以直接通过浏览器访问它, 则可以通过ajax调用它。 -“ 页面标题” .php, 然后使用类似于上述约定的” 页面标题” 创建空白页面, 然后设置永久链接URL。这是另一个线程。
#2尝试使用data属性发送文件路径, 如下所示
<
td>
<
input type="button" name="view" value="http://www.srcmini.com/<
?php echo $name;
?>" id="<
?php echo $row["id"];
?>
" class="btn btn-info btn-xs view_data" />
<
/td>
可
<
td>
<
input type="button" name="view" value="http://www.srcmini.com/<
?php echo $name;
?>" id="<
?php echo $row["id"];
?>
" class="btn btn-info btn-xs view_data" data-file="<
?php echo get_template_directory() . '/select.php';
?>
" />
<
/td>
在下面,
url:"select.php",
可
url: $(this).data('file'),
我还没有从我身旁进行测试。但这只是你的代码方式的一个想法。
编辑:
<
td>
<
input type="button" name="view" value="http://www.srcmini.com/<
?php echo $name;
?>" id="<
?php echo $row["id"];
?>
" class="btn btn-info btn-xs view_data" />
<
/td>
可
<
td>
<
input type="button" name="view" value="http://www.srcmini.com/<
?php echo $name;
?>" id="<
?php echo $row["id"];
?>
" class="btn btn-info btn-xs view_data" data-file="<
?php echo get_template_directory_uri() . '/select.php';
?>
" />
<
/td>
在下面,
url:"select.php",
可
url: $(this).data('file'),
#3将php文件另存为page-select.php并在Wordpress页面中创建一个名为” select” 的空白页面就可以了!虽然我没有使用url:” / select” , 但只使用了” select” , 但是它起作用了!再次感谢你的宝贵时间Anthony和Thirumani guhan!:)
推荐阅读
- 致命错误(找不到类”WP_Customize_Control”)
- WordPress自定义帖子中面临错误
- WP排除多个页面模板
- 在相关的Post WordPress中排除草稿发布
- 错误WordPress jQuery表单错误说未引用函数()
- esc_attr()和sanitize_text_field()之间的确切区别
- 来自wordpress主题的functions.php文件错误
- #yyds干货盘点#Pandas数据清洗实用指南
- Linux操作相关