[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Перебор массива
Tapakan
Как правильно перебрать массив с использованием <select>
<form action="oblasti.php" method=post>
<select name="country">
<option name="Russia">Россия</option>
<option name="Ukraine">Украина</option>
<option name="England">Англия</option>
<option name="USA">Америка</option>
<option name="Polka">Польша</option>
</select>
<input type="Submit" value="Узнать все города" name="action">
</form>
-----------------------------------------------------------------------------------------------
<?
$rus = array("Москва", "Петербург", "Бутово", "Ростов-на-Дону", "Набережные Челны", "Рязан", "Тюмень", "Тула", "Томск", "Екатеренбург");
if(isset($_POST['Russia'])) {
echo "Выберите Россию";
}
else {
foreach($rus as $v)
echo $v;
}
?>
Наведите пжл на правильную дорожку.



Спустя 8 минут, 34 секунды (14.09.2012 - 14:57) Jack_White написал(а):
Тут в селекте не name а value долно быть
Цитата (Tapakan @ 14.09.2012 - 11:48)
<form action="oblasti.php" method=post>
<select name="country">
<option value="Russia">Россия</option>
<option value="Ukraine">Украина</option>
<option value="England">Англия</option>
<option value="USA">Америка</option>
<option value="Polka">Польша</option>
</select>
<input type="Submit" value="Узнать все города" name="action">
</form>


Вариант сделать массив вида ключ Страна => значение массив городов
$countres = array('Russia' => array('Москва','Питер'));
if (!empty($_POST['country']))
{
if (!empty($countres[$_POST['country']]))
{
foreach ($countres[$_POST['country']] as $city)
echo $city;
}
}

Спустя 6 минут, 16 секунд (14.09.2012 - 15:03) Tapakan написал(а):
Цитата (Jack_White @ 14.09.2012 - 11:57)
Тут в селекте не name а value долно быть
Цитата (Tapakan @ 14.09.2012 - 11:48)
<form action="oblasti.php" method=post>
<select name="country">
<option value="Russia">Россия</option>
<option value="Ukraine">Украина</option>
<option value="England">Англия</option>
<option value="USA">Америка</option>
<option value="Polka">Польша</option>
</select>
<input type="Submit" value="Узнать все города" name="action">
</form>


Вариант сделать массив вида ключ Страна => значение массив городов
$countres = array('Russia' => array('Москва','Питер'));
if (!empty($_POST['country']))
{
if (!empty($countres[$_POST['country']]))
{
foreach ($countres[$_POST['country']] as $city)
echo $city;
}
}

Понял, спасибо. Только начинаю знакомиться с массивами ближе.

Спустя 46 секунд (14.09.2012 - 15:04) Jack_White написал(а):
Tapakan пожалуйста)

Спустя 14 часов, 11 минут, 14 секунд (15.09.2012 - 05:15) Tapakan написал(а):
Ничего в итоге не получилось sad.gif.
<?
$rus = array('Russia' => "Москва", "Петербург", "Бутово", "Ростов-на-Дону", "Набережные Челны", "Рязан", "Тюмень", "Тула", "Томск", "Екатеренбург");
if (isset($_POST['Russia']))
foreach ($rus as $city)
echo "$city . \n";
else
die ("Ошибочка");
?>
Если иссет менять на эмпти, то реагирует на любую выбранную страну. Не совсем понимаю какая тут должна быть цепочка, что бы получилась правильная связь.

Спустя 7 часов, 2 минуты, 17 секунд (15.09.2012 - 12:17) walerus написал(а):
Что ты огород нагородил...
<?
$rus = array();

// Установили значение для ключа Russia
$rus['Russia'] = array(
"Москва",
"Петербург",
"Бутово",
"Ростов-на-Дону",
"Набережные Челны",
"Рязан",
"Тюмень",
"Тула",
"Томск",
"Екатеренбург"
);

// Проверяем какая страна выбрана
if ( $_POST['country'] == 'Russia' )
{
echo "Области:<hr>\n";
echo implode( "<br>\n", $rus['Russia'] );
}
else
die ("Ошибочка");
?>

Спустя 29 минут, 6 секунд (15.09.2012 - 12:46) Tapakan написал(а):
Цитата (walerus @ 15.09.2012 - 09:17)
Что ты огород нагородил...
<?
$rus = array();

// Установили значение для ключа Russia
$rus['Russia'] = array(
                        "Москва",
                        "Петербург",
                        "Бутово",
                        "Ростов-на-Дону",
                        "Набережные Челны",
                        "Рязан",
                        "Тюмень",
                        "Тула",
                        "Томск",
                        "Екатеренбург"
);

// Проверяем какая страна выбрана
if ( $_POST['country'] == 'Russia' )
    {
        echo "Области:<hr>\n";
        echo implode( "<br>\n", $rus['Russia'] );
    }
else
    die ("Ошибочка");
?>

Большое спасибо, попробую.
Подскажите, пожалуйста. Чего оно повторяет все по пять раза?
Какое количество массивов столько и повторяет. Из-за count я так понимаю, а как от этого избавиться?
<?
$rus = array(
array("country"=>"Russia", "capital"=>"Moscow"),
array("country"=>"Ukraine", "capital"=>"Kiev"),
array("country"=>"England", "capital"=>"London"),
array("country"=>"USA", "capital"=>"Washington"),
array("country"=>"Polka", "capital"=>"Varshava"),
);
for ($i=0; $i<count($rus); $i++)
foreach($rus as $number=>$capital)
echo "{$rus[$i]['capital']} столица {$rus[$i]['country']} ";
?>

Спустя 5 часов, 29 минут, 53 секунды (15.09.2012 - 18:16) walerus написал(а):
Tapakan а чего ты хочешь от этого скрипта добиться?, ты бы хоть задачу поставил, я ж не знаю, чего там тебе нужно ))

