如何调用php到wordpress页面ajax


How to call php into wordpress page ajax

我正在制作一些页面,其中将有一些从数据库排序的内容。一个已经排序php,我需要调用它可能按按钮,我需要php输出写入一些div已经在页面上。这可能吗?

sorting.php

<?php
mysql_connect("localhost", "login", "pass") or die(mysql_error());
mysql_select_db("database");
$result = mysql_query("SELECT * FROM table ORDER BY added ASC");
while($row = mysql_fetch_array($result))
  {
  echo "<div class='something'>";
  echo "<a href='$row[link]'>";
  echo "<img src='$row[img]' height='125' width='125'/>";
  echo "<p>$row[name]</p></a></div>";
  echo "<br>";
  }
?> 

每种类型的排序或筛选将由不同的php处理。这是制作这种页面的好方法吗?还是有更简单更好的方法?还有一件事。当选择不同类型的过滤器时,是否可能有一些过渡?我想这样写:quicksand

如果您可以在您的页面中包含jQuery,它有一个简便的方法来实现这一点:.load()。最终的javascript可能看起来像这样:

$(document).ready(function() {
    $("#searchButton").bind('click', function() {
        $("#resultsDiv").load(
            'http://mysite.com/sorting.php',
            { // parameters, in object literal format
               sortDir: 'asc',
               sortCol: 'lastname'
               // etc.
            }
        );
    });
});

你用你的站点/标记的真实信息替换mysite.com, searchButton和resultsDiv。您还可以使用jquery选择器从页面元素中获取排序参数,如下所示:$("#sortDir").val()—假设有一个文本框、文本区域或选择框。还有其他方法可以检索复选框和单选按钮,假设您的表单使用它们。回答你的其他问题:

1)每种类型的排序或筛选将由不同的php处理。这是制作这种页面的好方法吗?还是有更简单更好的方法?

数量少也不是不合理的。不接受服务器上的任何参数是确保不允许恶意输入的一种方法。当您需要更改表名或所选择的列,并且必须修改每个文件时,它往往会变得笨拙。您还需要认识到,如果您允许过滤器和排序的组合,那么您就是在支持它们的交集。如果你有3个过滤器和4个排序,那就是12种组合。如果你想添加另一个排序和另一个过滤器,你必须为过滤器添加4个新页面,为排序添加5个新页面——而且每次都变得更糟。

大多数人会选择将所有数据转到同一页面,并且只有该页面负责验证用户输入、制定查询和返回结果。这种模式通常被称为DRY,即不要重复自己。但是,如果您接受用户输入,则需要非常小心地验证它(在服务器端!)不要相信用户输入!),不允许SQL注入攻击。

2)还有一点。当选择不同类型的过滤器时,是否可能有一些过渡?我想这样写:流沙

那个动画非常复杂。他们在每个页面显示的图标之间运行差异,并通过编程自定义哪些图标可以缩小,爆炸,移动等等。我可以更详细地说明如何自己做……

但是你知道吗?这是一个插件,与jQuery 1.3+兼容,并在MIT &GPLv2,所以你应该没有问题,将其纳入您的网站。查一下文档,自己试一试。我看不出对返回的标记类型进行排序有什么内在的不兼容之处。我注意到他们的例子是使用li标签进行排序,你的例子返回是使用div。但这不应该是一个主要的挂起,如果是,只返回li s代替。当你在使用它时遇到问题时,发布另一个问题,适当地标记它,并准备好发布你在这方面尝试过的所有内容。