私は価格が低から高になるように製品を分類するajaxスクリプトを手に入れました。これは私が動的ページを持っていなかったときに機能しましたが、ページエイリアス(urlname)に従ってデータが返されるようになりました。変数が設定されている場所以外のスクリプトで変数を使用する(ajax)
だから、次のクエリ:
$product = "SELECT * FROM `snm_content`
WHERE `catid` = 15 AND state = 1 order by introtext ASC";
はする必要があります
$produc = "SELECT * FROM `snm_content`
WHERE `catid` = '".$conn->real_escape_string($productcatcr[0]['id'])."'
AND state = 1 order by introtext ASC";
しかし、問題は、それが別のページで使用されているため、他のファイルが$conn->real_escape_string($productcatcr[0]['id'])
を認識しない、です。
投稿する必要がありますか?選択されているオプションによって
ここでは、正しいスクリプトがロードされます。
<div class="form-group">
<label class="grey" for="orderby">Sorteer op:</label>
<select class="form-control orderby" name="orderby" id="orderby">
<option value="default" data-post-url="default.php">Standaard</option>
<option value="popularity" data-post-url="populairst.php">Meest bekeken</option>
<option value="highlow" data-post-url="prijshooglaag.php">Prijs: Hoog naar laag</option>
<option value="lowhigh" data-post-url="prijslaaghoog.php">Prijs: Laag naar hoog</option>
</select>
</div>
アヤックス:
$("#orderby").on('change', function() {
var option = $('#orderby > option').filter(':selected');
$.post("ajax/" + option.data("post-url"), {
filter: option.val()
}, function(result){
$("#productviewajax").html(result);
});
});
prijslaaghoog.phpは、$ productcatcrです[0] [ 'ID']は、する必要があります認識された。私のクエリで
$pid = $productcatcr[0]['id'];
<option value="lowhigh" data-post-url="prijslaaghoog.php?id='.$pid.'">Prijs: Laag naar hoog</option>
そして:
いただきました$ productcactr? –
@Jonaswスクリプトをロードする必要があるページのID。 – twan
リファクタリングする必要があります。私はコードベースを見ることはできませんが、ドロップダウンに応じて異なるエンドポイントにajaxリクエストを送信しています。私はこれらの4つのPHPファイルのコードを画像化することはほぼ同じで、orderby sqlの違いだけで同じです。 1つのエンドポイントにリクエストを送信して、ポスト・データにsortパラメータとpageパラメータの両方を渡す方がはるかに意味があります。 – Steve