ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 22.03.2010, 11:41
Аватар для PabloPicasso
PabloPicasso
Новичок
Регистрация: 02.01.2010
Сообщений: 23
Провел на форуме:
659771

Репутация: 33
По умолчанию

нужна помощь, я в регулярках не силен, а нужно написать preg_math который возвращал содержимое между (class="news_1">) и (</table>)
написал так
PHP код:
<?php
$ch 
curl_init(); 
curl_setopt($chCURLOPT_URL"http://www.rap.ru/");
$result curl_exec($ch); 
curl_close($ch);
preg_match("|class=\"news_1\">(.+)</table>|iU",$result,$main);
echo 
$main[0];
?>
но вместо нескольких строк вылазит вся страница, даже если я комментирую //echo $main[0];
плиз хелп!!1

Последний раз редактировалось PabloPicasso; 22.03.2010 в 11:54..
 
Ответить с цитированием

  #2  
Старый 22.03.2010, 12:41
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

Цитата:
Сообщение от PabloPicasso  
нужна помощь, я в регулярках не силен, а нужно написать preg_math который возвращал содержимое между (class="news_1">) и (</table>)
написал так
PHP код:
<?php
$ch 
curl_init(); 
curl_setopt($chCURLOPT_URL"http://www.rap.ru/");
$result curl_exec($ch); 
curl_close($ch);
preg_match("|class=\"news_1\">(.+)</table>|iU",$result,$main);
echo 
$main[0];
?>
но вместо нескольких строк вылазит вся страница, даже если я комментирую //echo $main[0];
плиз хелп!!1
PHP код:

$content 
file_get_contents"http://www.rap.ru" );

                 
preg_match'#<table width="100%" cellpadding="0" cellspacing="0" class="news_1">(.+)</tr>[\r\n]</table>#Uis' $content$array );

$content $array[1];


$content preg_replace'#src="(.+)" alt#''src="http://www.rap.ru\\1" alt'$content);

echo 
$content
Работает.
Картинки тоже отображаются
 
Ответить с цитированием

  #3  
Старый 22.03.2010, 11:48
Аватар для Compton
Compton
Участник форума
Регистрация: 31.01.2010
Сообщений: 170
Провел на форуме:
1442841

Репутация: 63
Отправить сообщение для Compton с помощью AIM Отправить сообщение для Compton с помощью Yahoo
По умолчанию

PHP код:
preg_match('/class="news_1">(.*)<\/table>/iU',$result,$main);
echo 
$main[1]; 
 
Ответить с цитированием

  #4  
Старый 22.03.2010, 11:54
Аватар для PabloPicasso
PabloPicasso
Новичок
Регистрация: 02.01.2010
Сообщений: 23
Провел на форуме:
659771

Репутация: 33
По умолчанию

Цитата:
Сообщение от Compton  
PHP код:
preg_match('/class="news_1">(.*)<\/table>/iU',$result,$main);
echo 
$main[1]; 
выдало всю страницу, того что нужно нет
http://aka74.ru/engine/news.php
 
Ответить с цитированием

  #5  
Старый 22.03.2010, 12:49
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

PHP код:
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
preg_match ("|<table.+?class=\"news_1\">(.+)</table>|iUs"$result$main);
echo 
$main[1]; 
 
Ответить с цитированием

  #6  
Старый 22.03.2010, 12:54
Аватар для PabloPicasso
PabloPicasso
Новичок
Регистрация: 02.01.2010
Сообщений: 23
Провел на форуме:
659771

Репутация: 33
По умолчанию

Deathdreams, krypt3r спасиб, оба варианта гуд работают
 
Ответить с цитированием

  #7  
Старый 22.03.2010, 15:28
Аватар для Qb1024
Qb1024
Участник форума
Регистрация: 15.07.2009
Сообщений: 200
Провел на форуме:
147171

Репутация: 2
Отправить сообщение для Qb1024 с помощью ICQ
По умолчанию

