2012-04-16 3 views
0

Попытка выяснить, как лучше написать этот кусок кода. Я хочу получить список членов списка, а затем создать массив параметров для раскрывающегося списка, чтобы отображать внутри раскрывающегося списка выбора, а также иметь возможность отображать «Пожалуйста, выберите вариант». Однако что, если то, что возвращается из функции getAllRoster, равно NULL, это то, что я вернул, если результаты не возвращаются из запроса. Как я должен обрабатывать то, что я просто хочу, чтобы пустая опция отображалась.По умолчанию Опция и возврат NULL

Также мне нужно подумать о том, чтобы выполнить функцию для извлечения всех союзников по этому конкретному вопросу, а затем отобразить этого союзника в качестве союзника по умолчанию в раскрывающемся списке для каждого раскрывающегося списка.

Контроллер:

$rosterList = $this->bios->getAllRoster(); 
$allies = array(); 
$allies[''] = 'Please Select An Opion'; 
foreach ($rosterList AS $ally) 
{ 
    $allies[$ally->id] = $ally->rosterName; 
} 

Вид:

<?php echo form_label('Ally 1', 'ally1'); ?> 
    <div> 
    <?php echo form_dropdown('ally1', $allies, ''); ?> 
</div> 
<?php echo form_label('Ally 2', 'ally2'); ?> 
    <div> 
    <?php echo form_dropdown('ally2', $allies, ''); ?> 
</div> 
<?php echo form_label('Ally 3', 'ally3'); ?> 
    <div> 
    <?php echo form_dropdown('ally3', $allies, ''); ?> 
</div> 

EDIT:

То, что я хочу сделать это, если массив союзников пуст он должен отобразить сообщение Нет борцов в базе данных, но вместо этого он дает мне ошибку в моем файле просмотра.

Контроллер: pastebin.com/1Bf721zJ

Вид:

<?php echo form_label('Ally 1', 'ally1'); ?> 
<div> 
     <?php if ($allies[''] == 'No Wrestlers In Database') { 
      echo $allies['']; 
     } 
     else { 
      echo form_dropdown('ally1', $allies, ''); 
     } ?> 
    </div> 

Я также интересно, о чем-то. У меня есть переменная alliesList, которая либо имеет значение набора результатов, либо значение null, и то, что я хочу сделать, если в его наборе результатов каждый из союзников является значением по умолчанию в каждом раскрывающемся списке.

+1

Вы понимаете, что можете эхом ответить

and
? его беспорядочно со всеми этими тегами php – Jacxel

+0

Да, но я - тип, чтобы держать html как есть, если я не нуждаюсь в нем динамически созданным, как внутри цикла или что-то в этом роде. –

+0

'foreach => hisOwn' Я думаю, – Jacxel

ответ

1

Вы могли бы сделать что-то вроде этого:

$rosterList = $this->bios->getAllRoster(); 
$allies = array(); 

if (empty($rosterList) { 
    $allies[] = 'nothing to display'; 
} 
else 
{ 
    $allies[] = 'Please Select An Option'; 
    foreach ($rosterList AS $ally) 
    { 
     $allies[$ally->id] = $ally->rosterName; 
    } 
} 

также на ваш взгляд, если вы не хотите, чтобы отобразить раскрывающийся можно поставить условный, чтобы отобразить что-то другое, например:

<?php if ($allies[0] == 'nothing to display') { 
echo $allies[0] 
} 
else { 
    echo form_dropdown('ally1', $allies, ''); 
} ?> 
+0

Очень приятно! Однако как насчет второй части моего вопроса. Что мне нужно сделать - это сделать функцию для извлечения союзников-членов, а затем каким-то образом привязать их к каждому из выпадающих списков в правильном порядке, то есть если ally1 в db имеет значение 1, тогда он отображает опцию с этим идентификатором, имеющим соответствующее значение. –

+0

Если вы просто хотите отобразить по умолчанию, из списка, который у вас уже есть, проверьте документацию. Но если вы имеете в виду, вы хотите отобразить три разных списка, вам нужно подумать немного сложнее о том, как вы выбираете своих союзников. Или снова сформулируйте вопрос, таким образом, чтобы это было легче понять. – Stevo

+0

Фактически, когда я это делаю, он дает мне неопределенные переменные союзников в представлении. –

1

Я не уверен, я полностью понимаю ваш вопрос, но если им прямо не могу просто сделать

if $_GET['allies'] == "Please select an option"{ 
    $something = Null 
} 
else{ 
    $something = $_GET['allies'] 
} 

и использовать $something, где бы вы использовали $_GET['allies']?

+0

Я должен был упомянуть, что я использую codeigniter –

+0

Я никогда не использовал codeIgnighter, поэтому я не знаю, как это важно – Jacxel

Смежные вопросы