很抱歉我对这个主题缺乏了解,但我无法在任何地方找到答案。
所以我有这个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结果的例子,就像我展示的例子一样吗?
由于
答案 0 :(得分:0)
第一个使用我怀疑是Javascript和服务器端语言的组合方法(很难证明,因为我看不到涉及的服务器端代码)。为简单起见,我假设这种服务器端语言是PHP,尽管它很容易就不会出现。
基本上,所有Javascript在第一个网站上都在设置cookie并告诉你刷新页面。刷新后,PHP将获取Javascript设置的cookie,并根据这些cookie过滤MySQL查询的结果。
现在,第二个实际上是使用Javascript进行过滤,但同时仍然使用PHP(同样,它可以是任何服务器端语言)。
这是一种名为AJAX的方法。它是Javascript内置的一个函数,允许您从Javascript中获取另一个页面(也就是发送和接收HTTP请求)。
这很有用的原因是因为一旦你在该页面上更改了一个选项,Javascript就可以使用AJAX将HTTP查询发送到类似“http://www.motors.co.uk/search/getcarinfo.php?transmission=manual”的内容,从而允许PHP从MySQL获取新的数据集。将它返回给Javascript(这可能不是他们使用的API入口点,但它必须在他们的Javascript中的某个地方。)
一旦Javascript收到该页面的响应(通常采用JSON或XML格式),它就可以修改HTML以更新页面上显示的内容。
要直接回答您的问题,Javascript不会过滤数据。 MySQL基于PHP查询过滤数据,该查询返回其对Javascript的响应。然后,Javascript只是把它放在屏幕上。