如何构造SQL查询以从不同的行中的同一个表中获取不同的列?

时间:2014-01-29 10:04:37

标签: php mysql

假设我在数据库中有一个表,如: 它包含一些类型及其值,这些值对于每个客户端和语言都是不同的: -

cname  | clang   | blogs | article| directory | video
John   | English | 4.5   | 4      | 5         | 10 
Jasmin | German  | 2     | 3      | 1.2       | 7  

我的Php页面如下所示: -

这里我使用了两个下拉:

  

| clientname |(/ 首先下拉以选择客户名称 /)

     

| clientlanguage |(/ 第二个选择语言的基础上   客户端名 /)

            Language
Blogs     | value  |
Article   | value  |
Directory | value  | 
Video     | value  |

我需要的是如何使用php和mysql以这种格式从我的表中获取这些值,而不是jquery

3 个答案:

答案 0 :(得分:0)

SQL查询和PHP是服务器端通信和计算。在选择第一个下拉列表之后,如果不使用JS之类的东西再次与服务器通信并检索您正在寻找的内容,则无法更改第二个下拉列表。

您是否只是询问如何查询:

SELECT blogs, article, directory, videos FROM tablename WHERE cname='clientname' AND clang='clientlanguage'

AND用于选择满足BOTH参数的行。

答案 1 :(得分:0)

不可能没有js。一旦PHP发出页面,PHP就完成了工作,之后就无法更改网站......但是猜猜是什么?这是JS的工作

答案 2 :(得分:0)

您可以将请求发布到同一个PHP页面,并将第一个下拉列表的值设置为所选值,并使用第一个下拉列表中所选值的查询结果填充第二个请求。 此PHP页面还将包含嵌入其中的HTML UI。然而,这是实现所述行为的古老方法。你应该考虑使用AJAX。它非常简单易用。

对于查询,您应该执行类似

的操作
select blogs, article, directory, video from table where cname="abc" and clan="English";

其中abc是在第一个下拉列表中选择的值,英语是在第二个下拉列表中选择的值