PHP Post news

Discussion in 'PHP' started by lomerok, 10 Jun 2008.

  1. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    помогите написать скрипт вывода всех новостей .. делаю так :
    PHP:
    while($result_news=mysql_fetch_row($query))
    {
       print 
    $result_news[$i];
       
    $i++;
    }
    выводятся только ID новости :(
    Структура базы :
    Code:
    ---id---data---text---avtor
       1      24      test1   lamer
       2      15      test2   xaker
    
     
  2. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    while($result_news=mysql_fetch_row($query))
    {
    printf("%s %s %s %s<br />", $result_news[0], $result_news[1], $result_news[2], $result_news[3]);
    }
     
    1 person likes this.
  3. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    выводится только вторая новость .. надо чтоб выводилось по три
     
  4. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    209
    Likes Received:
    65
    Reputations:
    10
    Думаю, лучше сделать так:
    PHP:
    $numrows mysql_num_rows($result_news);
    if(
    $numrows 0){
    for(
    $i 0$i $numrows$i++){
    $row mysql_fetch_array($result_news);
    echo 
    'ID: '.$row['id'].' Data: '.$row['data'].' Text:'.$row['text'].' Avtor'.$row['avtor'].'<br />';
    }
    }
     
    1 person likes this.
  5. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    делаю так :
    PHP:
    $numrows mysql_num_rows($query); 
    if(
    $numrows 0)

     for(
    $i 0$i $numrows$i++)
     { 
      
    $row mysql_fetch_array($query); 
      echo 
    'ID: '.$row['id'].' Date: '.$row['date'].'Time: '.$row['time'].' Caption: '.$row['caption'].' Text:'.$row['text'].' Avtor:'.$row['avtor'].'<br />'
     } 

    Теперь надо чтоб выводилось ровно по две новости ... как это реализовать ?
     
  6. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ламерок, покажи полностью код... Запрос каким выгребаешь данные...
     
  7. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    PHP:
    <?
        while(
    $row mysql_fetch_assoc($query))
            echo 
    "id:{$row['id']}, text:{$row['text']}, data:{$row['data']}, avtor:{$row['avtor']}";
    А насчет по две новости - просто в запросе используй LIMIT (если я правильно понял чего ты хочешь)
     
  8. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    PHP:
    $query_news="SELECT * FROM news";
    mysql_connect($sql_host,$sql_user,$sql_pass);
    mysql_select_db($sql_base);
    $query=mysql_query($query_news);
    $i=0;
    $numrows mysql_num_rows($query); 
    if(
    $numrows 0)

     for(
    $i 0$i $numrows$i++)
     { 
      
    $row mysql_fetch_array($query); 
      echo 
    'ID: '.$row['id'].' Date: '.$row['date'].'Time: '.$row['time'].' Caption: '.$row['caption'].' Text:'.$row['text'].' Avtor:'.$row['avtor'].'<br />'
     } 

    mysql_close();
     
  9. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Замени
    $query_news="SELECT * FROM news";
    на $query_news="SELECT * FROM news ORDER BY `date` DESC LIMIT 0,2";
    Запрос тебе вернет две последние новости.
     
  10. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    Делаю такой запрос SELECT * FROM news LIMIT 3 .. выводится 3 новости , а как следующие три вывести ???
     
  11. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    SELECT * FROM news LIMIT 3,3
    Т.е. трактуется так: вывести три записи,начиная с третьей.
     
    1 person likes this.
  12. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    спасиба , разобрался ...
     
    1 person likes this.
  13. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    SELECT * FROM news LIMIT 3,3>>>>начать с 4 и 3 новости(отсчот идёт с 0)

    Тык ты просишь не это... .Тебе ужно найти книгу MySQL>А вот если что то непоймешь то ... .
     
  14. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    как узнать id последней новости ?
     
  15. cash$$$

    cash$$$ Banned

    Joined:
    6 Jan 2008
    Messages:
    385
    Likes Received:
    246
    Reputations:
    10
    select max(id) from myTable
     
    1 person likes this.
  16. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    пасиба .... как вывести дату и время в разные переменные ???
     
  17. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    209
    Likes Received:
    65
    Reputations:
    10
    Тоесть?

    PHP:
    $date date('d/m/Y'$row['date']);
    echo 
    $date;
    — выведет дату в формате д/м/гг

    PHP:
    $time date('H:i'$row['date']);
    echo 
    $time;
    — время в формате Ч:М

    http://php.net/date
     
  18. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    мне надо не из скуля дата и время . мне надо реальное время и реальная дата(дата и время в данный момент) ...
    и еще , делаю такой запрос "DELETE FROM news WHERE id='15'" и несрабатывает , почему ?
     
  19. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    с датами разобрался ... актуальный вопрос , почему несрабатывает такой запрос : $zapros="DELETE FROM news WHERE id='$id'"; $delete_news=mysql_query($zapros); print "Удалено !!!";
    сообщение печатается а вот удаляться неудаляется...
     
  20. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    209
    Likes Received:
    65
    Reputations:
    10
    PHP:
    echo date('d/m/Y'); // date
    echo date('H:i:s'); // - time
    Насчет того что не удаляет попробуй news и id обрамить ` ` ковычками.

    Добавлено:

    Так правльно:
    PHP:
    $zapros="DELETE FROM `news` WHERE `id`='".$id."'";
    if(
    mysql_query($zapros)){ echo 'Удалено.'; } else {}
     
    #20 Jer1cho, 10 Jun 2008
    Last edited: 10 Jun 2008
    1 person likes this.