PHP.SU

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

Страниц (7): « 1 2 3 [4] 5 6 7 »

> Найдено сообщений: 94
sofck Отправлено: 30 Мая, 2010 - 14:54:22 • Тема: русскии файлы в jquery uploadify • Форум: JavaScript & VBScript

Ответов: 9
Просмотров: 4825
пробовал! не катит(
пробовал utf-8 - один раз сработало((
sofck Отправлено: 30 Мая, 2010 - 00:56:10 • Тема: русскии файлы в jquery uploadify • Форум: JavaScript & VBScript

Ответов: 9
Просмотров: 4825
Устанавливая кодировку js файла и html в UTF-8 всё равно не получается. Может быть проблема именно в том что сам swfuploader сделанных на flash'e не воспринимет кирилицу?
sofck Отправлено: 28 Мая, 2010 - 23:57:15 • Тема: русскии файлы в jquery uploadify • Форум: JavaScript & VBScript

Ответов: 9
Просмотров: 4825
Кто нибудь знает как заставить uploadify загружать файлы если их названия русские?
sofck Отправлено: 20 Мая, 2010 - 18:37:47 • Тема: Выполнение скрипта по времени... • Форум: Программирование на PHP

Ответов: 6
Просмотров: 424
а где можно посмотреть на примеры реализации выполнения функций по cron
sofck Отправлено: 20 Мая, 2010 - 11:33:03 • Тема: Выполнение скрипта по времени... • Форум: Программирование на PHP

Ответов: 6
Просмотров: 424
Вопрос в следующем:
С сайта есть рассылка, тупо перебирается бд с адресами и в цикли на каждый отправляется письмо функцией mail(). Но на хостинге стоит ограничение... что то вроде не больше 300 писем в минуту.
Как сделать так что бы скрипт сначала отсылал, ну к примеру, 200 писем, через пару минут и еще 200, и так далее до конца списка писем в бд.????
sofck Отправлено: 26 Апреля, 2010 - 21:20:07 • Тема: как сохранить префикса массива • Форум: Программирование на PHP

Ответов: 8
Просмотров: 493
всем спасибо.... короче в топку!! решил просто везде использовать
mysql_fetch_assoc вместо mysql_fetch_array
))))
sofck Отправлено: 26 Апреля, 2010 - 16:28:17 • Тема: как сохранить префикса массива • Форум: Программирование на PHP

Ответов: 8
Просмотров: 493
JustUserR пишет:
sofck пишет:
А удобный для меня никак вид никак не сохранить??? что без обработки, что то что вы говорить - одинаково не подходит
Создайте массив $arr=array() и сделайте следующую обработку в цикле while($arr[]=mysql_fetch_assoc($result)) {} - после чего можете напечатать содержимое массива print_r($arr) и убедиться что он действительно является хеш-массивом и содержит необходимые ключи

по вашему примеру тоже получаеться
массив такого типа $arr[0]['name'];
(Добавление)
Мелкий пишет:
sofck пишет:
а удобный для меня никак вид никак не сохранить???

т.е. именно $data['name'][0]?
Тоже можно:
PHP:
скопировать код в буфер обмена
  1. $sql = mysql_query("SELECT `id`,`name`,`info` FROM `table`");
  2. $data = array();
  3. while($result=mysql_fetch_assoc($sql)) {
  4. $data['id'][]=$result['id'];
  5. $data['name'][]=$result['name'];
  6. $data['info'][]=$result['info'];
  7. };
  8. return $data;


Или для более гибкого варианта - можно с функциями типа key поиграться


ну это понятно если самому прописать префиксы массива.
А если поля заранее не известны.?
sofck Отправлено: 26 Апреля, 2010 - 12:40:49 • Тема: как сохранить префикса массива • Форум: Программирование на PHP

Ответов: 8
Просмотров: 493
Мелкий пишет:
Использовать не mysql_fetch_array, а mysql_fetch_assoc
Только будет $data[0]['id']

