PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 19
Doxtor Отправлено: 24 Сентября, 2012 - 13:13:35 • Тема: preg_split на "and", но только если в сторке есть запятая • Форум: Регулярные выражения

Ответов: 0
Просмотров: 113
Нужно разделить на, например, "and", но только если в сторке есть запятая.

"oranges, pears and limes" поделитъ на
-oranges, pears
-limes

а строку "oranges and pears" оставить как есть

Перепробовал многое, например:
([^,]{1,}[[:word:]]\bаnd\b)

Не работает.
Заранее спасибо.
Doxtor Отправлено: 14 Сентября, 2012 - 17:16:52 • Тема: Упростить конструкцию из множественных if • Форум: Вопросы новичков

Ответов: 6
Просмотров: 257
Всем огромное спасибо за помощь.
Век живи, век учись.

Runet4ik пишет:
$arr = array('word_1', 'word_2', 'word_n');
foreach($arr as $val){
if(preg_match("#".preg_quote($val)."#", $value)) необходимые действия
}
Что типа этого....
.


В этом случае получается 'word_1' или 'word_2' или 'word_n', а нужно
'word_1' и 'word_2' и 'word_n'


(Добавление)
Okula пишет:
Как то не разумно сделано. Я бы так сделал:
PHP:
скопировать код в буфер обмена
  1. if(preg_match('~word_([0-9]+)~', $value, $result) != 0) {
  2.     if($result[1] == '1') {
  3.         // здесь твой php код
  4.     } elseif($result[1] == '2') {
  5.         // здесь твой php код
  6.     } elseif($result[1] == '3') {
  7.         // здесь твой php код
  8.     } else {
  9.         // здесь твой php код
  10.     }
  11. }


Слова не в прямом значении word_1, word_2, а например "жил", "был", "пёс"


(Добавление)
re_nat пишет:

судя по скобкам тут ваще preg_match() and preg_match() Хм


Ура! Заработало!
Doxtor Отправлено: 14 Сентября, 2012 - 12:36:04 • Тема: Упростить конструкцию из множественных if • Форум: Вопросы новичков

Ответов: 6
Просмотров: 257
if(preg_match('/word_1/', $value))
{
if(preg_match('/word_2/', $value))
{
if(preg_match('/word_n/', $value))
...

Можно ли как-то упростить такую конструкцию.
Спасибо.
Doxtor Отправлено: 01 Июня, 2011 - 18:02:38 • Тема: Как запихнуть if в цикл • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2311
EuGen пишет:
Создайте массив


можно какой-нибудь пример или чертёж Улыбка
Спасибо.
(Добавление)
Спасибо.
Разобрался. Переменные переменных всё же.
Плюсовать не могу, мало кармы.

Большое человеческое спасибо.
Doxtor Отправлено: 01 Июня, 2011 - 18:01:07 • Тема: Как запихнуть if в цикл • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2311
OrmaJever пишет:
Нужно создать 130 переменые
$var_1
$var_2
??? или я не так понял? Однако


да
Doxtor Отправлено: 01 Июня, 2011 - 17:52:04 • Тема: Как запихнуть if в цикл • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2311
OrmaJever пишет:
demot
так будет через одну перескакивать
PHP:
скопировать код в буфер обмена
  1. for ($i=1; $i<=130; ++$i){
  2.     $name = "var_".$i;
  3.     if (isset($_POST[$name])) {
  4.          $name = $_POST[$name];
  5.     }
  6. }


Дело в том что мне нужно не 130 раз $name = 1 (через посылаем 1), a
var_1 = 1;
var_2 = 1;
var_3 = 1;
...
Doxtor Отправлено: 31 Мая, 2011 - 18:30:17 • Тема: Как запихнуть if в цикл • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2311
if( isset ($_POST['var_1'])) { $var_1 = $_POST['var_1'] }
if( isset ($_POST['var_2'])) { $var_2 = $_POST['var_2'] }
if( isset ($_POST['var_3'])) { $var_3 = $_POST['var_3'] }
if( isset ($_POST['var_4'])) { $var_4 = $_POST['var_4'] }
if( isset ($_POST['var_5'])) { $var_5 = $_POST['var_5'] }
....
if( isset ($_POST['var_130'])) { $var_130 = $_POST['var_130'] }

Помогите пожалуйста, я только учусь. Улыбка

Как это упростить с помощью цикла?
Спасибо.
Doxtor Отправлено: 11 Мая, 2011 - 13:45:28 • Тема: Безопасность и обработка переменных • Форум: Хранение данных, их вывод и обработка

Ответов: 6
Просмотров: 1969
Спасибо за ссылку.

Забыл уточнить что value (чекбокса) =1
Если принять это во внимание, достаточно ли intval() ?

2. filter_var($a, FILTER_SANITIZE_NUMBER_INT);
тоже самое вроде... ну применительно к данному конкретному случаю?
Doxtor Отправлено: 10 Мая, 2011 - 19:20:35 • Тема: Безопасность и обработка переменных • Форум: Хранение данных, их вывод и обработка

Ответов: 6
Просмотров: 1969
Мелкий пишет:
Doxtor, в POST (равно как и в GET, куки) может придти абсолютно всё, что угодно. Фильтровать всегда.


Фильтрую, хотел просто уточнить хватит ли фильтра через inval()

if( isset ($_POST['color']))
}
$_POST['color'] = intval($_POST['color']);
$color = "color = '".$_POST['ident_1']."'";
if ($color == '') {unset($color);}
}
Doxtor Отправлено: 10 Мая, 2011 - 19:01:14 • Тема: Безопасность и обработка переменных • Форум: Хранение данных, их вывод и обработка

