Как правельнее стравнить строку

Discussion in 'PHP' started by kakawin, 23 Aug 2011.

  1. kakawin

    kakawin New Member

    Joined:
    20 Aug 2011
    Messages:
    38
    Likes Received:
    1
    Reputations:
    0
    В общем вот такой код имеется:
    Code:
    while ($x < mysql_numrows($result)):
    $title = mysql_result($result, $x, 'post_title');
    $status = mysql_result($result, $x, 'post_status');
    if $status = "publish" {
    print $title\n;
    }
    
    собственно хочу вывести все записи у которых в колонке post_status написано publish и на ум пришел такой метод реализации но выводит ошибочку:
    Code:
    Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in Z:\home\localhost\www\test\index.php on line 13
    
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    kakawin
    PHP:
    if ($status == "publish") {
    print 
    $title."\n";
    }
    // Ошибся с присвоением в условии, спасибо Melfis
     
    _________________________
    #2 Gifts, 23 Aug 2011
    Last edited: 23 Aug 2011
  3. kakawin

    kakawin New Member

    Joined:
    20 Aug 2011
    Messages:
    38
    Likes Received:
    1
    Reputations:
    0
    Чет не пашет у мну(
    Вот список: post_title post_status
    Code:
    Hello world! publish
    Sample Page auto-draft
    Auto Draft trash
    еуые inherit
    еуые inherit
    еуые inherit
    Hello world! trash
    Проверка епта inherit
    Проверка епта inherit
    Проверка епта auto-draft
    Auto Draft inherit
    Проверка епта publish
    Testing №1 inherit
    Testing №1 inherit
    Testing №1 
    
    Вот сам кусок кода который отвечает за вывод только того что опубликованно:
    Code:
    $x = 0;
    while ($x < mysql_numrows($result)) :
    $title = mysql_result($result, $x, 'post_title');
    $status = mysql_result($result, $x, 'post_status');
    if ($status = "publish") {
    print "$title<br>";
    }
    $x++;
    endwhile;
    
    Но он выводит мне все подрят((((
     
    #3 kakawin, 23 Aug 2011
    Last edited: 23 Aug 2011
  4. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    kakawin внимание на двойной знак равенства:
    PHP:
    if ($status == "publish") {
     
    _________________________
  5. kakawin

    kakawin New Member

    Joined:
    20 Aug 2011
    Messages:
    38
    Likes Received:
    1
    Reputations:
    0
    Еще одна проблемка - залил скрипт на хост и вот что он там выдает мне сволоч:
    Code:
    
    SQL ?????? ??? 1? 8.1
    ?????????? ? ??????? TrueCrypt
    ???????? ??????? ??????? ? ????? ???????????? ????????? ????????????
    ????????? Ubuntu ?? ????, ??????? ?????????
    VirtualBox ??? X server + phpVurtualBox
    ? ????????? ? ?????? ? ???? ???? ??? ??????
    Grub Customizer
    ??? ???? ??? Ubuntu
    ??????? ???????????? Windows ? Linux ????????
    Firefox 4 ?? ???????????
    ????????? DHCP ?? Ubuntu 10.04
    OpenSSH
    Samba File Server
    Samba Print Server
    Munin
    Nagios
    ????????? ??????????? ?? ????? ?? GDM ? Ubuntu Desktop
    ?????? ? ????? Ubuntu Desktop 10.04/10.10 ????? ?????????
    ???????? ?????? ?? Ubuntu Server
    ??? ?????????????? .swf ? .avi ????
    ????? ??????? ???????????? ??????????? ??? Linux – Linux AdditionalPack 11.01
    ????????????? ? ????????
    ???????
    
    т.е. отказывается русский текст печатать
     
  6. Melfis

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

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    В базе одна кодировка, работаешь с другой кодировкой. Приведи всё к одной.
     
  7. kakawin

    kakawin New Member

    Joined:
    20 Aug 2011
    Messages:
    38
    Likes Received:
    1
    Reputations:
    0
    ну это лично я понял что знаки ????? это не метод быстродействия.
    Не подскажешь как ? Просто в php совсем не давно
     
  8. skrutcher

    skrutcher New Member

    Joined:
    17 Jul 2011
    Messages:
    17
    Likes Received:
    1
    Reputations:
    0
    mysql_num_rows()
    ==

    По поводу кодировки..у вас кодировка документа и БД разная.
     
  9. [stranger]

    [stranger] Member

    Joined:
    2 Feb 2010
    Messages:
    167
    Likes Received:
    29
    Reputations:
    4
    Эм, а вытаскивать из базы только нужные записи не вариант?

    Скуль запрос типа такого:
    Code:
    SELECT * FROM `posts` WHERE `posts`.`post_status`='publish' LIMIT 0,10;