2013-10-28 4 views
0

Я хотел бы иметь возможность хранить следующий элемент select в комплекте с циклом foreach php, который его конструирует внутри переменной, которая затем может быть включена в динамически создаваемую форму. (Первые две строки показывают только то, что $ оператор и $ lengths.) Решение, которое я попробовал, приведен ниже, но он не позволит мне помещать цикл foreach внутри переменной.Как хранить элемент HTML Select внутри переменной php?

//$statement = 'in %s days %s will have the most followers' 
    //$lengths = array([0]=>'3 days',[1]=>'4 days',[2]=>'6 days') 

    <select name="timeframe"> 
    <?php foreach($lengths as $length) 
    { 
     echo "<option value = " . $length . "/>" . $length . "</option>"; 
    }?> 
    </select> 

Вот мое первое решение attemt (не удалось):

<?php 
$select_a = '<select name="timeframe">' . 
    foreach($lengths as $length) 
{ 
    echo "<option value = " . $length . "/>" . $length . "</option>"; 
} . '</select>'; 

$select_b = '<select name="celebrity">' . 
    foreach($names as $name) 
{ 
    echo "<option value = " . $name . "/>" . $name . "</option>"; 
} . '</select>';?> 

Причина Я делаю это потому, что массивы ($ длины и $ имена) каждому из них будет храниться в последовательную форму в база данных (затем несериализована, чтобы иметь возможность прокручиваться здесь), а в третьем поле будет утверждение с заполнителями% s. Конечным результатом будет то, что я могу просто откликнуться ниже в элементе формы html.

+0

вот как я хотел бы повторить из конечный результат:

ответ

1

Вместо эха и новые переменные, как это, вы можете просто использовать $ select_a. = X.. = Оператор добавляет значения или строки в переменную, вместо того, чтобы заменить старые.

Так что в вашем случае вы могли бы написать:

$select_a = '<select name="timeframe">'; 
foreach($lengths as $length) 
{ 
$select_a .= "<option value = " . $length . "/>" . $length . "</option>"; 
} 
$select_a .= '</select>'; 

$select_b = '<select name="celebrity">'; 
foreach($names as $name) 
{ 
$select_b .= "<option value = " . $name . "/>" . $name . "</option>"; 
} 
$select_b .= '</select>'; 
+0

довольно проницательный мой друг. Это было хорошее решение. –

+0

Спасибо. Пожалуйста, отметьте ответ как правильный, если он решит вашу проблему и был правильным для вашего вопроса. –

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