За последние 24 часа нас посетили 22017 программистов и 1018 роботов. Сейчас ищет 841 программист ...

upgrade анекдотов

Тема в разделе "PHP для новичков", создана пользователем Евгений Владимирович, 3 июл 2024.

  1. Евгений Владимирович

    Евгений Владимирович Активный пользователь

    С нами с:
    3 май 2009
    Сообщения:
    28
    Симпатии:
    0
    продолжение предыдущей темы
    Делали мы скрипт анекдотов
    В итоге у меня получился такой код(полностью):

    function lazyTimer(int $interval = 1): int {
    return intval(time() / $interval);
    }
    $data = file('anekdot.dat');
    $page = lazyTimer(1) % count($data);
    $page2 = lazyTimer(2) % count($data);
    $page3 = lazyTimer(3) % count($data);
    $page4 = lazyTimer(4) %count($data);
    $page5 = lazyTimer(5) %count($data);
    echo $data[$page];
    echo "<p align='center'><br />***<br /></p>";
    echo $data[$page2];
    echo "<p align='center'><br />***<br /></p>";
    echo $data[$page3];
    echo "<p align='center'><br />***<br /></p>";
    echo $data[$page4];
    echo "<p align='center'><br />***<br /></p>";
    echo $data[$page5];
    выводит случайный анекдот 5 раз с функцией задержки смены
    наверно это нерационально. нельзя почему-то сделать дробный 1,5 например: $page = lazyTimer(1,5) % count($data); я пробовал и деление, и прочее. а $page5 = lazyTimer(5) %count($data); там уже 5 секунд задержки смены. для меня многовато. пробовал $page = lazyTimer(1:2) % count($data);или 1/2
    ну да ладно. это все неважно.
    мне теперь интересно как выводить с определенного url, категории например
    site.ru/humor - выводим текст здесь анекдот
    site.ru/pesnya - выводим текст песни
    ну и так далее. пусть для каждого url свой собственный анекдот. грубо говоря произвольный код
    ну и таблица
    столбец1 столбец 2
    url1 - код 1
    url2 - код 2
    url3 - код 3
    url4 - код 4
    подключаемся к базе:
    define("DATABASE_NAME","user_anekdot");
    define("DATABASE_USER","user_anekdot");
    define("DATABASE_PASSWORD","password7");
    define("DATABASE_HOST","localhost");
    $Link_ID=mysqli_connect("localhost", "user_anekdot", "password7", "user_anekdot");
    mysqli_query ($Link_ID, 'SET NAMES utf8');
    mysqli_query ($Link_ID, 'SET CHARACTER SET utf8');
    $res_r = mysqli_query($Link_ID, "SELECT * FROM kod WHERE url=". $url['id']);
    $row = mysqli_fetch_array($res_r, MYSQLI_ASSOC);
    echo $row['kod'];(Ну почти как-то так)
    по Url нельзя делать поиск через базу? WHERE url=".$url
    в общем я плаваю
    Сразу по полному url можно искать?
    $url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
     
    #1 Евгений Владимирович, 3 июл 2024
    Последнее редактирование: 3 июл 2024
  2. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    319
    Симпатии:
    64
    Адрес:
    Бавария, Германия
    Добрый день!
    В базе можно искать по любому названию колонки таблицы и по url можно, если оно есть и верно задан тип.
    как-то так
    PHP:
    1. <?
    2. $mysqli = new mysqli('...','...','...','...');
    3. ...
    4. $query = $mysqli -> prepare("SELECT * FROM kod WHERE url=?");
    5. $query -> execute($url);
    6. result = $query -> get_result();
    7. $row = $result-> fetch_assoc();