Вопрос № 40451: Здравствуйте! Нужна ваша помощь. Подскажите, пожалуйста, как вывод из базы MySQL разбивать на страницы, например, по 10 записей на каждой. Заранее благодарен....Вопрос № 40477: Доброго времени суток. Подскажите, пожалуйста, как средствами ПХП создать безрефрешевый чат?(который бы подгружал сообщения по мере поступления, а не рефрешил бы всю страницу)...Вопрос № 40480: Здравствуйте,
эксперты.
Я столкнулся со странной проблемой: у меня есть две строковые переменные и файл (к примеру с одной строчкой информации). Как мне дописать первую переменную на вторую строчку, а вторую переменную на третью строчку?
Зара...Вопрос № 40481: Здравствуйте, уважаемый эксперты!
1) Как скопировать все картинки (*.jpg, *.gif, *.bmp) из одной папки, которая находится на клиенте, в такую же другую на сервер?
Сначала я создаю папку на сервере: mkdir("$dir");
Затем надо коп...Вопрос № 40488: Здравствуйте уважаемые эксперты!
У меня такой вопрос: у меня есть поле ввода в форме, в котором должны быть только цифры. как в php проверить это?
Я написал вот так(приложение), только это не работает. Подскажите, может неправильный синтаксис...
Вопрос № 40.451
Здравствуйте! Нужна ваша помощь. Подскажите, пожалуйста, как вывод из базы MySQL разбивать на страницы, например, по 10 записей на каждой. Заранее благодарен.
Отвечает: Stamm
Здравствуйте, Андрющенко Вячеслав Васильевич
Есть в MySQL такой параметр LIMIT a,b. Он берет строки начиная с a до b.
Сначала смотрим есть ли номер страницы, если нет, то подставляем первую страницу. Переменная $ch содержит кол-во новостей на странице. Далее узнаем кол-во новостей. Узнаем положение начала и конца. Делаем запрос, сортируя по дате. Выводим все. А в конце ставим номера страниц, текущая выделяется []
Смотрите код в приложении
Приложение:
--------- В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Ответ отправлен: 16.04.2006, 16:13
Отвечает: XMF
Здравствуйте, Андрющенко Вячеслав Васильевич!
--
Вам тут посоветовали такой код:
$nach=($page-1)*$ch;//Начало
$kon=$page*$ch;//Конец
$sql="SELECT * FROM news ORDER BY date DESC LIMIT $nach , $kon ";
--
Он правильный по синтаксису, но не правильный по логике.
при ?page=1 показано будет 7 новостей с 0
?page=2 - 14 новостей начиная с 7
?page=3 - 21 новостей начиная с 14
...
LIMIT откуда, сколько!!!
а не: откуда, до скольки
Ответ отправил: XMF (статус: 6-ой класс)
Ответ отправлен: 16.04.2006, 18:24
Вопрос № 40.477
Доброго времени суток. Подскажите, пожалуйста, как средствами ПХП создать безрефрешевый чат?(который бы подгружал сообщения по мере поступления, а не рефрешил бы всю страницу)
Отправлен: 16.04.2006, 21:37
Вопрос задал: Warkot (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Асташов Андрей Александрович
Здравствуйте, Warkot!
Средствами ПХП никак. А вот запускать по времени JavaScript и запрашивать последние строки - это можно.
Удачи.
--------- Бросил курить сам - Брось курить другому!!!
Здравствуйте, эксперты.
Я столкнулся со странной проблемой: у меня есть две строковые переменные и файл (к примеру с одной строчкой информации). Как мне дописать первую переменную на вторую строчку, а вторую переменную на третью строчку?
Заранее спасибо!
Отправлен: 16.04.2006, 22:10
Вопрос задал: Tossha (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Stamm
Здравствуйте, Tossha!
Есть функция file_put_contents, кот. записывает в файл все данные.
Считываем файл ф-цией file, кот. возвращает список со строками.
Далее просто добавляем в массив необходимые строки. А затем целиком записываем данные ф-цией file_put_contents
Приложение:
--------- В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Ответ отправлен: 16.04.2006, 22:28 Оценка за ответ: 5
Ответ отправил: XMF (статус: 6-ой класс)
Ответ отправлен: 16.04.2006, 23:04 Оценка за ответ: 4
Отвечает: Константин
Здравствуйте, Tossha!
Не вижу проблемы!
открываем файл:
$fl - fopen('file.txt', 'a+');
в формате "дозаписи"
и дописываем:
fwrite($fl, $var1."
");
fwrite($fl, $var2."
");
Твои переменные будут соответственно на 2 и третьей строчке.
Другой способ - считать из файла все через
$temp = file_get_contents($file);
Потом сформировать новое содержимое файла:
$temp .= $var1."
".$var2."
";
и через file_put_contents($file);
записать обратно. Хотя зачем делать вторым вариантом я не знаю....
Ответ отправил: Константин (статус: 3-ий класс)
Ответ отправлен: 17.04.2006, 19:52 Оценка за ответ: 5
Вопрос № 40.481
Здравствуйте, уважаемый эксперты!
1) Как скопировать все картинки (*.jpg, *.gif, *.bmp) из одной папки, которая находится на клиенте, в такую же другую на сервер?
Сначала я создаю папку на сервере: mkdir("$dir");
Затем надо копировать все картинки с папки $dir_v в папку $dir.
2) Если можно, то конкретный ответ хотелось бы, потому что я уже задавал вопрос, но ничего не помогло. У меня есть форма:
<form action="test_create.php" method="post" enctype="multipart/form-data">
...
<input type="file" name="v_f">
...
В скрипт test_create.php передаю файл как:
// @$v_f=$HTTP_POST_FILES['v_f']['name'];
Если я в input type указываю путь к файлу, а затем делаю
//echo $v_f; В итоге получаю только имя файла.расширение, а
сам путь обрезается, а мне нужен и путь. Как решить данную
прпоблему?
Спасибо за ответы!
Отвечает: Straight
Здравствуйте, Bullet-Proof!
1) Никак. На сервер с клиента можно передать только те файлы, которые пользователь явно указал. Иначе - это страшная дыра.
2) Непонятно зачем Вам путь. Но напишите так (приложене). При изменении поля v_f путь кладется в hidden-поле v_dir.
Приложение:
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 17.04.2006, 10:33
Отвечает: Zysoftik
Здравствуйте, Bullet-Proof!
Дополню предыдущий ответ:
Чтобы положить файл в нужную Вам папку, воспользуйтесь таким кодом:
...
move_uploaded_file ($_FILES['v_f']['tmp_name'],$dir."/".$_FILES['v_f']['name']);
...
$_FILES['v_f']['tmp_name'] содержит относительный путь и имя закачаного на сервер файла, а функция move_uploaded_file перенесет его в нужное место. В примере файл будет записан под оригинальным именем. А вообще лучше использовать уникальные генерируемые имена, т.к. возможны совпадения имен файлов.
Ответ отправил: Zysoftik (статус: 3-ий класс)
Ответ отправлен: 17.04.2006, 13:09
Вопрос № 40.488
Здравствуйте уважаемые эксперты!
У меня такой вопрос: у меня есть поле ввода в форме, в котором должны быть только цифры. как в php проверить это?
Я написал вот так(приложение), только это не работает. Подскажите, может неправильный синтаксис функции? Или есть другая функция?
Приложение:
Отправлен: 17.04.2006, 00:30
Вопрос задал: Tossha (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Андрей_26rus
Здравствуйте, Tossha!
используйте is_numeric($var)
--------- - = Tertium non datur = -
Ответ отправил: Андрей_26rus (статус: 3-ий класс)
Ответ отправлен: 17.04.2006, 08:48 Оценка за ответ: 5
Отвечает: Stamm
Здравствуйте, Tossha!
Вы указали только один символ [0-9]. Чтобы ф-ция срабатывала на несколько цифр нужно добавить + - это значит одни или более символов, существует альтернативный вариант
preg_match("/(d)+/i",$var);
Приложение:
--------- В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Ответ отправлен: 17.04.2006, 09:34 Оценка за ответ: 4
Отвечает: Straight
Здравствуйте, Tossha!
Андрей_26rus сказал не всю правду. Если надо чтобы кроме цифр других символов вообще не было, то напишите так: preg_match("/^[0-9]+$/i", $var)
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 17.04.2006, 10:22 Оценка за ответ: 5
Отвечает: Константин
Здравствуйте, Tossha!
Делаем по принципу KISS (Keep It Simple, Stupid):
if ((integer)$var == $var)
{
//делай что хочешь
}
Т.е. проосто превращаем в число и если совпадает, значит ввели число.
Аналогично если ожидается double пишем не (integer), а (double)
Кстати, точно так же можно и проверить на некорректные символы в логине, пароле и где там еще надо. Т.е. Сначала приводим к нужному виду, а потом сравниваем - а то ли нам дали?
Ответ отправил: Константин (статус: 3-ий класс)
Ответ отправлен: 17.04.2006, 19:46