Спустя 1 час, 20 минут, 20 секунд (15.09.2012 - 19:37) Tapakan написал(а):
Цитата (walerus @ 15.09.2012 - 15:16)
Tapakan а чего ты хочешь от этого скрипта добиться?, ты бы хоть задачу поставил, я ж не знаю, чего там тебе нужно ))

Есть селект, а в нем список стран - при выбое страны и нажатии кнопки высвечиваются все города выбранной страны.

Спустя 46 минут, 19 секунд (15.09.2012 - 20:23) walerus написал(а):
Tapakan Чем тебя не устроил мой вариант ?

Спустя 35 минут, 38 секунд (15.09.2012 - 20:59) killer8080 написал(а):
Цитата (Jack_White @ 14.09.2012 - 14:57)
Тут в селекте не name а value долно быть

Не давай дурных советов, нет никакого value у select-а!

Спустя 1 час, 41 минута, 27 секунд (15.09.2012 - 22:40) Tapakan написал(а):
Цитата (killer8080 @ 15.09.2012 - 17:59)
Цитата (Jack_White @ 14.09.2012 - 14:57)
Тут в селекте не name а value долно быть

Не давай дурных советов, нет никакого value у select-а!

Блин, я пол дня с ума схожу. Скажите, пожалуйста, как правильно. Я хтмл знаю на уровне Джумлы и цмс3, подскажите, пожалуйста. Как правильно через select передать данные.
Может быть через hidden, но не совсем понимаю как. Мне главное понять связь, цепочку.

Спустя 2 минуты, 46 секунд (15.09.2012 - 22:43) Tapakan написал(а):
Цитата (walerus @ 15.09.2012 - 17:23)
Tapakan Чем тебя не устроил мой вариант ?

Потому что, он при любом раскладе выдает ошибочка, я делал разные манипуляции. Или на все "country" выдает русские города или ничего.
Я хочу попробовать сам сделать, мне главное понять последовательность.
Как обратиться к этому самому select'y?

Спустя 4 минуты, 50 секунд (15.09.2012 - 22:48) Tapakan написал(а):
Я делаю по этому варианту, но после первого просмотра ни разу ни-ни.
http://www.orenport.ru/images/img/1279/5.html
ctrl+f - Поиск - Благовещенск - Найдете нужную строку. Хочу сделать типа того. Я понимаю так, что там 2 массива и каждый отвечает ключу, как вроде 1->1, 2->2, 3->3. Ключ 1 с первого массива отвечает ключу 1 второго массива.

Спустя 45 минут, 3 секунды (15.09.2012 - 23:33) killer8080 написал(а):
Цитата (Tapakan @ 15.09.2012 - 22:40)
Блин, я пол дня с ума схожу. Скажите, пожалуйста, как правильно. Я хтмл знаю на уровне Джумлы и цмс3, подскажите, пожалуйста. Как правильно через select передать данные.
Может быть через hidden, но не совсем понимаю как. Мне главное понять связь, цепочку.

Причем здесь джумла? Как передать? Обыкновенно
<form action="oblasti.php" method=post>
<select
name="country">
<option
value="Russia">Россия</option>
<option
value="Ukraine">Украина</option>
<option
value="England">Англия</option>
<option
value="USA">Америка</option>
<option
value="Polka">Польша</option>
</select>
<input
type="Submit" value="Узнать все города" name="action">
</form>

oblasti.php
$rus = array("Москва", "Петербург", "Бутово", "Ростов-на-Дону", "Набережные Челны", "Рязан", "Тюмень", "Тула", "Томск", "Екатеренбург");
if(isset($_POST['country']) && $_POST['country'] == 'Russia') {
foreach($rus as $v)
echo $v . '<br />';
else
echo "Выберите Россию";

Спустя 32 минуты, 23 секунды (16.09.2012 - 00:05) Tapakan написал(а):
Цитата (killer8080 @ 15.09.2012 - 20:33)
Цитата (Tapakan @ 15.09.2012 - 22:40)
Блин, я пол дня с ума схожу. Скажите, пожалуйста, как правильно. Я хтмл знаю на уровне Джумлы и цмс3, подскажите, пожалуйста. Как правильно через select передать данные.
Может быть через hidden, но не совсем понимаю как. Мне главное понять связь, цепочку.

Причем здесь джумла? Как передать? Обыкновенно
<form action="oblasti.php" method=post>
<select
name="country">
<option
value="Russia">Россия</option>
<option
value="Ukraine">Украина</option>
<option
value="England">Англия</option>
<option
value="USA">Америка</option>
<option
value="Polka">Польша</option>
</select>
<input
type="Submit" value="Узнать все города" name="action">
</form>

oblasti.php
$rus = array("Москва", "Петербург", "Бутово", "Ростов-на-Дону", "Набережные Челны", "Рязан", "Тюмень", "Тула", "Томск", "Екатеренбург");
if(isset($_POST['country']) && $_POST['country'] == 'Russia') {
foreach($rus as $v)
echo $v . '<br />';
else
echo "Выберите Россию";

Спасибо, спасибо. Я еще не на столько вник. Действительно вариант рабочий. Буду пробовать с остальными странами. Вам +. Еще не сильно могу употреблять операторы типа &&.

Спустя 10 минут, 45 секунд (16.09.2012 - 00:16) Tapakan написал(а):
killer8080, Скажите, пожалуйста, почему тут не используется "$_POST['Russia']" ?

Спустя 1 час, 51 минута, 27 секунд (16.09.2012 - 02:07) walerus написал(а):
Tapakan потому что в форме
select name="country"
имя переменной - country, а значения ее это список - value="Russia"...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.