За последние 24 часа нас посетили 54160 программистов и 1774 робота. Сейчас ищут 932 программиста ...

Вывод больших статей.

Тема в разделе "PHP для новичков", создана пользователем aziz, 28 июл 2009.

  1. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Здравствуйте, нужен совет как можно это организовать-
    Проблема в том что к примеру есть сайт, каждую неделю туда добавляется статья, они могут быть от одно до десятка страниц. Я ввожу их в базу в таблицу, к примеру clauses. таблица выглядит так:

    id | title | content |

    после того как вставляю статью я их вручную разбиваю на несколько страниц. к примеру статья 1 занимает id от 1 до 5 (id1,id2,id3,id4,id5) а статья 2 от 5 до 15(id5....id15) и после чего в каждой странице я ставлю ссылки типа:

    СТРАНИЦА: |1|2|3|4|5|

    и так во всех статьях, но знаю что это не совсем правильно, Вопрос можноли сделать что бы эти ссылки вставлялись автоматически на каждую опредилённую статью. Понимаю надо ввести изменения в базу какой то ключь по которому скрипт будет определять принадлежность ссылок к той или иной статье и также количество страниц но сам никак не сооброжу что и куда, Помогите пожалуйста советом или ссылку где такое дело применено.
    Буду Весьма благодарен...
    Спасибо :)
     
  2. kas1e

    kas1e Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    сделай дополнительный ключ вторичного id, и по нему выбирает.

    а вообще правильней резать текст на живую.
     
  3. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    если не сложно объясните пожалуйста немного по подробнее...
    Спасибо что отозвались :)
     
  4. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Добавьте колонку news_id - это порядковый номер статьи. Думаю теперь понятно, как кол-во страниц будет высчитываться :)
     
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  6. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    вот набросок, немного грубоват но думаю принцип понятен, но только появилась новая проблема. И так в базе сделал изменения :

    id | title | text | idstat |

    дальше сделал ссылки
    HTML:
    1.  
    2. <a href="index.php?id=1&amp;idstat=1">1</a>//здесь статья первая и id от 1 до 6
    3.  
    4.  
    и
    HTML:
    1.  
    2. <a href="index.php?id=7&amp;idstat=2">2</a>//здесь статьявторая и id от 7 до 12
    3.  
    далее вот код что бы всё это вытащить

    PHP:
    1. <?
    2.     $db = 'test';
    3.     $us = 'test';
    4.     $pw = 'test';
    5.  
    6.     $link=mysql_connect("localhost", $us, $pw) OR die('Немогу соедениться с базой!');
    7.    
    8.  $lib=mysql_select_db($db, $link) OR die('Немогу выбрать базу!');
    9.     mysql_query('set character set utf8');
    10.             mysql_query('set character_set_client=utf8');
    11.             mysql_query('set character_set_connection=utf8');
    12.             mysql_query('set character_set_results=utf8');
    13.     //unset($db,$pw);
    14.    
    15.      
    16.    
    17. ?>
    18.  
    19. <?php
    20. $id=$_GET['id'];
    21.  
    22. $idstat=$_GET['idstat'];
    23.  
    24.  
    25. $query = "select * from test where id='$id' AND idstat='$idstat'";
    26. $result = mysql_query($query);
    27. while ($row = mysql_fetch_assoc($result)) {
    28. echo $row['title']."---";//заголовок статьи
    29.   echo $row['text']; //здесь выводим текст статьи
    30.  
    31.  
    32. }
    33.  
    34.  
    35. $query = "select id from test where idstat='$idstat'";
    36. $result = mysql_query($query);
    37. while ($row = mysql_fetch_assoc($result)) {
    38.     echo"<a href='index.php?id={$row['id']}&amp;idstat=$idstat'>{$row['id']}</a>";//ссылки на следующие страницы статьи
    39.  
    40. }
    41.  
    42.  
    43. ?>
    тоест у меня выборка делается по idstat а через id я перехожу на нужные страницы, Но проблема в том что если при первой стать е отображение страниц в виде

    1|2|3|4|5|6| то есть это и есть id то при следующих статьях я получаю вместо 1 2 3 4 5 6 и тд вот что

    7|8|9|10|11|12|

    не ужели придётся отказаться от автоинкремента и вставлять все id в ручную или же есть варианты. Спасибо всем кто откликнулся... :)
     
  7. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    PHP:
    1.  while ($row = mysql_fetch_assoc($result)) {
    2.      echo"<a href='index.php?id={$row['id']}&amp;idstat=$idstat'>{$row['id']}</a>";//ссылки на следующие страницы статьи
    3.  
    4.  }
    -->

    PHP:
    1. $i = 0;
    2.  while ($row = mysql_fetch_assoc($result)) {
    3.      echo"<a href='index.php?id={$row['id']}&amp;idstat=$idstat'>" .++$i ."</a>";//ссылки на следующие страницы статьи
    4.  
    5.  }
     
  8. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Спасибо большое, всё заработало именно так как надо. Тема закрыта. Буду дальше скрипт усложнять надеюсь что то путное получиться :D