[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. miniden

    miniden Elder - Старейшина

    Joined:
    20 Oct 2006
    Messages:
    258
    Likes Received:
    34
    Reputations:
    6
    PHP:
    <?php
    $key 
    = array ('/*jeanny-ignore*/','</script>','word3','word4','word5'); 
    $http "http://ya.ru";
    $page file_get_contents($http);
    $exp explode(" "$page);
    for(
    $j=0$j <= count($key); $j++)
    {    
        echo 
    "<font color='red'>".$key[$j]."</font><br>";
        for (
    $i=0$i <= count($exp); $i++)
        {
            if(
    $exp[$i] == $key[$j])
            echo 
    "find text".$exp[$i]."<br>";
        }
    }
    echo 
    $page;
    ?>
    суда регулярок проверок и может заработает. Сори за недовариант, может натолкнет тебя на какую мыль хорошую
     
  2. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    Есть файл links.txt с ссылками
    Code:
    http://blabla.ua
    http://blabla2.ua
    http://blabla3.ua
    http://blablaN.ua
    
    Кол-во ссылок не имеет значение, там может быть как одна так и сто

    Так вот, как имитировать клики на каждую из ссылок с переодичностью в определенный интервал?
    скажем 4 секунды

    Очень нужен скрипт
    Я так думаю нужен curl или типа того
     
  3. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    PHP:
    <?php
    $fh 
    fopen("file.txt","r"); 
    while(!
    feof($fh)) 

      
    $addr_arr[] = trim(fgets($fh)); 

    fclose($fh); 

    $ch curl_init(); 
    curl_setopt($chCURLOPT_COOKIEFILE"cookie.txt"); 
    curl_setopt($chCURLOPT_COOKIEJAR"cookie.txt");
    curl_setopt($ch,CURLOPT_NOBODY,1);
    curl_setopt($ch,CURLOPT_HEADER,1);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    foreach(
    $addr_arr as $cur_addr

      
    curl_setopt($ch,CURLOPT_URL,$cur_addr); 
      
    $res curl_exec($ch);
      echo 
    "<pre>".$res."<pre>"
      
    sleep(4);//интервал 
    }
    curl_close($ch);
    ?> 
     
    #16883 SHiNiGaMi, 16 Nov 2010
    Last edited: 16 Nov 2010
    1 person likes this.
  4. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    может подскажите каким кодом трансформировать ссылку вида ?

    http://www.youtube.com/watch?v=fhs8d3yi6Es

    в ссылку вида

    http://www.youtube.com/v/fhs8d3yi6Es
     
  5. Mystery

    Mystery Member

    Joined:
    16 Nov 2010
    Messages:
    32
    Likes Received:
    5
    Reputations:
    0
    быстрое решение, работать будет
    так с костылём пойдёт :)

    <?php
    $youtubeUrl = ""http://www.youtube.com/v/";
    $str = "http://www.youtube.com/watch?v=fhs8d3yi6Es";
    $res = explode('=', $str);
    echo $yotubeUrl . $res[1];
     
  6. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    Xantalion mod_rewrite, соседний раздел
     
  7. warlok

    warlok Elder - Старейшина

    Joined:
    17 Feb 2008
    Messages:
    328
    Likes Received:
    142
    Reputations:
    81
    Есть некое подобие новостной ленты, к каждой новости нужно выводить несколько соседних новостей (количество можно указать в функции). Новости у меня лежат в файле, в сеаризованом виде. Как я понимаю для начала нужно задать количество соседних новостей которые будем выводить, определить сколько всего новостей в файле, узнать id текущей новости для дальнеших подсчетов.

    Проблема в том что нужно нужно правильно выбрать новости из файла, т.е. например текущий id страницы 1 (счет страниц начинается с 0), всего нужно выводить 4 записи, а в файле 6 новостей, тогда скрипт отсчитывает 1 новость до 1 новости и 3 после и отдает результат.
     
  8. Mystery

    Mystery Member

    Joined:
    16 Nov 2010
    Messages:
    32
    Likes Received:
    5
    Reputations:
    0
    нет ли возможности в базу данных загнать новости?
     
  9. warlok

    warlok Elder - Старейшина

    Joined:
    17 Feb 2008
    Messages:
    328
    Likes Received:
    142
    Reputations:
    81
    очень нежелательно
     
  10. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    Добрый день, вот начал изучать роботу с БД и появились маленькие трудности

    PHP:
    <?
    $dbhost="localhost";
    $dbname="db_mai1_ru";
    $dbuser="db_mai1_ru";
    $dbpass="********";
    $link=mysql_connect($dbhost,
    $dbuser,$dbpass) or die(" Не
    могу подключиться к серверу
    БД "
    );
    mysql_select_db($dbname,$link)
    or die(
    " Не могу подключиться к
    БД"
    );
    $result mysql_query(string$link);
    while (
    $row mysql_fetch_array($result)){
    echo 
    $row;
    }
    ?>

    до

    PHP:
    $result mysql_query(string$link);
    while (
    $row mysql_fetch_array($result)){
    echo 
    $row;
    }
    всё работает нормально, дальше кошмар,
    ниодин пример из учебников не подходит где тут ошибка?

    В учебнике ваще написано так
    PHP:
    $result mysql_query(string запрос [, переменная соединения]);


    echo 
    "<table>";
    while (
    $row mysql_fetch_array($result))
      echo 
    "<tr><td>"$row["field1"], "</td><td>"$row["field2"], "</td></tr>";
    echo 
    "</table>";

    может я неправ но разне тут скобки {}не нужны??
    ну вобщем где в первом скрипте ошибка?
     
  11. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    qaz Замените запятые на точки. И напишите что за ошибка, если совет не помог

    Стоп, вы написали что скрипт выполняется до конца, что вас не устраивает?
     
    _________________________
  12. Фараон

    Фараон коКотэ Of Antichat

    Joined:
    7 Nov 2010
    Messages:
    153
    Likes Received:
    105
    Reputations:
    83
    PHP:
    <? 
    $dbhost="localhost"
    $dbname="db_mai1_ru"
    $dbuser="db_mai1_ru"
    $dbpass="********"
    $link=mysql_connect($dbhost
    $dbuser,$dbpass) or die(" Не 
    могу подключиться к серверу 
    БД "
    ); 
    mysql_select_db($dbname,$link
    or die(
    " Не могу подключиться к 
    БД"
    ); 
    $query "SELECT * FROM news";
    $result mysql_query($query); 
    while (
    $row mysql_fetch_array($result))

    echo 
    $row['title']; 

    ?>
    У меня всё так работает, у вас не выводилось наверное потому, что вы не указали, что именно выводить в $row['имя_колонки_в_mysql_для_вывода'];
    Пробуйте!
     
  13. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    серовео не выходит, для примера роботы с БД поставил phpbb wap

    ну вобщем конечный код такой

    а тут SELECT * FROM што, так и над писать с звёздочеой?

    PHP:
    <?
    $dbhost="localhost";
    $dbname="db_mai1_ru";
    $dbuser="db_mai1_ru";
    $dbpass="*****";
    $link=mysql_connect($dbhost,
    $dbuser,$dbpass) or die(" Не
    могу подключиться к серверу
    БД "
    );
    mysql_select_db($dbname,$link)
    or die(
    " Не могу подключиться к
    БД"
    );
    $query "SELECT * FROM phpbb_album_config";
    $result mysql_query($query);
    while (
    $row mysql_fetch_array($result))
    {
    echo 
    $row['title'];
    }
    ?>

    код шибки http://mai1-ru.h2m.ru/db.php
     
    #16893 qaz, 16 Nov 2010
    Last edited: 17 Nov 2010
  14. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    попробуй так

    замени mysql_fetch_array на mysql_fetch_assoc
     
    1 person likes this.
  15. _HeSh_

    _HeSh_ Member

    Joined:
    14 Apr 2008
    Messages:
    14
    Likes Received:
    19
    Reputations:
    0
    Приветствую всех, вопрос в следующем.
    Имеется цикл для выборки из базы
    PHP:
    for ($i 0$i mysql_numrows($result); $i++)
    в ходе выборки вычисляем id и значение поля name.
    + в каждом цикле при совпадении условий генерируем список ссылок на найденный материал из базы:

    PHP:
    print "<a href=\"somephp.php?id=$id&amp;hit=1\">$name</a>";
    И далее сталкиваюсь с проблемой, если выбирать ссылку не мышью а клавой, то при нажатии энтера, вместо открытия нужной мне страницы указанной в href, я получаю строку
    PHP:
    <a href=\"somephp.php?id=$xxx25&amp;hit=1\">Name_</a>
    в том же поле INPUT где происходил запрос. Как заставить a href сменить страницу не только по onclick? или как по другому реализовать?
     
  16. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    можно кода чуток побольше глянкть?
     
  17. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    _HeSh_ Сотрите это:
    PHP:
    for ($i 0$i mysql_num_rows($result); $i++)  
    И никогда так больше не делайте
     
    _________________________
  18. _HeSh_

    _HeSh_ Member

    Joined:
    14 Apr 2008
    Messages:
    14
    Likes Received:
    19
    Reputations:
    0
    Почему не делать?

    Функционал работает весь, кроме
    PHP:
     <a href="somephp.php?id=$xxx25&amp;hit=1\">Name_</a>  
    которая видна как ссылка и срабатываемая по клику мыши и отмалчивающаяся по enter'у. Что вписать на место <a> ??
     
  19. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    ну если ты сделал выборку из базы Select тралалаа

    не проще ли юзать while()?
     
  20. Mystery

    Mystery Member

    Joined:
    16 Nov 2010
    Messages:
    32
    Likes Received:
    5
    Reputations:
    0
    в пхп коде просто
    print "<a href=\"somephp.php?id={$id}&hit=1\">{$name}</a>";

    не надо преобразовывать в пхп &->&amp;
     
Thread Status:
Not open for further replies.