За последние 24 часа нас посетили 17889 программистов и 1697 роботов. Сейчас ищет 1521 программист ...

Постраничная навигация

Тема в разделе "PHP для новичков", создана пользователем Whiskas_kote, 26 авг 2013.

  1. Whiskas_kote

    Whiskas_kote Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    В общем я намудил так, что мама не горюй.
    Для начала скажу, что сайт писал по методу Попова, да да не ругайтесь...
    В общем вот движок
    <?php
    include ("blocks/bd.php");/*Соединение с базой и шрифт цп1251*/

    $result=mysql_query("SELECT title,meta_d,meta_k,text FROM settings WHERE page='lessons'",$db);
    if (!$result)
    {
    echo "<p>Запрос на выборку данных из базы не прошёл.Пожайлуста,напишите об этом админу на e-mail:Whiskas_kote@mail.ru <br>
    <strong>Код ошибки:</strong></p>";
    exit(mysql_error());
    }
    if(mysql_num_rows($result)>0)
    {
    $myrow=mysql_fetch_array ($result);}
    else
    { echo "<p>Информация по запросу не может быть найдена,так как в таблице нет записей</p>";
    exit();
    }
    mysql_close();
    ?>
    Далее сайт там и прочее, потом опять PHP код на вывод записей:
    $result=mysql_query("SELECT id,title,description,author,date,mini_img,view FROM lessons",$db);
    $myrow=mysql_fetch_array ($result);
    do {


    printf( " <table align='center' class='lesson'>
    <tr>
    <td class='lesson_title'>
    <p class='lesson_name'>
    <img align='left' class='lesson_img' src='%s'>
    <a href='view_lesson.php?id=%s'>%s</a></p>
    <p class='lesson_adds'>Дата добавления: %s</p>
    <p class='lesson_adds'>Автор урока: %s</p></td>
    </tr>

    <tr>
    <td><p class='lesson_add'>%s</p>
    <p class='lesson_adds'>Просмотров: %s</p></td>
    </tr>

    </table><br><br> ",$myrow['mini_img'],$myrow['id'],$myrow['title'],$myrow['date'],$myrow['author'],$myrow['description'],$myrow['view']);

    }
    while ($myrow=mysql_fetch_array ($result)) ;.


    В общем пытался всунуть такую вот весёлую весчь:
    <p>В таблице <?= $entire ?> записей, ниже показаны записи от <?= $start ?> до <?= $start + $interval -1 ?> <br>
    <a href="lessons.php?s=<?= $more; ?> "> Далее</a> </p>
    <?
    $result2=("SELECT COUNT(*) FROM lessons");
    $myrow2=mysql_query($result2);
    $entire=mysql_result($myrow2,0);
    $start=$_GET['s'];
    $interval=5;
    if (($start + $interval)>$entire) {
    $interval=$entire-$start;
    $more="0";
    } else $more=$start+$interval; ?>
    . Естественно записей она не выводит, к тому же, когда я пытаюсь вставить LIMIT вот сюды $result=mysql_query("SELECT id,title,description,author,date,mini_img,view FROM lessons",$db); все записи исчезают. В общем я ужасно намучился и меня не покидают сомнения, что придётся делать ещё такие же страницы...
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ПМА тебе поможет =)
     
  3. Whiskas_kote

    Whiskas_kote Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Что это вообще такое?)
     
  4. vikrorpert

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

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
  5. noganno

    noganno Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    58
    Симпатии:
    0
    Уже столько курсов вышло по PHP, а люди до сих пор Попова изучают.
     
  6. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    phpfaq.ru/paginator
     
  7. Whiskas_kote

    Whiskas_kote Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Спасибо, за такие исчерпывающие ответы, сам разобрался в общем...первый запрос надо полностью менять, да и 2 тоже.Ладно в общем.Но может хоть на это ответите?
    Как лучше делать запрос
    $query="SELECT * FROM aps";
    $sql=mysql_query($query);
    или
    $sql=mysql_query("SELECT * FROM aps");
    Есть ли какая разница или всё же 2 быстрее работать будет? или потом проблемы будут? а то в разных учебниках по разному и ответа нет нигде.
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    1) Mysqli_ юзайте
    2) Вообще без разницы как посылать запрос. Если конечно вам не принципиально сэкономить пару-тройку наносекунд. Проблем тоже никаких не будет. Все равно значение любого выражения представляется как значение переменной в работе.
     
  9. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    PDO
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    успеется
     
  11. Whiskas_kote

    Whiskas_kote Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Благодарю)но мне сперва бы с этим разобраться)вникнуть так сказать) крайний вопрос)
    как лучше выводить через mysql_fetch_array или mysql_fetch_object? или вообще самое кул это mysql_num_rows с выводом через for?
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    через mysqli
    Вы почитайте, там по синтаксису отличия от mysql для ваших операций минимальны. Перевести код на mysqli не сложно будет.
     
  13. Whiskas_kote

    Whiskas_kote Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Я понял, что надо переходить, но как переходить, если все книги у меня по mysql, да и до сих пор не врубился в некоторые вещи( понимаю, что минимально там всё, но я как бы и в этот минимум не до конца вник) или может есть какая книга по Mysqli?
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Выбросьте книги, у вас есть куда более полный и свежий источник бесплатных знаний всего мира - Интернет. Ну а еще источник фотографий с котиками, да.
     
  15. Whiskas_kote

    Whiskas_kote Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Ну да понимаю, инет хорош, но вот почему то, многие данные которые я видел тупо сделаны рерайтерами для заработка) да там также, напиши функцию, 1 напишет так а другой по другому вообще и хер чё поймешь) поэтому мне надо вникнуть) например я не нашёл в инете простую гостевую книгу с возможностью просмотра перед выводом, а в книге нашёл) чё и находил там огромные куски кода, хер пойми для кого сделанные, а тут вышло где то в 35 строк читаемого кода, а не по соткам. в инете я не нашёл никакой инфы по SEO к примеру(ну мало),никто не хочет делиться своими знаниями и все сайты по SEO-отстой для денег, ГС одним словом. Поэтому я предпочитаю книги, да и видеоуроки хоть помогают. Никто же не станет обучать за бесплатно, все кидают вон перейди там почитай сам научись, я же сам учился да и ты сможешь) переходишь на 1 сайт, там написано по одному, на другой сооовсем по другому, и оба правильные варианты) вот это и прискорбно для новичка, нет единой четкой системы, всегда можно сделать не так, по другому. Для профи то конечно это шикарно, но вот только я нуб)
    Ну, про котиков я соглашусь пожалуй)))
    И всё таки ответьте пожалуйста на вопрос мой прошлый, если не затруднит) Или разный вывод используется для разных целей? Типа чтоб вывести обычную страницу можно заюзать array, а вывести все записи и захерачить навигацию object, или и так и так можно?) Вообще не вникаю. в Mysqli тоже есть array,object и accos(или как его там).

    Добавлено спустя 43 минуты 49 секунд:
    Сделал в общем, конечно не постранично, просто после нажатия выводятся следующие записи из базы, также нажав ёё возвращается назад(не фонтан)) но для начала пойдёт думаю)

    Добавлено спустя 56 минут 16 секунд:
    Всё,сделал полностью, есть мелкие недочёты, но думаю для новичка збс вовсе)
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    А вы не готовые примеры ищите, а юзайте документацию и изучайте общие принципы.
    Обучение по принципу "сегодня мы делаем регистрацию" - все равно что изучение иностранного языка по фразам. Ну выучишь ты сто фраз. Ты все равно не будешь говорить на другом языке. А изучи сам язык, его грамматику и синтаксис - потом просто иногда поглядывать в словарь придется, если на новое слово наткнулся, не более. Так и тут.
     
  17. Whiskas_kote

    Whiskas_kote Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Благодарю за полезную инфу) над будет поискать маны)