а удобный для меня никак вид никак не сохранить??? что без обработки, что то что вы говорить - одинаково не подходит((
sofck Отправлено: 26 Апреля, 2010 - 12:16:26 • Тема: как сохранить префикса массива • Форум: Программирование на PHP

Ответов: 8
Просмотров: 493
CODE (htmlphp):
скопировать код в буфер обмена
  1. $sql = mysql_query("SELECT * FROM table");
  2. $result =mysql_fetch_array($sql);
  3. do
  4. {
  5. $data[]=$result;
  6. }while($result=mysql_fetch_array($sql));
  7. return $data;


предположим что в table строки id, name, info.
как сделать так что бы в массиве $data сохранялись префиксы из бд?
тоисть $result['name'][0] был в переменной $data['name'][0]
а не в $data[1][0] как сейчас
sofck Отправлено: 15 Апреля, 2010 - 18:12:33 • Тема: поиск на сайте по mysql • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1035
DeepVarvar пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. #
  2. while($data=mysql_fetch_array($result))
  3. {      
  4. $message=$data["info"];
  5. echo $message.'<hr>';
  6. }

Будет проще:
CODE (htmlphp):
скопировать код в буфер обмена
  1. #
  2. while($data=mysql_fetch_array($result))
  3. {      
  4. echo $data["info"].'<hr>';
  5. }

Зачем там лишняя переменная?

ну это понятно! просто проглядел.
-----
А может кто нибудь знаеть как исправить запрос чтобы искалось не только в одной строке таблицы.
Ну скажем есть таблица,
id,name,info
Сейчас можно искать лишь в одной их этих. К примеру в содержимом "info".
Хотелось бы еще что бы искало и в названиях "name"
sofck Отправлено: 15 Апреля, 2010 - 15:06:39 • Тема: поиск на сайте по mysql • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1035
Viper пишет:
setlocale не есть хорошим решением. хотя иногда и нужен.
а вот писать в запросах COLLATE это нехорошо.

все str_replace можно заменить одним
PHP:
скопировать код в буфер обмена
  1. $arr = array('\'', '"', '_', ',');
  2. $arr_1 = array('', '', '', '');
  3. $words = str_replace($arr, $arr_1, $words);


до использования setlocale у меня русский текст вообще не воспринимался.
А благодаря COLLATE стал возможен регистронезависимый поиск
))
sofck Отправлено: 15 Апреля, 2010 - 10:22:20 • Тема: поиск на сайте по mysql • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1035
Ну вообщем разобрался и вот что получилось.
По крайне мере работает нормально. Можно искать не только одно слово, с регистром тоже всё гуд, ну и с кодировкой тоже справляеться.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3. mysql_connect("localhost","root","");
  4. mysql_query("SET CHARACTER SET cp1251");
  5. mysql_query("SET NAMES cp1251");
  6. setlocale(LC_ALL, 'ru_RU.CP1251');
  7. $words = $_POST['keyword'];
  8. $words = strtolower($words);
  9. $words = trim($words);
  10. $words = strip_tags($words);
  11. $words = str_replace("'", "", $words);
  12. $words = str_replace('"', "", $words);
  13. $words = str_replace("-", "", $words);
  14. $words = str_replace(",", "", $words);
  15.  
  16.   function multi($words)
  17.       {
  18.              $keywords = split(' ', $words);
  19.          $num_keywords = count($keywords);
  20.          for ($i=0; $i<$num_keywords; $i++)
  21.          {
  22.            if ($i)
  23.            {
  24.              $keywords_string .= "or info like '%".$keywords[$i]."%' ";
  25.            }
  26.            else
  27.            {
  28.              $keywords_string = "info like '%".$keywords[$i]."%' ";
  29.            }
  30.          }
  31.            return $keywords_string;
  32.        }
  33.                 $var = multi($words);
  34.  
  35. $result = mysql_query("SELECT * FROM table WHERE ".$var." COLLATE cp1251_general_ci");
  36. while($data=mysql_fetch_array($result))
  37. {      
  38. $message=$data["info"];
  39. echo $message.'<hr>';
  40. }
  41. ?>
  42.  


