2016-03-30 4 views
0

Не нужно указывать слишком много информации об используемом API, я пытаюсь получить значение параметра , чтобы соответствовать тому, что обернуто внутри тега параметра.PHP foreach array в значение опции

Что-то вроде этого:

<option value="Foo">Bar</option> 

Вот PHP:

<?php 
    $counter = 0; 
    $numbers = $client->account->available_phone_numbers->getList('US', 'Local', array(
    "AreaCode" => $_POST["areacode"])); 
    echo "<select>"; 
    foreach($numbers->available_phone_numbers as $number) { 
     echo "<option value=''>"; 
     echo $number->phone_number; 
     $counter++; 
     echo "</option>"; 
     echo "<br>"; 
    } 
    echo "</select>"; 
    echo "<br>"; 
    echo $counter; 
?> 

С помощью этой формы:

<form action="index.php" method="post"> 
    Area Code:<br> 
    <input type="text" name="areacode" value=""><br> 
    <input type="submit" value="Submit"> 
</form> 
+2

Вы не ставите ''
внутри отборное, и вам нужно добавить 'value' каждой опции:' эхо "<параметр значение ="". htmlspecialchars ($ number-> phone_number). "'>"; ' –

ответ

2

Ваш синтаксис неверен.

echo '<select>'; 
foreach($numbers->available_phone_numbers as $number) { 

    echo '<option value="' .$number->phone_number .'">'; 
    echo $number->phone_number; 
    echo '</option>'; 
} 
echo '</select>'; 

Кроме того, вы не должны иметь br тег в select элемента.

+1

Вы всегда должны переносить значения, которые входят в атрибут с помощью [htmlentities] (http://php.net/manual/en/function.htmlentities.php). Если значение содержит символы, такие как '' 'или'> ' или другие, которые могут сломать структуру html. Но ответ верен в целом. –

+0

Очень действительная точка, и что-то, что должен предпринять OP. – Stuart

1

Изменение echo "<option value=''>"; к echo "<option value='{$number->phone_number}'>";

+0

Отлично, спасибо! – codnor

0

Мне кажется, вам нужно переместить выделение внутри тега формы, чтобы отправить выбранные данные.

<form action="index.php" method="post"> 
echo "<select>"; 
foreach($numbers->available_phone_numbers as $number) { 

echo "<option value='".$number->phone_number."'>"; 
echo $number->phone_number; 
$counter++; 
echo "</option>"; 
echo "<br>"; 
} 
echo "</select>"; 
echo "<br>"; 
echo $counter; 
?>Area Code:<br> 
<input type="text" name="areacode" value=""><br> 
<input type="submit" value="Submit"> 
</form> 

Надежда эта помощь

0
<?php 
$counter = 0; 
$numbers = $client->account->available_phone_numbers->getList('US', 'Local',   
array(
"AreaCode" => $_POST["areacode"] 
)); 
?> 
<form action="index.php" method="post"> 
<?php 
echo "<select>"; 
foreach($numbers->available_phone_numbers as $number) { 
echo "<option>" . $number->phone_number . "</option>"; 
$counter++; 
} 
echo "</select>"; 

?> 
<input type="submit" value="Submit"> 
</form>