PHP.SU

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

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

> Найдено сообщений: 24
SidneyShow Отправлено: 08 Мая, 2017 - 21:05:35 • Тема: Найти подстроку в строке. • Форум: Вопросы новичков

Ответов: 5
Просмотров: 1506
caballero пишет:
тогда определитесь по каким критериям вы это число ищете
хотите извлечь число в котором есть 6?
а как числа разделены? Точкой как в примере?

Ну тогда explode и ищите циклом по массиву


Ну критериев тут не много, например дано число (оно может быть от 1 до 4 символов) и нужно проверить есть ли это число в строке (числа идут через точку, как в примере). И я хотел при помощи preg_match проверить есть ли это число в строке, не используя при этом цикл. Но видимо тут только циклом.

Вообщем спасибо за помощь, буду делать через explode .
SidneyShow Отправлено: 08 Мая, 2017 - 17:39:19 • Тема: Найти подстроку в строке. • Форум: Вопросы новичков

Ответов: 5
Просмотров: 1506
caballero пишет:
а зачем извлекать если вы уже знаете что это за подстрока?
просто проверте строку на наличие подстроки обычным strpos() например

извлечь это если из такой то позиции такое то количество символоыв


Извиняюсь, не точно сформулировал вопрос. Нужно не извлечь, а проверить существует ли подстрока в строке. Функция strpos() здесь не подойдёт, так как искомое число может иметь длину от 1 до 4 символов. То есть при попытке найти значение 6 будет найдено и 6 и 16 и 166.
SidneyShow Отправлено: 08 Мая, 2017 - 17:07:28 • Тема: Найти подстроку в строке. • Форум: Вопросы новичков

Ответов: 5
Просмотров: 1506
Здравствуйте, можно ли как-то проверить есть подстрока в строке или нет, не используя цикл?
К примеру есть строка и нужно извлечь число 6, пробовал сделать так:

$str = '5.6.26.16.19';
$find = '6';

if(preg_match('/'.$find.'\D/', $str)){
echo'NASHEL';
}else{
echo'NE NASHEL';
}

но проблема в том, что находилось и число 6 и число 16, но мне нужно только 6. Можно ли как-то найти конкретное число?
SidneyShow Отправлено: 04 Октября, 2016 - 20:12:44 • Тема: Функция для подгрузки сообщений. Ajax.Php. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 372
Вообщем разобрался как можно из php-скрипта передать переменную со значением клиенту. В этом случае можно использовать глобальную переменную JavaScript.
В самом php-скрипте достаточно где-нибудь в конце дописать следующее:

echo '
<script type="text/javascript">
window.last_message_id = '.$last_message_id.';
//$last_message_id - можете использовать любую переменную из php скрипта
</script>
';

И если в ajaxe использовать функцию success: function(html), присланная от php-скрипта глобальная переменная JavaScript обновиться, прямо на стороне клиента. И потом ее(уже обновленную) можно снова передавать клиенту!

Сам с этим долго возился, может кому поможет Улыбка
SidneyShow Отправлено: 18 Сентября, 2016 - 14:31:38 • Тема: Функция для подгрузки сообщений. Ajax.Php. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 372
T1grOK пишет:
Держать на клиенте максимальный id сообщения, слать его в ajax, а на бэкенде искать сообщения больше присланного id. И соответственно, если новые сообщения есть, шлем сообщения на клиент, где выполняем необходимые действия, в том числе и обновляем максимальный id.


Вы абсолютно верно поняли что я хочу сделать. Но я не совсем понимаю как можно вернуть id из ajax запроса обратно к пользователю и как его хранить. Не могли бы Вы привести пример того, как это можно реализовать, если Вам не сложно?
SidneyShow Отправлено: 16 Сентября, 2016 - 23:31:58 • Тема: Функция для подгрузки сообщений. Ajax.Php. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 372
Здравствуйте, помогите пожалуйста разобраться.

Вообщем есть страница с чатом для двух пользователей(примерно как в ВК). На этой странице есть javascrippt функция, которая отвечает за подгрузку новых сообщений в определенный div и вызывается раз в 3 секунды, выглядит эта функция следующим образом:

function Load() {
$.ajax({
url: "/ajax.php",
type: "POST",
cache: false,
data: {"CHAT": CHAT},
success: function(html){
if(html != 0){
$("#Message").html(html);
}
}
});
}

Скрипт-обработчик к которому обращается данная функция, извлекает из БД сообщения.

Хоть данная функция и работает, но она делает это не совсем правильно, так как вызывается она непрерывно каждые 3 секунды и следовательно div в который подгружается все это дело тоже обновляется каждые 3 секунды.

Как можно реализовать примерно следующее:

javascript функция посылает запрос к php-скрипту, который извлекает сообщения и извлекает номер последнего сообщения и направляет "обратно" в javascript функцию и здесь на этапе "success:" проверяется есть ли новое сообщение, если есть то обновляет div, если нет, то не обновляет. Можно ли это реализовать на этапе "success:"?
SidneyShow Отправлено: 07 Августа, 2016 - 13:31:15 • Тема: Как можно перевернуть массив? • Форум: Вопросы новичков