Из-за чего это может быть?
Делаю запрос к базе:
PHP код:
$nsql='SELECT id, true, bt, bf FROM Q WHERE id='.$mline[2];
$nresult=mysql_query($nsql);
$nline=mysql_fetch_row($nresult); 
а в $nline[1] лежит число 1, хотя в базе там лежит 3. И при изменении значения в базе число 1 так и остаётся.
 
Ответить с цитированием

  #8  
Старый 22.03.2010, 17:11
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

Цитата:
Сообщение от Qb1024  
Из-за чего это может быть?
Делаю запрос к базе:
PHP код:
$nsql='SELECT id, true, bt, bf FROM Q WHERE id='.$mline[2];
$nresult=mysql_query($nsql);
$nline=mysql_fetch_row($nresult); 
а в $nline[1] лежит число 1, хотя в базе там лежит 3. И при изменении значения в базе число 1 так и остаётся.
PHP]


$sql = mysql_query('SELECT id, true, bt, bf FROM Q WHERE id='.$mline[2]);

while($ans_row = @mysql_fetch_array($sql)){

// тут действия с данными

}
[/PHP]
 
Ответить с цитированием

  #9  
Старый 22.03.2010, 21:39
Аватар для Qb1024
Qb1024
Участник форума
Регистрация: 15.07.2009
Сообщений: 200
Провел на форуме:
147171

Репутация: 2
Отправить сообщение для Qb1024 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Deathdreams  
PHP код:


$sql 
mysql_query('SELECT id, true, bt, bf FROM Q WHERE id='.$mline[2]);

    while(
$ans_row = @mysql_fetch_array($sql)){
    
        
// тут действия с данными

                

Один Х..., то же самое...
И что делать? Мне этот проект дописать вчера нуно было, а тут такая фигня...




Понял, в чём причина: в базе есть поле, называется true, а в пыхе true это константа, всегда равная 1.
И видимо это и влияет на выдачу результата из базы.

Последний раз редактировалось Qb1024; 22.03.2010 в 22:35..
 
Ответить с цитированием

  #10  
Старый 22.03.2010, 22:39
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

Цитата:
Сообщение от Qb1024  
Один Х..., то же самое...
И что делать? Мне этот проект дописать вчера нуно было, а тут такая фигня...
вообщето в твоём православном коде ты вытаскиваешь количество стоблцов, а не информацию в них.
а я показал пример, как вытащить информацию.

теперь обрабатывай переменную $ans_row

сделай тот де самый print_r($ans_row) для дебага, посмотри что там будет.

пример для дебага:
PHP код:

define
("HOST""localhost"); //хост mysql
define("USER""user_mysql"); //юзер
define("PASS""pass_mysql"); // пароль
define("TABLE""qwertt"); // таблица

function db_query($query){

        
$db mysql_connect(HOSTUSERPASS) or die('MySQL False');

        
mysql_select_db(TABLE$db) or die('MySQL False');

        
mysql_query("SET NAMES 'cp1251'") or die('MySQL False');
        
            
$msq_sec = @mysql_query($query$db);

        if(!
$msq_sec){

            die(
'Неправильный MySQL запрос.');

            }
    
$i=0;
    while(
$ans_row = @mysql_fetch_array($msq_sec)){
    
        
$c_keys array_keys($ans_row);
        
        
    foreach(
$c_keys as $num => $value){
    
        
//if(!is_numeric($value)){
    
        
$array[$i][$value] = $ans_row[$value];
            
                    
//}
        
                    
}
        
        
        
$i++;
                        }
    
        @
mysql_close($db);
        
    return 
$array;
            
        }


$sql db_query('SELECT id, true, bt, bf FROM Q WHERE id='.$mline[2]); 

print_r($sql); 
Написал функцию на скорую руку для запросов с MySQL

Последний раз редактировалось Deathdreams; 23.03.2010 в 00:33..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