Вопросы по PHP (для новичков)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Вопросы по PHP (для новичков) - 2008-09-01 02:16:50.180000
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
Сабж только тут, топы с подобной тематикой будут удаляться.
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 09:48:02.120000
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
mysql_query возвращает индефикатор , mysql_result строку по индефикатору, а как проверить наличие строки, что-то типа: $query="IF(".$log."='login' from user,0,1);" или "select case ".$log." when login then 1 else 0 end" - выдаёт что поля login нет field list в mysql, дык какой командой его туда внести?
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 11:13:35.343333
|
|
|
magistr_bender
Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
|
вообще эту проверку надо выполнять перед запросом в виде if (isset($login)) {а тут действие если логин задан}
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 12:26:24.026666
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
нда, почитай ещё раз пост , плз… проверку в мускуле надо сделать а не в пхп, средствами пхп или мускула - if используетя в мускуле тоже…
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 20:48:17.596666
|
|
|
magistr_bender
Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
|
ну дык тогда всё ещё проще if (".$log."<>'' from user,0,1); вот только как ставится знак неравно в мускле непомню… или так <> или так !=
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 21:43:21.533333
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
не так понял =) IF(".$log."='login' from user,0,1) - это не верный запрос, я имел ввиду надо составить запрос к мускулу с ТАКИМ ЖЕ смыслом НО с правельным синтаксисом, т.е. как внести поле из таблици в данное условие, а именно как это поле вставить в field list??? + quote:
if (".$log."<>'' from user,0,1); - а с чем в данном случае сравнивается переменная лог?, с from user? И вторая часть вопроса - как добиться такогоже результата средствами пхп
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 22:00:40.606666
|
|
|
magistr_bender
Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
|
може я дурак но ничё непонял чё тебе надо.. а как добиться того же результата на пхп я написал if (isset($login)) { $query="SELECT чтото FROM таблица WHERE login='".$login."'"; }
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 22:26:57.633333
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
да не проверка наличия переменной в пхп , а запрос через пхп к мускулу и там уже в таблице узверей проверка совпадения строки в поле login с переменной $log
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 22:40:40.826666
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
ну и? Разве так не подходит? "SELECT 1 FROM `users` WHERE `login`='".addslashes($_POST['login'])."'"
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 23:07:44.210000
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
quote:
ORIGINAL: oRb ну и? Разве так не подходит? "SELECT 1 FROM `users` WHERE `login`='".addslashes($_POST['login'])."'" $query="SELECT 1 FROM 'user' WHERE 'login'='".addslashes($_POST['log'])."'"; $res=mysql_query($query, $connect); $result=mysql_result($res,0); так ? вроде все просто, но где-то тут ошибка=(
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-01 23:40:12.770000
|
|
|
magistr_bender
Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
|
ыы.. а это что такое? mysql_query($query, $connect); как я помню у квери один параметр только .. сам запрос и всё
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-02 01:41:53.940000
|
|
|
Панда
Сообщений: 232
Оценки: 0
Присоединился: 2008-03-05 07:38:35.890000
|
quote:
ORIGINAL: brtn quote:
ORIGINAL: oRb ну и? Разве так не подходит? "SELECT 1 FROM `users` WHERE `login`='".addslashes($_POST['login'])."'" $query="SELECT 1 FROM 'user' WHERE 'login'='".addslashes($_POST['log'])."'"; $res=mysql_query($query, $connect); $result=mysql_result($res,0); так ? вроде все просто, но где-то тут ошибка=( $res=mysql_query($query, $connect); $num_rows = mysql_num_rows($res); if ($num_rows==1) { //пользователь есть } elseif ( $num_rows==0) { //нету пользователя } else { // DROP trable users. кривая база }
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-02 06:23:23.720000
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
спс quote:
$num_rows = mysql_num_rows($res); с количеством рядов ясно, но почему через mysql_result нельзя?
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-02 07:08:10.946666
|
|
|
Панда
Сообщений: 232
Оценки: 0
Присоединился: 2008-03-05 07:38:35.890000
|
все можно, но это стандартный вариант да и более быстрый походу
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-02 17:19:05.583333
|
|
|
magistr_bender
Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
|
как загрузить картинку размером до 1 мб и переименовать её сразуже при загрузке?
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-02 17:24:04.976666
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource вот ошибку выдаёт однако.
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-02 20:49:28.180000
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
quote:
ORIGINAL: magistr_bender как загрузить картинку размером до 1 мб и переименовать её сразуже при загрузке? работай так же как и с обычным аплоадом файлов quote:
ORIGINAL: brtn Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource вот ошибку выдаёт однако. напиши mysql_query("твой запрос") or die(mysql_error()); Тогда станет понятно в чем у тебя ошибка
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-02 21:16:01.316666
|
|
|
magistr_bender
Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
|
помогите написать скриптик голосования, желательно с базой… может у кого есть пример? а то я просто в ступоре незнаю как его написать чтоб считал количество голосов за каждый пункт да ещё и собирал ники юзеров чтоб повторно нельзя было голосовать
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-02 22:04:39.943333
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
quote:
напиши mysql_query("твой запрос") or die(mysql_error()); Тогда станет понятно в чем у тебя ошибка You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''user' WHERE 'login'='gg'' at line 1 $query="SELECT 1 FROM 'user' WHERE 'login'='".addslashes($_POST['log'])."'"; $res=mysql_query($query, $connect) or die(mysql_error());
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-02 22:47:03.993333
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
ну дык правильно, кавычки, в которые вписываются названия столбцов или таблиц должны быть другими: вместо ' надо ` (клавиша тильда (под ескейпом) )
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-03 00:25:08.746666
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
quote:
ORIGINAL: magistr_bender помогите написать скриптик голосования, желательно с базой… может у кого есть пример? а то я просто в ступоре незнаю как его написать чтоб считал количество голосов за каждый пункт да ещё и собирал ники юзеров чтоб повторно нельзя было голосовать http://woweb.ru/load/69
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-04 17:03:53.493333
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
Неправильный синтаксис или дело в ф-ции fopen(), если в $fh=fopen('brut.txt','r'); $n=0; while(!feof($fh)){ $n++; } fclose($fh); очень долго выполняется запрос. Fatal error: Maximum execution time of 9 seconds exceeded з.ы. в brut.txt 3 строчки
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-04 17:27:37.143333
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
$n=0; while(!feof($fh)){ $n++; } странная вешь скока раз цикл то должен мотаться конечно запрос долго выполняется если цикл бесконечный и мотается он потому что указатель в начеле файла
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-04 20:54:52.193333
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
Вообще-то кол-во строчек в файле считается гораздо проще - $n=count(file('brut.txt'));
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-04 22:06:43.033333
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
FriLL, указатель должен быть в начале файла, он ставится туда ф-цией, не понял , можно поподробнее? AdReNaL1Ne, спасиб
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 09:14:26.283333
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
quote:
ORIGINAL: AdReNaL1Ne Вообще-то кол-во строчек в файле считается гораздо проще - $n=count(file('brut.txt')); надеюсь файл будет не более 8 мб ;)
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 09:51:39.080000
|
|
|
Панда
Сообщений: 232
Оценки: 0
Присоединился: 2008-03-05 07:38:35.890000
|
для 3-х строчек в самый раз
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 15:32:55.960000
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
quote:
ORIGINAL: oRb quote:
ORIGINAL: AdReNaL1Ne Вообще-то кол-во строчек в файле считается гораздо проще - $n=count(file('brut.txt')); надеюсь файл будет не более 8 мб ;) Если инфы так много, врядли её будут в файле хранить) Ну а извращенцы могут post_max_size увеличить.
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 15:33:17.850000
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
quote:
надеюсь файл будет не более 8 мб ;) возможно более, как в этом случае реализовать? ) quote:
Если инфы так много, врядли её будут в файле хранить) БД не подойдёт, а где ещё текст хранить кроме файла в таком случае?
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 15:49:19.296666
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
quote:
FriLL, указатель должен быть в начале файла, он ставится туда ф-цией, не понял , можно поподробнее? ты ставиш указатель в начало файла а функцией feof($fh) проверяет достигнут ли конец quote:
$fh=fopen('brut.txt','r'); $n=0; while(!feof($fh)){ $n++; } fclose($fh); те получется - если конец функции не достигнут то мотается цикл (причем бесконечный почемуто) но конец функции у тебя не достигается НИКОГДА тк стоит "r" Решение - либо убрать 'r' либо !feof($fh)
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 15:55:44.580000
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
quote:
ты ставиш указатель в начало файла естественно потому что нужно с начала файла делать цикл, получается что указатель должен изменяться по ходу выполнения цикла? quote:
либо убрать 'r' либо !feof($fh) Если убрать r то как явно указать именно на ночало файла? +вдогонку =) : $text=$parse_url[query]; settype($text,"string"); $preg_replace=preg_replace("from","[from table]",$text); Ошибка: Warning: preg_replace() : Delimiter must not be alphanumeric or backslash in
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 16:29:00.560000
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
$fh=fopen('brut.txt','r'); $n=0; while($n=0)){ $n++; if ( feof($fh)) { стоп цикла; } } fclose($fh); что то этого типа надо
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 16:48:31.196666
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
FriLL, спс я так и думал ) +1
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 19:08:02.870000
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
ошибка, наверное в регулярном выражении? $text=$parse_url[query]; settype($text,"string"); $preg_replace=preg_replace("from","[from table]",$text); Ошибка: Warning: preg_replace() : Delimiter must not be alphanumeric or backslash in
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 19:18:19.843333
|
|
|
magistr_bender
Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
|
пробелемма кажись в скобках.. попробуй так $preg_replace=preg_replace("from","\[from table\]",$text);
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 19:56:43.403333
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
quote:
ORIGINAL: brtn ошибка, наверное в регулярном выражении? $text=$parse_url[query]; settype($text,"string"); $preg_replace=preg_replace("from","[from table]",$text); Ошибка: Warning: preg_replace() : Delimiter must not be alphanumeric or backslash in прежде чем юзать регулярки нужно понять, что это. Для начало исправить на такое preg_replace("!from!","[from table]",$text); Далее: использование регулярных выражений в данном случае не уместно, тк для таких целей созданна функция str_replace, которая и работать будет быстрее. И наконец: http://ru2.php.net/manual/ru/regexp.reference.php
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 20:27:32.603333
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
quote:
прежде чем юзать регулярки нужно понять, что это. http://ru2.php.net/manual/ru/regexp.reference.php отложу это на завтра, на свежую голову так сказать ) quote:
на такое preg_replace("!from!","[from table]",$text); и правда, с примерами использования этой ф-ции мне не повезло - там про символы ! и слова не было quote:
str_replace, которая и работать будет быстрее. да, сделаю через неё , хотя теперь и preg_replace(); работает, если быстрее будет) спасибо, опять помог очень)
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 20:52:43.490000
|
|
|
magistr_bender
Сообщений: 977
Оценки: 0
Присоединился: 2008-02-22 20:10:21.133333
|
quote:
ORIGINAL: brtn БД не подойдёт, а где ещё текст хранить кроме файла в таком случае? это смотря какая бд… можно хранить в XML
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 20:56:48.710000
|
|
|
koro
Сообщений: 977
Оценки: 0
Присоединился: 2008-08-08 09:39:07.460000
|
magistr_bender, это морока лишняя, мне нужно чтобы узер мог свои txt файлы кидать и усё, а создавать XML, форматировать присылаемые данные и заливать их туда это лишняя морока, да и не по знаниям моим =) а если в БД всё заливать - на хосте ограничение стоит на размер…. вот так =)
|
|
|
RE: Вопросы по PHP (для новичков) - 2008-09-05 21:26:50.626666
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
quote:
ORIGINAL: brtn БД не подойдёт, а где ещё текст хранить кроме файла в таком случае? Если файл больше 8 Мб надо в php.ini post_max_size выставить до нужного размера, либо непосредственно в скрипте: ini_set ('post_max_size','20M');
|
|
|
|
|