HI У меня есть два раскрывающихся окна, которые используются для фильтрации данных из таблицы mysql, проблема в том, что окна всегда отображаются так, как если бы они были установлены, когда я использую isset для определения, если какой-либо из них имеет любые выбранные значения.PHP Drop Down Box всегда Isset
Вот код для упаковок.
<?php
if (isset($_POST['referrer']) && $_POST['referrer'] != "referrer") {
$select = $_POST['referrer'];
}
?>
<select name="referrer">
<option value="">Referrer</option>
<?php
// Get records from database (table "name_list").
$list=mysql_query("select DISTINCT referrer from masterip_details WHERE country_code='GB' AND TRIM(IFNULL(referrer,'')) <> '' order by referrer DESC");
// Show records by while loop.
while($row_list=mysql_fetch_assoc($list)){
$referrer = $_POST['referrer']; ?>
<option value="<?php echo $row_list['referrer']; ?>" <?php if($row_list['referrer']==$select){ echo "selected"; } ?>><?php echo $row_list['referrer']; ?></option>
<?php
}
?>
</select>
<?php
if (isset($_POST['returning']) && $_POST['returning'] != "returning") {
$select2 = $_POST['returning'];
}
?>
<select name="returning">
<option value="">Referrer</option>
<?php
// Get records from database (table "name_list").
$list2=mysql_query("select * from repeater_drop_down order by id DESC");
// Show records by while loop.
while($row_list2=mysql_fetch_assoc($list2)){
$returning = $_POST['returning']; ?>
<option value="<?php echo $row_list2['value']; ?>" <?php if($row_list2['value']==$select2){ echo "selected"; } ?>><?php echo $row_list2['title']; ?></option>
<?php
}
?>
</select>
Теперь вот элементы isset кода.
$returning = $_POST['returning'];
$referrer = $_POST['referrer'];
if (isset($returning, $referrer)){
//code //
elseif (isset($returning)){
///code //
elseif (isset($referrer)){
//code //
else {
//code
}
Я не включил запросы, как они работают нормально, но или не выбрать я оба падают вниз коробки код автоматически переходят к первому IsSet как для переменного, даже если только один из боксов имеют вариант, выбранный ,
Любые советы или предложения были бы оценены.
У них всегда есть опция. Так что первое условие всегда будет истинным. Значение для этой опции может быть пустой строкой, но это все равно значение. – David
Вы пытались изменить 'isset' на' empty', чтобы узнать, есть ли у вас лучшие результаты? – DevlshOne