使用JS/jQuery过滤PDO和MySQL查询


Filtering PDO and MySQL queries with JS/jQuery

很抱歉我对这个问题缺乏了解,但是我在任何地方都找不到我的问题的答案。

我有这个MySQL表:

Feed_ID Vehicle_ID  FullRegistration    Colour  FuelType    Year    Mileage Bodytype    Doors   Make    Model   Variant EngineSize  Price   PreviousPrice   Transmission    PictureRefs ServiceHistory  PreviousOwners  Description FourWheelDrive  Options Comments    New Used    Site    Origin  V5  Condition   ExDemo  FranchiseApproved   TradePrice  TradePriceExtra ServiceHistoryText  Cap_ID

如您所见,每一列将包含车辆数据。

我已经使用PDO在我的前端显示了数据库中的所有结果,所有数据都以类似于Ebay的列表样式显示。

现在我需要过滤这些结果,但是我注意到许多结果过滤系统都使用JS。

下面是一些例子,这样你就能更好地理解我在说什么了:

http://www.autotrader.co.uk/search/used/cars/

http://www.motors.co.uk/search/car/

你可以看到所有的过滤器都使用JS,但我有一个问题,理解JS是如何过滤MySQL查询?

我知道这个问题可能有点广泛,但有人可以向我展示JS如何过滤PDO结果的例子,就像我所展示的例子一样?

谢谢

第一个使用了我怀疑是Javascript和服务器端语言的组合方法(很难证明,因为我看不到所涉及的服务器端代码)。为简单起见,我假设这个服务器端语言是PHP,尽管它很容易不是。

基本上,Javascript在第一个网站上所做的就是设置cookie并告诉你刷新页面。刷新后,PHP获取Javascript设置的cookie,并根据这些cookie过滤MySQL查询的结果。

现在,第二个实际上是使用Javascript进行过滤,但同时仍然使用PHP(同样,它可以是任何服务器端语言)。

这是一种叫做AJAX的方法。这是一个内置在Javascript中的函数,它允许你从Javascript中获取另一个页面。发送和接收HTTP请求)。

原因这是有用的,因为一旦你改变了该页面上的一个选项,Javascript可以发送一个HTTP查询使用AJAX像"http://www.motors.co.uk/search/getcarinfo.php?transmission=manual",允许PHP从MySQL获取一个新的数据集,并返回给Javascript(这可能不是他们使用的API入口点,但它必须在他们的Javascript的某个地方)。

一旦Javascript收到来自该页的响应(通常是JSON或XML形式),它就可以修改HTML以更新页面上显示的内容。

直接回答你的问题,Javascript不会过滤数据。MySQL根据PHP查询过滤数据,PHP查询将其响应返回给Javascript。然后,Javascript把它放到屏幕上。