За последние 24 часа нас посетили 20917 программистов и 1109 роботов. Сейчас ищут 375 программистов ...

ПОСТРАНИЧНЫЙ ВЫВОД ИЗ БАЗЫ (голову сломала)

Тема в разделе "PHP и базы данных", создана пользователем oksana, 28 мар 2012.

  1. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    точно, перед циклом я вывожу название категории

    например выбираю сумку
    page1
    выводится СУМКА
    пошли объявления
    page2
    выводится СУМКА
    пошли объявления

    выбираю спортивная обувь
    page1
    выводится СПОРТИВНАЯ ОБУВЬ
    пошли объявления
    page2
    выводится СПОРТИВНАЯ
    не пошли объявления =) ( так как нет в базе таких объявлений )
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    так. а на вторую страницу ссылка выглядит как?
     
  3. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    href='.$_SERVER['PHP_SELF'].'?page='.$i.(empty($org)?'': '&cat='.$org).'>

    эту ссылку показал мне sobachnik все работает но если двойное слово второе съедает

    Добавлено спустя 2 минуты 12 секунд:
    он ее описывал выше
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    не, ты прям скопируй из браузера. вдруг там какой косяк.
     
  5. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    page1
    localhost/test.ru/view_cat.php?org=%F1%EF%EE%F0%F2%E8%E2%ED%E0%FF%20%EE%E1%F3%E2%FC
    page2
    localhost/test.ru/view_cat.php?page=2&org=%F1%EF%EE%F0%F2%E8%E2%ED%E0%FF
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    и какой вывод напрашивается? =)
     
  7. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    ну если смотреть на адрес то исчезает слово именно после пробела %20% =)

    Добавлено спустя 38 секунд:
    намекните на вывод =)
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    правильно.

    теперь на посмотреть на код внимательно, почесать репу и всё починить.

    если не выйдет - покажи код, который эту ссылку рисует
     
  9. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Не особо вчитывался но возник вопрос а ты присвоила значение $_GET['org'] переменной $org или эта переменная пустая?
     
  10. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    вот краткий пример страницы

    <?
    $org = $_REQUEST["org"];
    include("blocks/func_view_catalog.php");
    ?>
    Код (Text):
    1.  
    2. <?
    3. function link_page($page, $count, $pages_count, $show_link, $cat = ' '){
    4. // $show_link - это количество отображаемых ссылок;
    5. // $count - количество строк в таблице
    6. if ($pages_count == 1) {return false;};
    7.     $sperator = '<strong>|</strong>';
    8.     $style = 'style="color: #800000; text-decoration: none;"';
    9.     $begin = $page - intval($show_link / 2);
    10.     unset($show_dots); // На всякий случай :)
    11.  
    12. // Если количество отображ. ссылок больше кол. страниц
    13.     if ($pages_count <= $show_link + 1) {$show_dots = "no";};
    14. // Вывод ссылки на первую страницу
    15.     if (($begin > 2) && ($pages_count - $show_link > 2)) {
    16.     echo '<a style="color: #000000; text-decoration:none; font-size:12px;" href="'.$_SERVER['PHP_SELF'].'?page=1'.(empty($cat)?'': '&org='.$cat).'">1</a> ';
    17.     }
    18. // Основный цикл вывода ссылок
    19.     for ($j = 0; $j <= $show_link; $j++)
    20.     {
    21.     $i = $begin + $j; // Номер ссылки
    22. // Если страница рядом с началом, то увеличить цикл для того,
    23. // чтобы количество ссылок было постоянным
    24.     if ($i < 1) continue;
    25. // Подобное находится в верхнем цикле
    26.     if (!isset($show_dots) && $begin > 1) {
    27.     echo '<a '.$style.' href="'.$_SERVER['PHP_SELF'].'?page='.($i-1).(empty($cat)?'': '&org='.$cat).'"><b>...</b></a> ';
    28.     $show_dots = "no";
    29.     }
    30. // Номер ссылки перевалил за возможное количество страниц
    31.     if ($i > $pages_count) {break;};
    32.     if ($i == $page) {
    33.     echo ' <a style="color: #800000; text-decoration:none;"><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$i.'</strong></b></a> ';
    34.     }
    35.     else {
    36.     echo ' <a style="color: #000000; text-decoration:none;" href='.$_SERVER['PHP_SELF'].'?page='.$i.(empty($cat)?'': '&org='.$cat).'><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$i.'</strong></a> ';
    37.     }
    38. // Если номер ссылки не равен кол. страниц и это не последняя ссылка
    39.     if (($i != $pages_count) && ($j != $show_link)) {echo $sperator;};
    40. // Вывод "..." в конце
    41.     if (($j == $show_link) && ($i < $pages_count)) {
    42.     echo ' <a '.$style.' href="'.$_SERVER['PHP_SELF'].'?page='.($i+1).(empty($cat)?'': '&org='.$cat).'"><b>...</b></a> ';
    43.     }
    44.     }
    45. // Вывод ссылки на последнюю страницу
    46.     if ($begin + $show_link + 1 < $pages_count) {
    47.     echo ' <a style="color: #000000; text-decoration:none; font-size:12px;" href="'.$_SERVER['PHP_SELF'].'?page='.$pages_count.(empty($cat)?'': '&org='.$cat).'"><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$pages_count.'</strong></a>';
    48.     }
    49.     return true;
    50. } // Конец функции
    51.  
    52. // Подготовка к постраничному выводу
    53. $perpage = 10; // Количество отображаемых данных из БД
    54. if (empty($_GET['page']) || ($_GET['page'] <= 0)) {
    55. $page = 1;
    56. } else {
    57. $page = (int) $_GET['page']; // Считывание текущей страницы
    58. }
    59. $count = mysql_num_rows(mysql_query("SELECT id FROM catalog WHERE categoria = '$org'", $db));
    60.  
    61. $pages_count = ceil($count / $perpage); // Количество страниц
    62. // Если номер страницы оказался больше количества страниц
    63. if ($page > $pages_count) $page = $pages_count;
    64. $start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
    65. ?>
    <body>

    $one = '<span style="color:#800000">'.$org.'</span>';

    echo "<p align='center'>".$one."всего объявлений".$count."</p><br />";

    if ($count > 0){

    $res = mysql_query("SELECT * FROM catalog WHERE categoria = '$org' ORDER BY id DESC LIMIT ".$start_pos.", ".$perpage);

    while($mas = mysql_fetch_array($res)){
    echo "здесь вывожу таблицу";
    }
    link_page($page, $count, $pages_count, 7, $org);
    }
    else {
    echo "<p align='center'>В данной категории нет объявлений !</p>";
    }
    ?>

    </body>
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    всё, я сдаюсь =(
     
  12. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ссылку в кавычки возьми.

    Добавлено спустя 2 минуты 28 секунд:
    Код (Text):
    1. echo ' <a style="color: #000000; text-decoration:none;" href='.$_SERVER['PHP_SELF'].'?page='.$i.(empty($cat)?'': '&org='.$cat).'><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$i.'</strong></a> ';
    ==>
    Код (Text):
    1. echo ' <a style="color: #000000; text-decoration:none;" href="'.$_SERVER['PHP_SELF'].'?page='.$i.(empty($cat)?'': '&org='.$cat).'"><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$i.'</strong></a> ';
     
  13. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    sobachnik спасибо, очередной раз выручил =)
    удивляюсь своей невнимательности в той же функции другие ссылки взяла в кавычки а одну самую нужную прорустила
    всем спасибо =)
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Собачник, а ты ща работаешь гденить?
     
  15. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    )))
    Это типа "откуда столько свободного времени, что вглядываешься в код и ищешь потерянные кавычки?" Тут немного по-другому было - сперва подумал и допёр, в чём вероятная причина, а потом уже было не долго найти, где это.
    Ну а если хочешь предложить поработать - то интерес есть :)
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    если только на полный рабочий день и не умничать насчет фреймворков. =)
     
  17. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Удалённо или только в офисе?

    Добавлено спустя 24 секунды:
    Наверно, уже надо было в личку перейти )
     
  18. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Может пора бы задуматься о разделении PHP и HTML?
    Так намного удобней...
     
  19. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    Думаю пора =)