的替代方案好的,我有三個表格,其中包含世界各國的國家和我的註冊表格的城市。問題是這些城市的名單太龐大了。它總共包含48,314個條目。所以我的網站被吊死,瀏覽器顯示停止腳本的消息。我使用Mozilla瀏覽器的目的。巨大的數據庫列表
這是我使用來獲取城市,州和國家代碼:
$country = "SELECT * FROM countries";
$country = $pdo->prepare($country);
$country->execute();
$state = "SELECT * FROM states";
$state = $pdo->prepare($state);
$state->execute();
$city = "SELECT * FROM cities";
$citq = $pdo->prepare($city);
$citq->execute();
這是我的jQuery代碼:
$(document).ready(function() {
$("#country").change(function() {
if ($(this).data('options') == undefined) {
$(this).data('options', $('#state option').clone());
}
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#state').html('<option value="">Select State</option>').append(options);
});
$("#state").change(function() {
if ($(this).data('options') == undefined) {
$(this).data('options', $('#city option').clone());
}
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#city').html('<option value="">Select City</option>').append(options);
});
});
這是我的HTML:
<select name="country" id="country">
<option value="">Select Country</option>
<?php while($i = $country->fetch()){ extract($i); ?>
<option value="<?php echo $id; ?>"><?php echo $name; ?></option>
<?php } ?>
</select>
<select name="state" id="state">
<option value="">Select State</option>
<?php while($j = $state->fetch()){ extract($j); ?>
<option value="<?php echo $country_id; ?>" data="<?php echo $id; ?>"><?php echo $name; ?></option>
<?php } ?>
</select>
<select name="city" id="city">
<option value="">Select City</option>
<?php while($k = $citq->fetch()){ extract($k); ?>
<option value="<?php echo $id ; ?>" data="<?php echo $state_id; ?>"><?php echo $name ; ?></option>
<?php } ?>
</select>
現在任何人都可以請幫助我得到一個解決方案,如何我可以完全順利地加載它沒有得到我的網站吊死每當頁面刷新?
考慮使用分頁 –
全球範圍內的'extract($ i)'** YUK ** – RiggsFolly
另外,您也許可以使用一個查詢並加入這些表,並且在使用適當的索引時,如果它們有任何共同點。 –