PHP.SU

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

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

> Найдено сообщений: 22
skruglikov Отправлено: 23 Января, 2017 - 13:04:48 • Тема: Выпадающие списки • Форум: Вопросы новичков

Ответов: 12
Просмотров: 945
Gost12345 пишет:
а дальше вот не получается, если после пишу
if(isset($_GET['name']))
{
//то выводит и по первому условию и по второму все вместе
}


дело в том, что вам не надо писать отдельную проверку под каждый параметр... достаточно одной на наличие $GET массива, а там уже проверить содержимое на наличие ключей и значений, сформировать запрос и передать его к БД...

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if ($_GET) {
  3.  
  4.         // Проверяем необходимы параметры и готовим массив с данными для поиска
  5.         $search_data = array();
  6.         $search_data['first_name'] = isset($_GET['first_name']) ? $_GET['first_name'] : '';
  7.         $search_data['last_name'] = isset($_GET['first_name']) ? $_GET['first_name'] : '';
  8.  
  9.         if ($search_data) {
  10.                 // формируем запрос к БД
  11.         }
  12. }
  13.  
skruglikov Отправлено: 23 Января, 2017 - 12:30:15 • Тема: Игнорируется последнее поле при разборе CSV файла • Форум: Вопросы новичков

Ответов: 10
Просмотров: 705
Evgeniii пишет:
Привести в порядок csv файл не могу, т.к он скачивается с сервера поставщика

обработку строк можно сделать сразу после открытия файла, если вы не участвуете в скачивании файла... с помощью регулярных выражений проверить наличие "кавычек", если что добавить их;

Evgeniii пишет:
Возможно ли как-то в конце каждой строки добавлять ; и далее уже обрабатывать измененный файл?

собственно да, опять же, с помощью регулярных выражений проверить наличие "точка с запятой", если что добавить их;

но перед тем как это делать, рекомендую проверить содержимое переменной $data перед строкой №15 вашего кода
skruglikov Отправлено: 23 Января, 2017 - 12:17:55 • Тема: Выпадающие списки • Форум: Вопросы новичков

Ответов: 12
Просмотров: 945
какой поиск вы хотите реализовать:
— поиск по ключевому слову?
— обновления содержимого <select> в зависимости от выбранного значения (выбираем имя, а доступные фамилии и год обновились)?

в любом случае это необходимо готовить запросы к БД, ведь ваши данные хранятся...
skruglikov Отправлено: 23 Января, 2017 - 06:51:22 • Тема: Как обрезать строку до сочитания символов • Форум: Вопросы новичков

Ответов: 5
Просмотров: 477
PHP:
скопировать код в буфер обмена
  1.  
  2. $str = '!==0!==0!==0!==0!==0!==0/Assets/Current Assets/test8';
  3. preg_match('/[a-zA-Z].*/', $str, $matches);
  4. echo $matches[0];
  5.  
skruglikov Отправлено: 23 Января, 2017 - 06:17:46 • Тема: Получение ID номера вместо логина • Форум: Вопросы новичков

Ответов: 9
Просмотров: 588
вообще такие ID необходимо создавать по определенному алгоритму, а не просто брать порядковый номер записи БД! как правило это комбинации латинских букв и цифр, он же как минимум должен иметь понятный вид ;) не зря же вы привели пример "WMID"... сгенеренный ID записывается в БД, а алгоритм нужно продумать самому.
skruglikov Отправлено: 23 Января, 2017 - 06:00:35 • Тема: Игнорируется последнее поле при разборе CSV файла • Форум: Вопросы новичков

Ответов: 10
Просмотров: 705
я думаю, нужно начать с проверки объекта/массива $data... посмотреть что туда вообще попало из вашего csv-файла, а потом уже смотреть дальше.
и приведите в порядок сам csv-файл, если вы уже используете символ ограничителя поля, в вашем случае "двойная кавычка (универсальная)", то кавычки должны ограничивать все значения.
skruglikov Отправлено: 23 Января, 2017 - 00:18:31 • Тема: Постраничный парсинг с помощью cURL + PHP Simple HTML DOM Parser • Форум: Хранение данных, их вывод и обработка

Ответов: 1
Просмотров: 2420
Добрый день!
Понадобилось написать скрипт, который парсит инфу с Амазона.
Решил сделать постраничный парсинг. С загруженной страницы, ссылка Next Page, аргументом возвращается в функцию для инициализации сеанса сURL. После выполнения запроса результат передаётся в PHP Simple HTML DOM Parser. Парсим нужную информацию, проверяем ссылку Next Page... Короче повторяем в цикле.

Проблема возникла когда новый сгенерённый URL, в переменной, возвращаю в функцию для cURL. И дальше 1-ой страницы дело не идёт. Причём, если я указываю тот же урл непосредственно в переменной как строка, всё нормально!

Может кто-то понимает, что происходит или сталкивался с подобной проблемой?

Скрипт неправильно работает со строками типа:
PHP:
скопировать код в буфер обмена
  1.  $dom_1->load(curl_get($res . $url));


Правильно работает со строками типа:
PHP:
скопировать код в буфер обмена
  1. $dom_2->load(curl_get($res . '/s/ref=sr_pg_2?rh=i%3Aaps%2Ck%3Aipad&page=2&keywords=ipad&ie=UTF8&qid=1485122977&spIA=B00IZBQ3LG,B01BNZN6DI'));


А хотелось бы как раз, чтобы работал именно первый вариант ;)

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.        
  4.         error_reporting (E_ALL);
  5.         ini_set ("display_errors", "On");
  6.         ini_set ("display_startup_errors", "On");
  7.  
  8.  
  9.         // PHP Simple HTML DOM Parser
  10.         include_once('lib/simple_html_dom.php');
  11.  
  12.  
  13.         // Resource & search page with keyword
  14.         $res = 'https://www.amazon.com';
  15.         $url = '/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=ipad';
  16.  
  17.  
  18.         // First page
  19.         echo $url . "<br>";
  20.  
  21.         // Create a DOM object & load HTML from a string
  22.         $dom_1 = new simple_html_dom();
  23.         $dom_1->load(curl_get($res . $url));
  24.         $url = $dom_1->find('div[id=pagn] a[id=pagnNextLink]', 0)->href;
  25.         $dom_1->clear();
  26.  
  27.         echo "<hr>";
  28.  
  29.  
  30.         // Second page
  31.         echo $url . "<br>";
  32.  
  33.         // Create a DOM object & load HTML from a string
  34.         $dom_2 = new simple_html_dom();
  35.         // $dom_2->load(curl_get($res . $url));
  36.         $dom_2->load(curl_get($res . '/s/ref=sr_pg_2?rh=i%3Aaps%2Ck%3Aipad&page=2&keywords=ipad&ie=UTF8&qid=1485122977&spIA=B00IZBQ3LG,B01BNZN6DI'));
  37.         $url = $dom_2->find('div[id=pagn] a[id=pagnNextLink]', 0)->href;
  38.         $dom_2->clear();
  39.  
  40.         echo "<hr>";
  41.  
  42.  
  43.         // Thrid page
  44.         echo $url . "<br>";
  45.  
  46.         // Create a DOM object & load HTML from a string
  47.         $dom_3 = new simple_html_dom();
  48.         // $dom_3->load(curl_get($res . $url));
  49.         $dom_3->load(curl_get($res . '/s/ref=sr_pg_3?rh=i%3Aaps%2Ck%3Aipad&page=3&keywords=ipad&ie=UTF8&qid=1485123047&spIA=B0052EP1XK,B008X1LHE6,B00IZBQ3LG,B01BNZN6DI'));
  50.         $url = $dom_3->find('div[id=pagn] a[id=pagnNextLink]', 0)->href;
  51.         $dom_3->clear();
  52.  
  53.         echo "<hr>";
  54.  
  55.  
  56.         // Four page
  57.         echo $url . "<br>";
  58.  
  59.         // Create a DOM object & load HTML from a string
  60.         // ...
  61.  
  62.         echo "<hr>";
  63.  
  64.  
  65.         // cURL
  66.         function curl_get($url, $referer = "http://www.google.com.ua"){
  67.  
  68.                 $ch = curl_init();
  69.                 curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  70.                 curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
  71.                 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  72.                 curl_setopt($ch, CURLOPT_HEADER, false);
  73.                 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
  74.                 curl_setopt($ch, CURLOPT_URL, $url);
  75.                 curl_setopt($ch, CURLOPT_REFERER, $referer);
  76.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  77.                 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36");
  78.                 $str = curl_exec($ch);
  79.                 curl_close($ch);
  80.  
  81.                 return $str;
  82.         }
  83.  
  84. ?>
  85.  

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB