PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 10
pa-bil-sag
Отправлено: 28 Ноября, 2022 - 01:38:37 • Тема: Выборка из одной таблицы • Форум: SQL и Архитектура БД
Ответов: 0 Просмотров: 869
Прошу помощи, есть таблица postmeta со столбцами post_id, meta_value, meta_key.
В ней хранятся свойства для объекта, где значения meta_value и meta_key может быть несколько для post_id.
Мне нужна помощь сделав такую выборку.
Чтобы значения meta_key стали столбцами, а meta_value значениями, с условием что meta_value не должно быть равно конкретному значению при выборке.
Пожалуйста посмотрите рисунок!
(Добавление)
select A.post_id , A.meta_value as valuta , B.meta_value as czena_konverter , C.meta_value as czena_konverter_do , D.meta_value as czena_sale_konverter
FROM wp_postmeta A, wp_postmeta B, wp_postmeta C, wp_postmeta D
WHERE A.post_id = B.post_id
AND A.post_id = C.post_id
AND A.post_id = D.post_id
AND A.meta_key='valyuta'
AND B.meta_key='czena_konverter'
AND C.meta_key='czena_konverter_do'
AND D.meta_key='czena_sale_konverter'
AND A.meta_value != 'EUR'
AND A.meta_value != '';
pa-bil-sag
Отправлено: 06 Марта, 2020 - 16:45:06 • Тема: Curl, get запрос • Форум: Вопросы новичков
Ответов: 1 Просмотров: 301
Привет, нужна помощь с curl мне приходит ошибка. Нужно сделать проверку подписок у Триколор тв на странице https://www[dot]tricolor[dot]tv/check-subscriptions/ (можно указать 25025504111330) На форме стоит капча, но с ней потом разберемся через сервис, даже если она не правильная, то ответ от сервера должен быть о не верной капче судя по обработке ответа, а мне приходит такой вот ответ.
CODE (
html ):
скопировать код в буфер обмена
<html >
<head ><title > 400 Bad Request</ title ></ head >
<body bgcolor = "white" >
<center ><h1 > 400 Bad Request</ h1 ></ center >
<hr ><center > openresty/1.13.6.2</ center >
</ body >
</ html >
Вот мой curl
PHP:
скопировать код в буфер обмена
'id' => '25025504111330' ,
'g-recaptcha-response' => '' ) ;
$url = 'https://www.tricolor.tv/ajax/subscriptions/check.php?' . $post ;
$header .= "accept: application/json, text/javascript, */*; q=0.01 \r \n " ;
$header .= "accept-encoding: gzip, deflate, br \r \n " ;
$header .= "accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7 \r \n " ;
$header .= "cache-control: no-cache \r \n " ;
$header .= "cookie: _ga=GA1.2.507352214.1578108455; _ym_d=1578108455; _ym_uid=1578108455128418348; tmr_lvid=4265fdd8790de91b63ec91ef128bd4b3; tmr_lvidTS=1578108580433; BX_USER_ID=ba344fac1eb8d72341b7090ae1aa7ab1; tv2=9f47332ad82b927dacc3a107f347647d; tri_server5=7597bc024d7fdc91288c28c505f9c4cb; tmr_reqNum=246; _ym_isad=1; _gid=GA1.2.684497268.1583476168; DREID=25025504111330; COOKIE_SET=Y; SOURCE[TYPE]=region; SOURCE[NAME]=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0+%D0%B8+%D0%9C%D0%9E; SOURCE[ID]=17; REGION[NAME]=%D0%95%D0%B2%D1%80%D0%BE%D0%BF%D0%B0; REGION[ID]=12; FEDERAL_DISTRICT[NAME]=%D0%A6%D0%B5%D0%BD%D1%82%D1%80; FEDERAL_DISTRICT[ID]=102; CITY[NAME]=%D0%BF%D0%BE%D1%81%D1%91%D0%BB%D0%BE%D0%BA+%D0%9D%D0%BE%D0%B2%D0%BE%D0%BE%D0%BC%D1%81%D0%BA%D0%B8%D0%B9; CITY[ID]=50643 \r \n " ;
$header .= "pragma: no-cache \r \n " ;
$header .= "referer: https://www.tricolor.tv/check-subscriptions/ \r \n " ;
$header .= "sec-fetch-dest: empty \r \n " ;
$header .= "sec-fetch-mode: cors \r \n " ;
$header .= "sec-fetch-site: same-origin \r \n " ;
$header .= "x-requested-with: XMLHttpRequest \r \n " ;
$agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36' ;
прикрепил скрины аякс отправки на самом tricolor и заголовки при отправке
pa-bil-sag
Отправлено: 24 Марта, 2015 - 00:41:37 • Тема: подключение к бд • Форум: Вопросы новичков
Ответов: 2 Просмотров: 144
нет подключения к бд, помогите подправить
PHP:
скопировать код в буфер обмена
class jobDb{
private $_link ;
function __construct( & $input )
{
$this -> resultParse =& $input ;
$this -> _setLink( ) ;
}
function _getLink( )
{
return $this -> _link;
}
function _setLink( )
{
}
function mysqlConnect( )
{
}
function __destruct( )
{
}
public function insertData( )
{
$this -> _setLink( ) ;
$this -> resultParse = filter_var_array ( $this -> resultParse , FILTER_SANITIZE_STRING
) ; foreach ( $this -> resultParse as $key => $value ) { // Проходим по регионам
foreach ( $value as $k => $v ) { // проходим по типам заведения
foreach ( $v as $k2 => $title ) { // проходим по заведениям
$sql = "INSERT INTO `educational_institutions` (`region`, `title`, `old_title`, `abbreviation_title`,`type`) VALUES ('{$key} ', '{$title} ', '', '','{$k} ')" ;
}
}
}
}
$this -> close ( ) ;
}
function close( )
{
}
}
pa-bil-sag
Отправлено: 16 Марта, 2015 - 03:42:02 • Тема: функции • Форум: Вопросы новичков
Ответов: 1 Просмотров: 138
Добрый день, я хочу понять как передавать результат функции.
1 функция форматирует текст и в конце можно вывести результат, но только если вывод будет внутри функции, за функцией я не могу сделать echo, почему?
2 вторая функция должна продолжить форматирование с результатом первой функции, как мне передать результат первой функции?
PHP:
скопировать код в буфер обмена
/*форматирование*/
function formatString( & $s )
{
//$s=html_entity_decode()
//$s=strip_tags($s);
// оставляем разрешенные
'space' => '/[^a-zа-яё0-9\s\."\'«»]{1,}/ui' ,
// преобразуем кавычки в "
'qoute' => '/[\'«»]+/ui' ,
// текст до первой кавычки
'empty' => '/^([а-яА-Я].*)(?<=\s")/ui' ,
// удаляем кавычки
'other' => '/["]+/ui' ,
// удаляем двойные пробелы
'doubling' => '/(\s){2,}/ui' ,
) ;
'space' => ' ' ,
'qoute' => '"' ,
'empty' => '' ,
'other' => ' ' ,
'doubling' => ' ' ,
) ;
} ;
function mb_ucfirst( $string , $enc = 'UTF-8' )
{
return $string ;
}
pa-bil-sag
Отправлено: 15 Марта, 2015 - 19:16:00 • Тема: Классы • Форум: Объектно-ориентированное программирование
Ответов: 2 Просмотров: 1017
Помогите разбить код на классы. Мне пример нужен, как это будет выгладить
1 класс будет содержать массивы
2 класс это функции работающие с массивом
PHP:
скопировать код в буфер обмена
require_once ( 'phpQuery/phpQuery.php' ) ;
7 => 'minsk' ,
5 => 'minskaya' ,
) ;
3 => 'ptu' ,
4 => 'suz' ,
6 => 'vuz' ,
) ;
$url = 'http://kudapostupat.by/zavedeniya' ;
phpQuery:: newDocument ( $html ) ;
/* парсинг*/
foreach ( $res2Parse as $key => $value ) {
foreach ( $res2Edu as $k => $v ) {
foreach ( pq( '#catalog_tab_' . $v . '_' . $value . ' li' ) as $vuz ) {
// ищем название марки (текст ссылки)
$type = $k ;
if ( $type == 4) {
$type = 3 ;
}
$resultParse [ $key ] [ $k ] [ ] = trim ( pq
( $vuz ) -> find ( 'a' ) -> text ( ) ) ;
}
}
}
//return $resultParse;
/*форматирование*/
function ucfirst_mb( $str , $encoding = 'UTF-8' )
{
return $str ;
}
function formatString( & $s )
{
//$s=html_entity_decode()
//$s=strip_tags($s);
// оставляем разрешенные
'space' => '/[^a-zа-яё0-9\s\.\"\'\«»]{1,}/ui' ,
// преобразуем кавычки в "
'qoute' => '/[\'\«»]+/ui' ,
// текст до первой кавычки
'empty' => '/((^[a-zа-яё0-9\s\.]+(?<=\"){1})/ui' ,
// удаляем кавычки
'other' => '/[\"]+/ui' ,
// удаляем двойные пробелы
'doubling' => '/(\s){2,}/ui' ,
) ;
'space' => ' ' ,
'qoute' => '"' ,
'empty' => '' ,
'other' => ' ' ,
'doubling' => ' ' ,
) ;
$s = ucfirst_mb( $s ) ;
//обрезаем до 127 символов
}
}
function customFilter( & $s )
{
'regexp' => 'первая бува заглавная, остальные маленькие' ,
) ,
) ;
$filter = filter_var ( $s , FILTER_VALIDATE_REGEXP
, $options ) ; if ( ! $filter ) {
$s = '_' . $s ;
}
}
pa-bil-sag
Отправлено: 10 Марта, 2015 - 22:51:03 • Тема: запись в бд • Форум: Вопросы новичков
Ответов: 1 Просмотров: 141
pa-bil-sag пишет: Простите уже сам решил прост нужно было в цикл запихнуть подключение бд
pa-bil-sag
Отправлено: 10 Марта, 2015 - 20:47:40 • Тема: запись в бд • Форум: Вопросы новичков
Ответов: 1 Просмотров: 141
После парсинга сайта, делаю запись в бд, но запись в бд идет как одна большая строка. Помогите произвести запись в бд по строкам.
PHP:
скопировать код в буфер обмена
{
echo "Не могу подключится к серверу" ;
}
//Установка соединения с БД
{
echo "Не могу подключится к серверу" ;
}
//Выбор БД
require_once ( 'phpQuery/phpQuery.php' ) ;
// для подсчета времени выполнения
function get_marks( )
{
$url = 'http://kudapostupat.by/zavedeniya/vuz' ;
phpQuery:: newDocument ( $html ) ;
// проходим по li элементам с классом .marks-col-item
foreach ( pq( 'div.catalog_links' ) as $catalog ) {
// ищем название марки (текст ссылки)
$catalog_vuz = trim ( pq
( $catalog ) -> find ( 'a' ) -> text ( ) ) ; $catalogs [ $catalog_vuz ] [ 'target' ] = $catalog_vuz ;
$stripSymbols = '/[^A-Za-zА-ЯЁа-яё0-9_\s\,\.\:\;\~\!\@\#\$\%\&\*\№\?\(\)\-\=\+\[\]\<\>]/u' ; // Перечисляем разрешенные символы/ Рубим все кавычки! /u - модиффатор для работы с UTF-8
$catalog_vuz = preg_replace ( $stripSymbols , '' , $catalog_vuz ) ; // Оставляем т/о разрешенные символы $catalog_vuz = strip_tags ( $catalog_vuz ) ; // Режем теги $catalog_vuz = trim ( $catalog_vuz ) ;
$catalog_vuz = preg_replace ( '/[ ]{2,}/u' , ' ' , $catalog_vuz ) ; // Повторые пробелы заменяем одиночным $catalog_vuz = preg_replace ( '/[\s]{2,}/u' , "\n " , $catalog_vuz ) ; // Все остальные многократыне пробельные [\s]=[ \f\n\r\t\v] заменяем одним переносом
echo '<pre>' ;
//print_r($catalog_vuz);
echo '</pre>' ;
if ( ! mysql_query ( "INSERT INTO vuz (title) VALUES ('$catalog_vuz ')" ) ) {
echo "Запись в БД не удалась<br>" ;
}
else
{
echo "Запись в БД выпонена ($catalog_vuz )<br>" ;
}
echo 'Результат<br>' ;
echo '<hr>' ;
echo '<hr><br>' ;
echo "<br>Полное название учебного заведения: $catalog_vuz " ;
}
}
pa-bil-sag
Отправлено: 07 Марта, 2015 - 17:34:01 • Тема: форматирование текста • Форум: Вопросы новичков
Ответов: 5 Просмотров: 364
Добрый день! Я сделал парсинг сайта при помощи phpQuery, мне выдал текст который я хотел, но как новичке не знаю как его отформатировать.
Правила форматирования:
1 Все что находится слева от первой (открывающей кавычки)- удаляется;
2 Кавычки удаляются;
3 Строки не должны содержать концевых пробелов;
4 Первый и последний символ обязательно буква;
5 Первая буква в строке заглавная, последующие строчные;
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB