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

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

Thread Status:
Not open for further replies.
  1. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    PROPH3T,

    PHP:

    $fp 
    file('file.txt');
    foreach(
    $fp as $url){

    do_something(trim($url));

    }



    do_something() - это твои манипуляции...
    ))
     
  2. Insane bboy

    Insane bboy New Member

    Joined:
    11 Jul 2009
    Messages:
    52
    Likes Received:
    3
    Reputations:
    0
    У меня не выдает никаких ошибок и не авторизируется и не сохраняет куки:( в чем может быть дело? кто нить поможет дебажить? я просто вообще не понимаю в чем трабла:(
     
    #11022 Insane bboy, 3 Aug 2009
    Last edited: 3 Aug 2009
  3. Кубик Рубик

    Joined:
    10 Apr 2008
    Messages:
    48
    Likes Received:
    0
    Reputations:
    0
    Есть код поиска по сайту:
    PHP:
    $this->query mysql_real_escape_string($this->query); 
    $this->sql_query "SELECT * FROM page WHERE content LIKE '%".$this->query."%'";
    $this->sql_result mysql_query($this->sql_query,$this->connect);
    $this->sql_result2 mysql_fetch_assoc($this->sql_result);


    while(
    $this->sql_result2 mysql_fetch_assoc($this->sql_result)) {
     echo 
    $this->sql_result2['id']." ".$this->sql_result2['title'];
    }
    Жирным цветом выделен цикл с помощью которого мы выводим найденные результаты.

    Как этот блок вывести с помощью smarty?:
    PHP:
    while($this->sql_result2 mysql_fetch_assoc($this->sql_result)) {
     echo 
    $this->sql_result2['id']." ".$this->sql_result2['title'];
    }
    Я пробывал section, но при получении одной строчки
    он почему то выводит ее 4 раза. (видимо потому что 4 поля в таблице)

    Заранее спасибо.
     
  4. PROPH3T

    PROPH3T New Member

    Joined:
    20 Nov 2007
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    сделал вот так:

    PHP:
    <?php
    $fp 
    file('file.txt');
    foreach(
    $fp as $url){
        
    $url trim($url);    
        
    действия...    
        }
    В итоге из файла берётся только первая строка (ссылка), с ней выполняются действия
    и на этом скрипт прекращает работу...т.е цикл не происходит

    PHP:
    Fatal errorCannot redeclare connect() (previously declared in Z:\home\... on line 9

    9
    :  function connect($url){
     
  5. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    зачем там трим?
     
  6. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    trim() режет пробелы и символы переводки каретки, а т.к. работа идет с файлом то там есть обрывы строки, невидимые символы, поетому УРЛ получается несовсем корректный
     
  7. PROPH3T

    PROPH3T New Member

    Joined:
    20 Nov 2007
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    b3, спасибо, учту...

    Но пробывал и без трима - результат точно такой же, берётся только первая строка-ссылка из файла и останавливается. может надо както счётчик увеличить после действий с сылкой?...

    PHP:
    Fatal errorCannot redeclare connect() (previously declared in  ...
    __________________________________

    если переменной присвоино:

    PHP:
    HDRip [<a href="http://torrents.ru/forum/viewtopic.php?t=1963604" class="postLink">Исходник</a>]
    как убрать всё , что находится между [ и ] ?
    регулярным выражением?как оно будет выглядеть?
     
    #11027 PROPH3T, 3 Aug 2009
    Last edited: 3 Aug 2009
  8. omfg

    omfg Member

    Joined:
    3 Aug 2009
    Messages:
    25
    Likes Received:
    5
    Reputations:
    0
    Ошибка говорит о том что функция уже объявлена, т.е. скорее всего такая функция уже есть в рhp, назови ее например my_connect()

    Можешь регуляркой, можешь покопать в сторону substr и резать строку как надо.
     
  9. PROPH3T

    PROPH3T New Member

    Joined:
    20 Nov 2007
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    Разобрался, проблема была из-за того, что была вложенная функция....
    вынес её за пределы


    ________
    не подскажешь как сформировать регулярку для удаления всей ссылки, от "<a" до "a>" ?
     
    #11029 PROPH3T, 3 Aug 2009
    Last edited: 3 Aug 2009
  10. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    Доброе время суток!
    Есть код
    PHP:
    <?php
        
    echo "<html>\n<body>\n\t<h1>";
        echo 
    "Hello, $my_name";
        echo 
    "</h1>\n</body></html>";
    ?>
    запускаю в браузере http://localhost/index.php?my_name=world

    Вижу "Hello,". Подскажи, пожалуйста, в чем проблема?
     
  11. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Наверное дело в том, что текст 'world' содержится в переменной $_GET['my_name']
     
    _________________________
    1 person likes this.
  12. omfg

    omfg Member

    Joined:
    3 Aug 2009
    Messages:
    25
    Likes Received:
    5
    Reputations:
    0
    https://forum.antichat.ru/showthread.php?t=92492&page=5&pp=40 - вот по поводу регулярки вырезающей ссылки, юзай поиск
     
  13. 4p3

    4p3 Elder - Старейшина

    Joined:
    18 Aug 2008
    Messages:
    142
    Likes Received:
    30
    Reputations:
    0
    Благодарю за помощь. В книге "Самоучитель PHP" опечатка.
     
  14. max_rebel

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

    Joined:
    18 Oct 2007
    Messages:
    460
    Likes Received:
    31
    Reputations:
    0
    Чем заменить "&&" чтоб смысл остался "и" ? Есть такой код:

    PHP:
    <?php                            include("../bd.php");              if (isset ($_POST['title'])) {$title=$_POST['title'];if($title=='') {unset($title);}}          if (isset ($_POST['desc'])) {$desc=$_POST['desc']; if($desc=='') {unset($desc);}}          if (isset ($_POST['date'])) {$date=$_POST['date']; if($date=='') {unset($date);}}          if (isset ($_POST['text'])) {$text=$_POST['text']; if($text=='') {unset($text);}}                        if (isset($title) )          {                        $result=mysql_query ("INSERT INTO news (title,desc,date,text) VALUES ('$title','$desc','$date','$text')");                    if ($result=='true') {echo "Новость добавлена";}          else {echo "Новость не добавлена";}          }          else           {                  echo "<p>Проверьте все поля</p>";          }                                              ?>
    если удалить все переменные кроме $title то всё работает т.е. из страницы с формами передаётся переменные этому обработчику и новость выводится, но если задействованы переменные как здесь и идут они через && то новость не добавляется. =( .

    Можно ли какнибудь заменить && чемнибудь схожим по значению или какнибудь переделать этот код чтоб без && обойтись? =(((Вешаюсь
     
  15. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    and
     
  16. KaMiKadZe

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

    Joined:
    24 Feb 2006
    Messages:
    163
    Likes Received:
    35
    Reputations:
    19
    Есть 2 таблицы в мускуле с совершенно одинаковой структурой!
    назовем их table1 и table2
    id,one,date
    Нужно вот это
    PHP:
    if ((($obj1->one 0)
        and (
    $obj2->one 0)) and ($obj1->date == $obj2->date)) {
            echo 
    $obj1.$obj2;
        }
    else {
        if (
    $obj1->one 0) {
            echo 
    $obj1;
        }
        if (
    $obj2->one 0) {
            echo 
    $obj2;
        }

    }
    Вот запросы используется класс mysql и получаем на выходе массив объектов...
    PHP:
    $sql "SELECT * FROM `table1`";
    $array1 $db->Query($sql);
    $sql "SELECT * FROM `table2`";
    $array2 $db->Query($sql);
    и вот ту проблема я незнаю как правильно организовать цикл =(
    Вот такое работает для одной таблицы и условия


    PHP:
    foreach ($array1 as $obj1) {
       if (
    $obj1->one 0) {
            echo 
    $obj1;
        } 
        }
    В реале нужно присвоить подсказки календарю из этих двух таблиц значениями, если у даты есть значения в 2 таблицах то присвоить обои, если в одной таблице, то только одно и так же для второй...
    Вся проблема в цикле =(((
     
  17. max_rebel

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

    Joined:
    18 Oct 2007
    Messages:
    460
    Likes Received:
    31
    Reputations:
    0
    не работает and=( он даже в дримвивере чёрным цветом выделен как просто текст....кстати && он тоже выделяет чёрным а в видеоуроке в томже dreamweaver && выделено синим =(
     
  18. KaMiKadZe

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

    Joined:
    24 Feb 2006
    Messages:
    163
    Likes Received:
    35
    Reputations:
    19
    FireFenix,
    Не понял к чему это ну да ладно...
    Выведет это
    Проблему решил дописав класс календаря чтобы подсказки можно было не переписывать, а еще дописывать...
     
  19. Myload

    Myload Banned

    Joined:
    15 Mar 2009
    Messages:
    0
    Likes Received:
    96
    Reputations:
    6
    Ищу скрипт
    наводиш мышкой на линк и показывает картинка у кого есть?
     
  20. KaMiKadZe

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

    Joined:
    24 Feb 2006
    Messages:
    163
    Likes Received:
    35
    Reputations:
    19
    Какие картинки???
    По идеи это в ксс моментом делается...
    .example span {display:none;}
    .example span:hover {display:block;}
     
Thread Status:
Not open for further replies.