0

同じページでデータを取得するために、3 種類のクエリがあります。どうすれば完全に結合できますか?クエリは次のとおりです。

<?php
$sql = "SELECT * FROM general WHERE ((day1sql >= now()))";
if($_GET!=""){
$mydate = mysql_real_escape_string($_GET['datepicker']);
if($mydate!=""){    
$sql = "SELECT * FROM general WHERE ((day1 = '$mydate'))";  
}       
}
if($_GET!=""){
$city1 = mysql_real_escape_string($_GET['cityText']);
if($city1!=""){ 
$sql = "SELECT * FROM general WHERE (city = $city1))";  
}       
}

datepicker はカレンダーであり、ユーザーは日付に従ってデータを取得できます。ドロップダウンメニューがあり、ユーザーは都市名を選択できます。最初の 2 つのクエリは正常に動作しています。3 番目のクエリを統合する方法がわかりません。

4

2 に答える 2

2

論理OR演算子を使用して、フィルター条件を組み合わせることができます。

SELECT * FROM general WHERE day1sql >= now() OR day1 = '$mydate' OR city = '$city1'
于 2012-09-02T11:40:42.740 に答える
0

このようなものがうまくいくかもしれません:

sql = "SELECT * FROM general WHERE (day1sql >= now())";

if(isset($_GET['datepicker'])){
    $mydate = mysql_real_escape_string($_GET['datepicker']);
    $sql .= " AND (day1 = '$mydate')";         
}
if(isset($_GET['cityText'])){
    $city1 = mysql_real_escape_string($_GET['cityText']);
    $sql .= " AND (city = $city1)";  
}       

// execute $sql

AND条件でSQLを追加しています。それがあなたがやろうとしていることだと思います。

于 2012-09-02T11:48:33.753 に答える