Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
#1

не работает цикл - PHP

04.09.2012, 11:41. Просмотров 1960. Ответов 31
Метки нет (Все метки)

Привет всем. Я попытался сделать условие в цикле, но ничего не вышло проверте пожалуйста вот код
PHP
1
2
3
4
5
6
7
foreach($array as $k=>$v) {
    if (1<$v<5)
        {
        echo '$v'.' ';
        }
 
}
Мне надо что бы написались значения от 1 до 5, в массиве есть значения 2 и 4, но они не прописываются. Просто прописываются все значения которые находятся в массиве через запятую.Зарание огромное спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 11:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос не работает цикл (PHP):

не работает цикл for
Добрый день! Я новичек. Пишу гостевую книгу, записи храню в txt файле. Делаю...

Цикл for не работает
Всем привет. Почему данный цикл не работает: $arrayOfVoices = explode(&quot; &quot;,...

Не работает цикл
Пишу не большой парсер, но столкнулся с проблемой. Не работает цикл. В чем...

Не работает цикл
Помогите решить вопрос. Использую цикл do while для вывода из базы информации...

Цикл While не работает
Не могу понять почему в браузере выводятся бесконечные 1. Должно, по идеи,...

Не работает цикл ...
Есть код: for ($I = 0; $I &lt;= $count; $I++ ){ while($myrow =...

31
Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
04.09.2012, 15:30  [ТС] #21
Вот что у меня есть, но все ровно ничего не получается
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$result = array();
if (isset($_POST['tr'][0]) && is_array($_POST['tr'][0])) {
$result = implode(',', $_POST['tr'][0]);
}
 
if(isset($_POST['button'])){
    
    $ins = mysql_query ("UPDATE SC_customers SET category='$result' WHERE login = '$login'");
 }
 
 
 
 
$array =$row['category'];
 
foreach($array as $v) {
    if (1 < $v && $v < 5)
        {
        echo "$v"." ";
        }
 
}
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
04.09.2012, 15:36 #22
не получается каким образом? Заносит array() или что?
1
Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
04.09.2012, 15:50  [ТС] #23
Цитата Сообщение от KOPOJI Посмотреть сообщение
не получается каким образом? Заносит array() или что?
В базу заносится в таком виде 1,4,5,6, не получается выполнить
PHP
1
2
3
4
5
6
7
foreach($array as $v) {
    if (1 < $v && $v < 5)
        {
        echo "$v"." ";
        }
 
}
выводит все тот же ответ 1,4,5,6
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
04.09.2012, 16:10 #24
так вам нужно заносить только в этом диапазоне от 2 до 4 значения?

Добавлено через 2 минуты
я что то вообще не пойму. какая связь между $row['category'] и $_POST['tr'][0]?
1
Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
04.09.2012, 16:18  [ТС] #25
Цитата Сообщение от KOPOJI Посмотреть сообщение
так вам нужно заносить только в этом диапазоне от 2 до 4 значения?

Добавлено через 2 минуты
я что то вообще не пойму. какая связь между $row['category'] и $_POST['tr'][0]?
Да мне надо заносить данные только в этом диапозоне. При помощи формы чекбоксов я занашу массив в бд. Затем я пытаюсь его извлечь из бд $row['category'] (category поле в котором я сохраняю массив) и это значение подставляю значение в цикл. Цикл находится совсем на другой страничке.
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
04.09.2012, 16:22 #26
все. я понял в чем проблема.
PHP
1
$array = explode(',',$row['category']);
вместо аналогичной вашей строчки
1
Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
04.09.2012, 16:36  [ТС] #27
Цитата Сообщение от KOPOJI Посмотреть сообщение
все. я понял в чем проблема.
PHP
1
$array = explode(',',$row['category']);
вместо аналогичной вашей строчки
Ура все работает. Только попробывал присвоить буквенное значение каждому числовому значению но ничего не вышло пишет три раза подряд все значения вот код помоги
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
foreach($array as $v) {
    if (1 < $v && $v < 5)
        {
        if ($v=2)
        {
        echo "Второй"." ";
        }
        if ($v=3)
        {
        echo "Третий"." ";
        }
        if ($v=4)
        {
        echo "Четвертый"." ";
        }
        }
 
}
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
04.09.2012, 16:46 #28
Цитата Сообщение от Братуха Посмотреть сообщение
if ($v==2)
два знака равно надо

Добавлено через 1 минуту
P.S. если число целое и в диапазоне от 2 до 4, что остается если оно не 2 и не 3?) последний if на else можно заменить)
P.P.S. если много значений (больше диапазон) - лучше использовать switch-case
1
Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
04.09.2012, 17:09  [ТС] #29
Цитата Сообщение от KOPOJI Посмотреть сообщение
два знака равно надо

Добавлено через 1 минуту
P.S. если число целое и в диапазоне от 2 до 4, что остается если оно не 2 и не 3?) последний if на else можно заменить)
P.P.S. если много значений (больше диапазон) - лучше использовать switch-case
У меня всего около 70 чекбоксов поэтому буду использовать switch-case. У меня еще возник вопрос - как можно сделать что бы пользователь заходил на страничку обновления данных и те поля чекбоксов которые были отмечены рание отображались как уже отмеченныею я так понимаю надо прописать echo 'checked=""' как это сделать в поле каком нужною.Зарание огромное спасибо.
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
04.09.2012, 17:28 #30
которые были отмечены ранее этим пользователем?
0
Братуха
5 / 5 / 5
Регистрация: 15.07.2012
Сообщений: 773
04.09.2012, 17:34  [ТС] #31
Цитата Сообщение от KOPOJI Посмотреть сообщение
которые были отмечены ранее этим пользователем?
Да. Если пользователь раньше был на страничке обновления и выбрал пару чекбоксов.
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
04.09.2012, 18:21 #32
значит заноси в сессию все эти значения, а потом отмечай соответствующие
0
04.09.2012, 18:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2012, 18:21
Привет! Вот еще темы с решениями:

Не работает цикл PHP
Есть таблица, состоящая из трех строк. &lt;table width=&quot;650&quot; border=&quot;3&quot;...

Цикл неправильно работает
Подскажите пожалуста что нетак в коде. Когда работает этот скрипт в меню...

Странно работает цикл while
есть цикл для ajax. раньше он выдавал нормальный результат в зависимости от...

Не работает cURL + цикл
Добрый день. Интересует вопрос, почему не работает скрипт: &lt;?php $qweqwe =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru