2009-12-08 2 views
0

Есть ли лучший способ структурировать это, используя html и php?html php и select box упрощение

Если бы у меня было миллиард значений, это был бы плохой способ настроить их, не говоря уже о потреблении времени?

Я новичок, и я уверен, что есть лучший способ, однако, мой способ сделать это, кажется, длинный путь, как в длинном делении, я уверен, что есть более простые способы настройки этого и это то, что я ищу, или спрашиваю?

<select name="dimes" > 
    <option value=" ">--Select Dimes---</option> 
    <option value=".10">10c</option> 
    <option value=".20">20c</option> 
    <option value=".30">30c</option> 
    <option value=".40">40c</option> 
    <option value=".50">50c</option> 
    <option value=".60">60c</option> 
    <option value=".70">70c</option> 
    <option value=".80">80c</option> 
    <option value=".90">90c</option> 
    <option value="1.00">$1.00</option> 
    </select> 

Спасибо, что не пылали Ньюба, я все еще учусь.

+0

Почему вам нужны эти значения в selectbox? не имеет смысла. Было бы разумно, если бы вы говорили о сложных именах. – yoda

+0

Сложные имена? Таким образом, пользователь может выбрать варианты деноминации, которые они хотели бы получить от десяти центов, начиная с 10c до 1,00 или 100 dimes ... – Newb

+0

Я изначально просто спрашивал, есть ли более простой способ сделать это, поскольку я все еще участвую; однако теперь у меня есть комплексные имена Google, и попытайтесь выяснить, какие «смысл» и «сложные имена» связаны с упрощением приведенной структуры кода выше. – Newb

ответ

1

Если вы предпочитаете использовать смешанный PHP & HTML, вы можете использовать такую ​​конструкцию:

<select name="dimes" > 
    <option value=" ">--Select Dimes---</option> 
    <?php foreach($dates as $key=>$value): ?> 
     <option value="<?php echo $key; ?>"> 
     <?php echo $value; ?> 
     </option> 
    <?php endforeach; ?> 
</select> 

Обратите внимание, что вы должны определить и заполнить $dates массив перед использованием в foreach заявление. Вы можете заполнить $dates любыми данными, которые вы хотите. В этом примере массив должен быть примерно таким: array('0.1'=>'0.1', '0.2'=>'0.2'); Но и вы можете пойти дальше и использовать результат запросов MySQL для заполнения массива ключами и значениями. См. foreach для более подробной информации.

+0

Святые курят, это здорово - Алекс Пилипенко, спасибо. – Newb

+0

Я использую это для профессионалов: и?. И Newbs как WTF есть: и?. – Newb

+1

Я не совсем понял вопрос, но я думаю, вы спрашиваете об альтернативном синтаксисе (см .: http://www.php.net/manual/en/control-structures.alternative-syntax.php). Этот синтаксис делает ваш код более читаемым и отделяет HTML-код от PHP. Знак '?' был использован для открытия и закрытия фрагментов PHP-кода (см. http://php.net/manual/en/ini.core.php). Общее правило для альтернативного синтаксиса: вам нужно положить двоеточие после инструкции foreach (...): "и закрыть цикл с" endforeach; " заявление. – Alex

4

Вы хотите знать, что создательский список?

Что-то похожее на это должно хватить:

<?php for($i=0.1;$i<=1;$i+=0.1): ?> 
     <option value="<?php echo $i; ?>"><?php echo $i; ?></option> 
<?php endfor; ?> 
+0

Да, спасибо, это за создание списка, спасибо, но в чем дело:?, Я знаю, это сокращенная нотация, но что это значит: ? – Newb

+1

Это просто альтернатива синтаксису цикла. Он позволяет вам входить и выходить из HTML без использования обычного синтаксиса {}, и я считаю его более чистым для чтения. http://uk.php.net/manual/en/control-structures.alternative-syntax.php – Tom

+1

Осторожно с использованием чисел с плавающей точкой в ​​цикле. Неточность очень быстро складывается и может оставить вас с еще одним или меньшим количеством итераций, чем вы ожидали, так как «$ i» вполне может оказаться «немного больше или меньше 1». Лучше 'for ($ i = 1; i <= 10; i ++) {' ... ' 0c' (случай $ 1 требует специальной обработки). – bobince