Ответов: 6
Просмотров: 1969
Работают оба варианта.
Что вы подразумеваете под "не будет работать"?
Doxtor Отправлено: 10 Мая, 2011 - 18:32:36 • Тема: Безопасность и обработка переменных • Форум: Хранение данных, их вывод и обработка

Ответов: 6
Просмотров: 1969
Передаём через форму (исключительно чекбоксы) переменные методом POST.
Достаточно ли:

if( isset ($_POST['color']))
}
$color = "color = '".$_POST['ident_1']."'";
if ($color == '') {unset($color);}
}

Дальше $color идёт как часть запроса MySQL

Или нужно как-то вот так:

if( isset ($_POST['color']))
}
$_POST['color'] = intval($_POST['color']);
$color = "color = '".$_POST['ident_1']."'";
if ($color == '') {unset($color);}
}


Спасибо
Doxtor Отправлено: 06 Мая, 2011 - 18:33:03 • Тема: Как упростить кучу проверок if ? • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1507
Допилил. Работает. Ура!
Сам бы никогда бы не додумал в этом направлении.
Спасибо.
Doxtor Отправлено: 06 Мая, 2011 - 18:01:19 • Тема: Как упростить кучу проверок if ? • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1507
Попробую.

Есть 2 признака по 4 чекбокса на каждый признак в форме Х.
Нужно сформировать запрос в MySQL типа :
(p1_1 = '1' OR p1_2 = '1' OR p1_3 = '1' OR p1_4 = '1' )
AND (p2_1 = '1' OR p2_2 = '1' OR p2_3 = '1' OR p2_4 = '1' )

и соответственно нужно сформировать переменные p1 и p2
типа : p1 = "p1_1 = '1' OR p1_2 = '1' OR p1_3 = '1' OR p1_4 = '1' "
p2 = "p2_1 = '1' OR p2_2 = '1' OR p2_3 = '1' OR p2_4 = '1' "

проверки которые я "напрограммировал" смотри в первом посте.

Меня, например, смущает тот факт, что при сформированной переменной проверки идут дальше, а там 15 проверок.

Не сильно запутанно объяснил?
Doxtor Отправлено: 06 Мая, 2011 - 17:26:27 • Тема: Как упростить кучу проверок if ? • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1507
if(isset($ident_10) AND isset($ident_11) AND isset($ident_12) AND isset($ident_13)) {$ident_season = $ident_10." OR ".$ident_11." OR ".$ident_12." OR ".$ident_13;}
if(isset($ident_10) AND empty($ident_11) AND empty($ident_12) AND empty($ident_13)) {$ident_season = $ident_10;}
if(empty($ident_10) AND isset($ident_11) AND empty($ident_12) AND empty($ident_13)) {$ident_season = $ident_11;}
if(empty($ident_10) AND empty($ident_11) AND isset($ident_12) AND empty($ident_13)) {$ident_season = $ident_12;}
if(empty($ident_10) AND empty($ident_11) AND empty($ident_12) AND isset($ident_13)) {$ident_season = $ident_13;}

if(isset($ident_10) AND isset($ident_11) AND empty($ident_12) AND empty($ident_13)) {$ident_season = $ident_10." OR ".$ident_11;}
if(isset($ident_10) AND empty($ident_11) AND isset($ident_12) AND empty($ident_13)) {$ident_season = $ident_10." OR ".$ident_12;}
if(isset($ident_10) AND empty($ident_11) AND empty($ident_12) AND isset($ident_13)) {$ident_season = $ident_10." OR ".$ident_13;}
if(empty($ident_10) AND isset($ident_11) AND isset($ident_12) AND empty($ident_13)) {$ident_season = $ident_11." OR ".$ident_12;}
if(empty($ident_10) AND isset($ident_11) AND empty($ident_12) AND isset($ident_13)) {$ident_season = $ident_11." OR ".$ident_13;}
if(empty($ident_10) AND empty($ident_11) AND isset($ident_12) AND isset($ident_13)) {$ident_season = $ident_12." OR ".$ident_13;}

if(empty($ident_10) AND isset($ident_11) AND isset($ident_12) AND isset($ident_13)) {$ident_season = $ident_11." OR ".$ident_12." OR ".$ident_13;}
if(isset($ident_10) AND empty($ident_11) AND isset($ident_12) AND isset($ident_13)) {$ident_season = $ident_10." OR ".$ident_12." OR ".$ident_13;}
if(isset($ident_10) AND isset($ident_11) AND empty($ident_12) AND isset($ident_13)) {$ident_season = $ident_10." OR ".$ident_11." OR ".$ident_13;}
if(isset($ident_10) AND isset($ident_11) AND isset($ident_12) AND empty($ident_13)) {$ident_season = $ident_10." OR ".$ident_11." OR ".$ident_12;}

спасибо.
Doxtor Отправлено: 20 Апреля, 2011 - 14:56:19 • Тема: Не выводить строки из таб1 если SUM(столбец) из таб2 равен нулю • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 31
EuGen пишет:
Как вариант
SELECT
fakt.id,
fakt.name FROM fakt
LEFT JOIN fakt_cnt ON fakt.id = fakt_cnt.fakt_id
GROUP BY fakt_cnt.fakt_id
ORDER BY SUM(fakt_cnt.cnt) DESC
HAVING SUM(fakt_cnt.cnt) =0


Спасибо.

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB