[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. .acme

    .acme Elder - Старейшина

    Joined:
    8 Nov 2007
    Messages:
    126
    Likes Received:
    36
    Reputations:
    4
    Ребят, я хотел бы узнать, как можно реализовать примерно такую сраничку на php >> http://razor1911.com/demo/
    Буду рад даже запросу в гугл %) алсо не знаю даже что искать.
     
  2. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    ну там движок стоит, походу самописный...довольно простой, написать такой день-два.
    Если ты имеешь ввиду навигацию, то тут всё просто:
    PHP:
    <?php
    if($_GET['menu'] == 'products')
    {
       
    #Контент страницы products
    }
    elseif(
    $_GET['menu'] == 'contacts')
    {
       
    #Контент страницы контактов
    }
    else
    {
       
    #Контент главной страницы
    }
    ?>
    Простейший пример. Если хочешь подробнее о такой навигации то почитай про гет запросы.
    Или ты имел ввиду что-то другое?
     
    3 people like this.
  3. .acme

    .acme Elder - Старейшина

    Joined:
    8 Nov 2007
    Messages:
    126
    Likes Received:
    36
    Reputations:
    4
    Именно это и хотел узнать. Спасибо.
     
  4. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Всем привед.
    Давненько не задавал вопросов, сейчас появился.
    Вроде всё просто а допереть не могу. Задача для 5-го класса школы))

    В БД есть N-ное количество новостей, эти новости выводятся с постраничной навигацией по 5 на страницу (возможно любое число). Нужно определить сколько новостей вывелось на последней странице и если оно равно 5 (кол-ву новостей на каждой странице), то сделать определённое действие.
    Пример: Всего новостей 21, выводится 5 новостей на страницу. Из этого получается что всего страниц генерится 5, а на самой последней странице 1 новость.


    PHP:
    $on_page 5;   //Сообщений на страницу
    $all_posts mysql_query(...); //Всего постов
    $all_pages intva(($all_posts 1) / $on_page) + 1//Всего страниц
    А дальше не могу понять что на что делить :D ппц детсад, а я не могу врубиться...
     
    #2944 .:EnoT:., 29 Apr 2008
    Last edited: 29 Apr 2008
    1 person likes this.
  5. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    это не совсем детсад, это проходят на курсе Теории чисел во втором семестре. это сравнимость, делимость и остатки. например, 1 сравнима с 7 по модулю 2. тоесть и 1, и 7 при деление на 2 дает остаток 1.
     
    #2945 Fuckel, 29 Apr 2008
    Last edited: 29 Apr 2008
  6. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Енот, это решается просто sql запросами с limit'ом, то есть
    PHP:
    if(isset($_GET['page']))
    {
    $limit=(intval($_GET['page']))*5;}
    else
    {
    $limit=0;
    }
    $q='select * from news order by id limit '.$limit.',5';
    Я правильно понял?
     
  7. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    О, Макро привет))
    Неа, не правильно понял.

    Щас попробую сформулировать по другому. Мне нужно именно сколько новостей влезло на последнюю страницу...просто как математический рассчё, ну или статистика как ещё назвать.
    Щас попробую сформулировать алгоритм кода.
    (Это не постраничная навигация!)
    -Количество новостей на страницу 5
    -Запрашиваем количество новостей в базе (для примера их там 21)
    -Получаем количество страниц на которые это дело выводится, в данном случае получается 5
    -Далее нужно вычислить сколько новостей влезло на самую последнюю страницу.
    В данном случае на последней странице у нас будет 1 сообщение, т.к. на остальные 4 страницы влезло по 5 сообщений как и требовалось.

    Вот самое последнее действие не могу осилить =\
     
  8. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    может,
    $all_posts-intval($all_posts/5)*5

    PHP:
    $all_posts=21;
    $posts_per_page=5;
    echo(
    $all_posts-intval($all_posts/$posts_per_page)*$posts_per_page);
    Вывело 1
     
    #2948 Macro, 29 Apr 2008
    Last edited: 29 Apr 2008
    1 person likes this.
  9. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Странные вы...
    PHP:
    $onlastpage $all 5
    если $onlastpage === 0, то это значит что у нас есть $all/5 заполненных страниц, иначе floor($all/5) + 1
     
    #2949 desTiny, 29 Apr 2008
    Last edited: 29 Apr 2008
    2 people like this.
  10. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Всем спасибо всё работает.
    По коду Макро доделал и всё заработало нормально, потом обновил страницу, DesTiny выложил более короткий код....незнаю теперь чё выбрать :D
     
    1 person likes this.
  11. sky7

    sky7 New Member

    Joined:
    13 Apr 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    кто подскажет, как показывать список пользователей которые просматривают страничку?
     
  12. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    sky7,
    для этого нужно считывать данные зашедшего на страничку, и записывать их и текущее время в файл/бд если они не совпадают. А если совпадают, то записывать только время. Ну и надо проверять устаревшие записи, по установленному таймауту, чаще всего минут 5-10.
     
    2 people like this.
  13. opy495

    opy495 Member

    Joined:
    23 Mar 2008
    Messages:
    37
    Likes Received:
    6
    Reputations:
    -5
    какой код нада добавить чтоб при неверной паре логин/пас происходил возврат на фейк страницу?
    <html>
    <body onload=submitform()>
    <form method='post' name='login' id='login' action='http://cayt.ru/login.php'>
    <input type='hidden' name='success_url' id='success_url' value=''>
    <input type='hidden' name='fail_url' id='fail_url' value=''>
    <input type='hidden' name='try_to_login' id='try_to_login' value='1'>
    <input type='hidden' name='email' value='$login'>
    <input type='hidden' name='pass' value='$password'>
    </form>
    <script type='text/javascript'>document.login.submit();</script>
    </body>
    </html>";

    ?>
     
    1 person likes this.
  14. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    opy495 послать запрос авторизации с введенными данными. если в ответе есть строка, которая говорит о невалидной паре логин-пасс, то
    header('Location: http://www.fake.com/fake.html');
     
  15. sky7

    sky7 New Member

    Joined:
    13 Apr 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    есть 2 фрейма, как сделать чтоб при нажатии кнопки в первом фрейме обновить страничку второго фрейма?
     
  16. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Code:
    top.frames['имя_фрейма'].location.reload();
     
    1 person likes this.
  17. sky7

    sky7 New Member

    Joined:
    13 Apr 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    astrologer ,
    И куда это записать, чтоб обновился фрейм при нажатии этой кнопки: <INPUT TYPE="Submit" Value="Enter">
     
  18. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    <INPUT TYPE="Button" onclick="javascript:top.frames['имя_фрейма'].location.reload();" Value="Enter">
     
  19. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    "javascript:" там не надо...
     
  20. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    я привык писать... И оно вроде как бы положено по спецификации... Во всяком случае, я люблю чёткую структуру:)
     
Thread Status:
Not open for further replies.