Может кто нибудь внесет какие нибудь поправки или дополнения, то буду благодарен.
А так кому нибудь может тоже пригодиться!
sofck Отправлено: 14 Апреля, 2010 - 00:44:23 • Тема: поиск на сайте по mysql • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1035
JustUserR пишет:
sofck пишет:
Если добавляю в конфиг то ошибку не выдает но ничего не находит...((
Вероятно нужно установить не только кодировку MySQL-соединения - но также проверить кодировку самого PHP-скрипта и получаемых и отправляемых данных - ведь если их кодировка не совпадает то коды символов будут разные и поиск не получится Если кодировка действительно в определенных местах не совпадает то используйте iconv для перекодировки - а если используются регулярные выражения и сложные строковые функции но не забудьте поставить локаль


Скорей всего вы правы!!!

А случаем не могли бы подсказать функцию что бы он определяла в какой кодировке строка запроса и переводила её в кодировку удобную для базы если он отличаеться от нужной
sofck Отправлено: 12 Апреля, 2010 - 17:03:01 • Тема: поиск на сайте по mysql • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1035
Ну а если проще! то почему вот такой код работает только с английскими буквами.
При вводе русских же получаю ошибку
mysql_fetch_array() expects parameter 1 to be resource, boolean given in search.php on line 5


CODE (htmlphp):
скопировать код в буфер обмена
  1. mysql_connect("localhost","root","");
  2. mysql_select_db("blog");
  3. $search=$_POST["search"];
  4. $result = mysql_query("SELECT * FROM tb1 WHERE text LIKE '%$search%'");
  5. while($r=mysql_fetch_array($result))
  6. {      
  7. $message=$r["text"];
  8. echo $message;
  9. }
  10.  
sofck Отправлено: 12 Апреля, 2010 - 10:54:35 • Тема: поиск на сайте по mysql • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1035
ну это если сократить и не писать вспомогателный код.
хотя не осбо понимаю зачем две одинаковые функции keywords_text и keywords_title
CODE (htmlphp):
скопировать код в буфер обмена
  1. function keywords_text($words)
  2.        {
  3.               $keywords = split(' ', $words);
  4.           $num_keywords = count($keywords);
  5.           for ($i=0; $i<$num_keywords; $i++)
  6.          {
  7.            if ($i)
  8.            {
  9.              $keywords_string .= "or text like '%".$keywords[$i]."%' ";
  10.            }
  11.            else
  12.            {
  13.              $keywords_string = "text like '%".$keywords[$i]."%' ";
  14.            }
  15.          }
  16.            return $keywords_string;
  17.        }
  18.    function keywords_title($words)
  19.       {
  20.              $keywords = split(' ', $words);
  21.          $num_keywords = count($keywords);
  22.          for ($i=0; $i<$num_keywords; $i++)
  23.          {
  24.            if ($i)
  25.            {
  26.              $keywords_string .= "or title like '%".$keywords[$i]."%' ";
  27.            }
  28.            else
  29.            {
  30.              $keywords_string = "title like '%".$keywords[$i]."%' ";
  31.            }
  32.          }
  33.            return $keywords_string;
  34.        }
  35.  
  36.  
  37.  if(isset($_POST['send']))
  38.  {
  39.    $words = trim($_POST['keyword']);
  40.    $words = strip_tags($words);
  41.    $words = str_replace("'", "", $words);
  42.    $words = str_replace('"', "", $words);
  43.    $words = str_replace("-", "", $words);
  44.    $words = str_replace(",", "", $words);
  45.  }
  46.  
  47.   $var = keywords_text($words);
  48.   $var2 = keywords_title($words);
  49.   if(($var) || ($var2))
  50.    {
  51.                                 include("inc/db.php");  
  52.               $sql = "SELECT id, text, title, date, author FROM catalog WHERE ".$var." OR ".$var2."";
  53.               $result = mysql_query($sql);
  54.               $num_rows = mysql_num_rows($result);
  55.                            
  56.         do{echo $myrow['text'];}while($myrow = mysql_fetch_array($result));
  57.         }

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB