كيفية اختيار عنصر نموذج اختيار المنسدلة البلد دون استخدام قاعدة البيانات؟

StackOverflow https://stackoverflow.com/questions/1179566

  •  19-09-2019
  •  | 
  •  

سؤال

لدي رمز PHP هذا الذي أستخدمه لإجراء اختيار نموذج منسدلة للبلد وأود القضاء على هذا الاستعلام الإضافي MySQL على الرغم من إخراج الإخراج مثل التعليمات البرمجية في التعليمات البرمجية إلى الصفحة ومع ذلك، فقد سأبت على كيف يمكنني الحصول على بلد المستخدم تم اختياره إذا لم أستخدم الاستعلام للحصول على البيانات، فيرجى تقديم المشورة

<select name="country"  style="width:180px;" onChange="do_get_rest_popup(this.value)" o>
<?PHP
$sql="SELECT * FROM  users_countries  ORDER BY country";
$result_country = executequery($sql);   
while($line_country = mysql_fetch_array($result_country)){
   $db_country_id = $line_country['id']; 
   $country_name = $line_country['country'];
?>
<option value="<?=$db_country_id?>"<? if($line_member['country']==$db_country_id){ echo " SELECTED";} ?>><?=$country_name?></option>
<?
}
?>
</select>

رمز حول إخراج هذا في الصفحة، لقد اشتربت كمية البلدان لأسفل لهذا المنصب

<select name="country"  style="width:180px;" onChange="do_get_rest_popup(this.value)" o> 
<option value="217">Turkmenistan</option> 
<option value="218">Turks and Caicos Islands</option> 
<option value="219">Tuvalu</option> 
<option value="220">Uganda</option> 
<option value="221">Ukraine</option> 
<option value="222">United Arab Emirates</option> 
<option value="223">United Kingdom (Great Britain)</option> 
<option value="224" SELECTED>United States</option> 
</select>
هل كانت مفيدة؟

المحلول

ماذا عن شيء مثل هذا؟

<?
$countries = array(
"217" => "Turkenistan",
"218" => "Turks and Caicos Islands",
"219" => "Tuvalu",
"220" => "Uganda",
"221" => "Ukraine",
"222" => "United Arab Emirates",
"223" => "United Kingdom (Great Britain)"
"224" => "United States");
?>

<select name="country" style="width:180px;" onChange="do_get_rest_popup(this.value)" /> 
<?php
$countryCounter = 1;
$amtOfCountries = count($countries);
foreach ($country as $id => $c) {
    if ($countryCounter == $amtOfCountries) { 
    echo "<option value=\"$id\" SELECTED>$c</option>";
    } 
    else {
    echo "<option value=\"$id\">$c</option>";
    $countryCounter++;
        }
}
?>
</select>

تحرير: لم اختبر هذا ولكن يجب أن تحصل على الفكرة

نصائح أخرى

يمكنك:

  • اطبع مجموعة من البلدان كعود PHP باستخدام VAR_EXPORT ()، ثم تشغيلها في مكان ما.
  • ذاكرة التخزين المؤقت للقيم من قاعدة البيانات باستخدام شيء مثل الكمثرى cache_lite. - هذا واضح جدا للاستخدام، وهذا يعني أنه إذا قمت بتعديل القيم في قاعدة البيانات، فكل ما عليك فعله هو حذف ملف ذاكرة التخزين المؤقت لجعله مجنته.

مع كل من الخيارات أعلاه، يمكنك بعد ذلك الحصول على صفيف يمكنك حله بطريقة مماثلة لما تفعله الآن من أجل إنشاء HTML.

يمكنك المخزن المؤقت HTML ثابت والقيام بسلسلة بسيطة استبدال القيمة المحددة.

1) حفظ قائمة HTML البلد countries.html

2) في وقت الحمل، اقرأ countries.html في متغير واستبدال سلسلة:

$countries = file_get_contents('countries.html');    
echo str_replace('value="'.$userCountry.'"','value="'.$userCountry.'" SELECTED',$countries);

ليس فعالة الذاكرة للغاية، ولكنه يحفظ قاعدة البيانات ضرب ووقت المعالجة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top