Ответов: 2
Просмотров: 212
Здравствуйте, помогите пожалуйста разобраться.
Вообщем есть запрос к БД и вывод информации в цикле:

$query = mysqli_query($CONNECT, "SELECT `id`, `text` FROM `message` ORDER BY id DESC LIMIT 10");
while ($Row = mysqli_fetch_assoc($query)) {
echo ''.$Row['id'].'<br>';
echo ''.$Row['text'].'<br><br>';
}

В результате чего мы имеем такую запись:
1
Запись 1

2
Запись 2

3
Запись 3

Так вот, можно ли как то перевернуть массив $Row или $query, создав примерно такой запрос:

$query = mysqli_query($CONNECT, "SELECT `id`, `text` FROM `message` ORDER BY id DESC LIMIT 10");
while ($Row = mysqli_fetch_assoc($query)) {
$Row= array_reverse($Row);
echo ''.$Row['id'].'<br>';
echo ''.$Row['text'].'<br><br>';
}

И в результате получить такую же запись, но в обратно порядке:

3
Запись 3

2
Запись 2

1
Запись 1

Но при условии что запрос к БД останется именно таким какой указан в начале, то есть нужно перевернуть массив именно после запроса к БД. Как можно это реализовать? подскажите пожалуйста Улыбка
SidneyShow Отправлено: 30 Июля, 2016 - 18:16:00 • Тема: Бесконечная подгрузка в div • Форум: Вопросы новичков

Ответов: 2
Просмотров: 250
Здравствуйте, у меня возникла проблема с реализацией "бесконечной подгрузки" с использованием jquery, помогите разобраться пожалуйста.

Вообщем есть div (со скроллингом), в который должна подгружаться информация. Но у меня не получается определить тот момент, когда пользователь долистал до конца.

Что бы было понятно о чем идет речь, вот пример, но этот пример подходит для всей странице, а не для конкретного diva:

<script type="text/javascript">
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() >= $(document).height()) {
console.log("Работает!");
});
});
</script>
SidneyShow Отправлено: 22 Июля, 2016 - 13:21:53 • Тема: Поиск в БД с использованием массива • Форум: Вопросы новичков

Ответов: 2
Просмотров: 251
OrmaJever пишет:
PHP:
скопировать код в буфер обмена
  1. $Row = mysqli_query($CONNECT, "SELECT `id` FROM users WHERE year in (".join(',', $Year).")";

Но вы должны быть уверены что в $Year безопасные значения.
(Добавление)
а еще есть такая штука как between, погуглите, возможно подойдет

Большое спасибо за помощь, это то что нужно Радость
SidneyShow Отправлено: 21 Июля, 2016 - 13:13:51 • Тема: Поиск в БД с использованием массива • Форум: Вопросы новичков

Ответов: 2
Просмотров: 251
Здравствуйте дорогие участники этого форума.
Вообщем у меня есть массив в котором, например:

$Year[0] => 1990;
$Year[1] => 1991;
$Year[2] => 1992;
и т.д.

Далее мне необходимо извлечь из БД информацию используя этот массив, и я делаю это так:

$Row = mysqli_query($CONNECT, "SELECT `id` FROM users WHERE year = '$Year[0]' OR year = '$Year[1]' OR year = '$Year[2]')";

Но это очень не удобно(так как значение из массива очень много), можно ли как то в запросе к БД указать лишь одну переменную, но что бы смысл запроса остался тем же?
SidneyShow Отправлено: 19 Июля, 2016 - 19:28:51 • Тема: Как рассчитать года? • Форум: Вопросы новичков

Ответов: 3
Просмотров: 226
Большое спасибо за помощь и уделенное время! Радость
SidneyShow Отправлено: 19 Июля, 2016 - 18:53:33 • Тема: Как рассчитать года? • Форум: Вопросы новичков

Ответов: 3
Просмотров: 226
Здравствуйте, имеется два значения, (которые я получаю из БД) например: '1990' и '1993'.
Как можно сделать так, что бы с 1990 рассчитывались все года до 1993 включительно и при этом поместить это всё в переменную?
Например вот так:

$a = 1990,1991,1992,1993
SidneyShow Отправлено: 19 Июля, 2016 - 18:37:55 • Тема: Поиск по параметрам в БД • Форум: Вопросы новичков

Ответов: 4
Просмотров: 307
IllusionMH пишет:
SidneyShow, откуда эти значаения беруться? Если с клиента то вы только что добавили себе sql иньекцию

Эти значения беруться из БД. А в БД они вносятся при помощи формы.
SidneyShow Отправлено: 19 Июля, 2016 - 17:32:04 • Тема: Поиск по параметрам в БД • Форум: Вопросы новичков

Ответов: 4
Просмотров: 307
Russer пишет:
Используйте оператор or.

Большое спасибо за помощь.
SidneyShow Отправлено: 19 Июля, 2016 - 11:57:52 • Тема: Поиск по параметрам в БД • Форум: Вопросы новичков

Ответов: 4
Просмотров: 307
Здравствуйте, как можно задать переменной несколько цифр одновременно, а потом использовать эти цифры для запроса к БД?

Вообщем что то типо того:

$a = 1,2,3;

$Search = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `id` FROM `users` WHERE `city` = $a"));

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB