PHP.SU

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

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

> Найдено сообщений: 10
Странник Отправлено: 15 Июня, 2016 - 18:32:01 • Тема: Как сделать выборку из массива? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 193
Огромное спасибо! Все заработало Улыбка
Странник Отправлено: 15 Июня, 2016 - 11:16:06 • Тема: Как сделать выборку из массива? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 193
Есть следующий массив:

PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => Array
  4.         (
  5.             [0] => 12
  6.             [1] => Петя
  7.         )
  8.  
  9.     [1] => Array
  10.         (
  11.             [0] => 3
  12.             [1] => Сергей
  13.         )
  14.  
  15.     [2] => Array
  16.         (
  17.             [0] => 33
  18.             [1] => Оксана
  19.         )
  20.     [3] => Array
  21.         (
  22.             [0] => 3
  23.             [1] => Петя
  24.         )
  25.  
  26.     [4] => Array
  27.         (
  28.             [0] => 10
  29.             [1] => Сергей
  30.         )
  31.  
  32.     [5] => Array
  33.         (
  34.             [0] => 52
  35.             [1] => Петя
  36.         )
  37.     [6] => Array
  38.         (
  39.             [0] => 17
  40.             [1] => Люда
  41.         )
  42.  
  43.     [7] => Array
  44.         (
  45.             [0] => 24
  46.             [1] => Сергей
  47.         )
  48.  
  49.     [8] => Array
  50.         (
  51.             [0] => 8
  52.             [1] => Надя
  53.         )
  54.  
  55. )
  56.  


Как вы видите, имена повторяются, но второй элемент массива (цифра - возраст) с повторяющимися именами всегда разный.
Подскажите как удалить из массива ненужные элементы, так, чтоб имена не повторялись, а из тех что повторялись, осталось Имя с максимальным возрастом. Примерно так:

PHP:
скопировать код в буфер обмена
  1. (
  2.  
  3.     [2] => Array
  4.         (
  5.             [0] => 33
  6.             [1] => Оксана
  7.         )
  8.     [5] => Array
  9.         (
  10.             [0] => 52
  11.             [1] => Петя
  12.         )
  13.     [6] => Array
  14.         (
  15.             [0] => 17
  16.             [1] => Люда
  17.         )
  18.  
  19.     [7] => Array
  20.         (
  21.             [0] => 24
  22.             [1] => Сергей
  23.         )
  24.  
  25.     [8] => Array
  26.         (
  27.             [0] => 8
  28.             [1] => Надя
  29.         )
  30.  
  31. )
Странник Отправлено: 28 Мая, 2016 - 19:58:57 • Тема: Как указать кодировку для парсинга? • Форум: Кодировки и все смежное

Ответов: 4
Просмотров: 1559
Для себя вопрос решил так:

Забираю контент в чистом виде по урлу примерно так:
$page = @file_get_contents($request);

Затем здесь берем библиотеку: http://popoff[dot]donetsk[dot]ua/text/wo[dot][dot][dot]/libs/a/charset/ и используем
function charset_x_win()
чтоб преобразовать любую строку на русском языке из неизвестной кодировки в кодировку windows-1251.

Т.к. я работаю с utf-8 я затем зная что весь контент со всех сайтов уже в кодировке ср1251, конвертирую в utf-8:
if($codir != 'UTF-8'){ $content = iconv("cp1251","utf-8",$content); }

Теперь весь контент единообразно и корректно отображается, и весь в utf-8.
Странник Отправлено: 28 Мая, 2016 - 17:42:27 • Тема: Как указать кодировку для парсинга? • Форум: Кодировки и все смежное

Ответов: 4
Просмотров: 1559
Мелкий пишет:
Сами ручками из заголовков достаёте Content-Type, парсите, получаете кодировку. Если нет заголовка, парсите и читаете мета-теги, если и там нет (или ещё веселее, есть и там и там, но разные, а сам документ - вовсе в третьей) - пытаетесь угадать по контенту.

Делал так, принудительно указывал кодировку, но видимо она не соответствовала реальности т.к. вопросы оставались.
Мелкий пишет:
...пытаетесь угадать по контенту.
Как? Подскажите.
Мелкий пишет:
Или берёте что-нибудь более сложное и удобное, чем пинать голый транспортный курл.

Раз спрашиваю, значит не знаю. Зачем умничать. Может лучше подсказать?
Странник Отправлено: 28 Мая, 2016 - 16:54:25 • Тема: Как указать кодировку для парсинга? • Форум: Кодировки и все смежное

Ответов: 4
Просмотров: 1559
Пишу для себя скрипт для анализа контента некоторых сайтов.
Вот кусочек скрипта:

PHP:
скопировать код в буфер обмена
  1. $th2[$i] = $url ; // формирую массив с URL-ами
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, $url);
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  5. curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);        
  6. curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.0 YB/4.3.0");
  7.            
  8. $content[$i] = $this->Translit->htmlRemove(curl_exec($ch));
  9. // Устанавливается порядок определения кодировки по указанному списку:
  10. mb_detect_order("eucJP-win,sjis-win,UTF-8");
  11. $codir[$i] = mb_detect_encoding($content[$i]);
  12. if($codir[$i] != 'UTF-8'){ $content[$i] = iconv("cp1251","utf-8",$content[$i]); }
  13.  


Вот что имеем на выходе:
Нажмите для увеличения


Перепробовал много чего, но вопросики так и не смог превратить в нормальный текст.
Докопался до того, что в header`e сайтов (в заголовках которые отдает сервер нет указания кодировки), с которых вместо текста парсятся вопросы нет указания кодировки.
Как я понимаю, curlу надо указать кодировку. А у этих проблемных сайтов кодировка указана в html коде - в метатегах. Но это для curlа уже бесполезно - он спарсил текст в виде вопросов. Подскажите как решить проблемку.

Я программист-любитель. Прошу не пинать сильно.
Странник Отправлено: 08 Мая, 2016 - 11:52:04 • Тема: Нужен программист: Написать сайт на CakePHP v3.x • Форум: FreeLance

Ответов: 0
Просмотров: 491
В настоящий момент разрабатывается подробное ТЗ по функционалу сервиса, а также дизайн, верстка...
Пока это разрабатывается (думаю займет это времени несколько месяцев) чтоб не терять потом время, решли подыскать опытного программиста, который бы взялся за написание сервиса.
Решено писать сайт на фреймворке CakePHP v3.x.
Программист должен быть только из Екатеринбурга или ближайших пригородов (Первоуральск, Среднеуральск, В.Пышма...) т.к. нужна личная встреча. Удаленные варианты не устраивают.

Что примерно планируется сделать:
- авторизация пользователя и его личный кабинет;
- доска объявлений с широким перечнем полей;
- поиск по объявлениям;
- привязка Яндекс.Карт с указанием объекта и возможностью вывода результатов поиска на карту;
- дополнительные фишки по взаимодействию пользователя с сайтом (будет описано в ТЗ)...

Прошу обращаться в личку: кратко о себе, портфолио, вопросы, требования...
Странник Отправлено: 12 Июня, 2014 - 23:12:02 • Тема: Создание новой таблицы из двух исходных • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 756
Нашел простое до гениальности решение Улыбка
Перед селектом ставим
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE my_new_table AS
  2. SELECT ...далее сам запрос
Странник Отправлено: 12 Июня, 2014 - 22:32:21 • Тема: Создание новой таблицы из двух исходных • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 756
Может кто подскажет можно ли данные полученные путем соединения значений двух таблиц закинуть в статическую таблицу? Т.е. я в консоли выполняю такой запрос:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2.         mytables.id AS th_id,
  3.         datafromgas.id AS ads_id,
  4.         datafromgas.cenaclick,
  5.         mytables.title,
  6.         datafromgas.titlerus,
  7.         mytables.mytables1section_id AS r1,
  8.         mytables.mytables2section_id AS r2,
  9.         mytables.mytables3section_id AS r3,
  10.         mytables.foto_name AS urls
  11. FROM mytables
  12. INNER JOIN datafromgas
  13. ON mytables.foto_name = datafromgas.url;

И в консоли отрисовывается временная таблица. Вот как ее сделать физически существующей.
т.е. мне нужна новая табица - гибрид двух других таблиц
Пытался делать так:
CODE (SQL):
скопировать код в буфер обмена
  1. INSERT INTO datafromgas (
  2.         datafromgas.id AS ads_id,
  3.         datafromgas.cenaclick,
  4.         datafromgas.titlerus)                
  5. SELECT
  6.         mytables.id AS th_id,
  7.         mytables.title,
  8.         mytables.mytables1section_id AS r1,
  9.         mytables.mytables2section_id AS r2,
  10.         mytables.thouses3section_id AS r3,
  11.         mytables.foto_name AS urls
  12. FROM mytables;

но почему-то не получается? Я не опытный в этих вопросах... Прошу сильно не пинать. Кто сможет - помогите!
Странник Отправлено: 23 Мая, 2010 - 14:34:36 • Тема: Запись звука на сайте • Форум: Наработки по собственным проектам

Ответов: 3
Просмотров: 4019
если точнее на flex`e
спасибо за подсказку ;) А более дельного сказать нечего?
Странник Отправлено: 23 Мая, 2010 - 13:54:40 • Тема: Запись звука на сайте • Форум: Наработки по собственным проектам

Ответов: 3
Просмотров: 4019
На сайте необходимо сделать возможность записи голоса пользователя. Т.е. чтобы любой пользователь, посетивший сайт, мог кликнув по соответствующей кнопке начать запись своего голоса через микрофон. А запись соответственно чтобы писалась на сервер владельца сайта.
Если есть готовые решения, скрипты,- подскажите пожалуйста, буду благодарен.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB