• Drop-down menu через php??

    65536
    @65536
    <?php
    
    $menu = array(
        array('label' => 'Главная', 'link' => '1'),
        array('label' => 'О нас', 'link' => '2'),
        array('label' => 'Наши блюда', 'link' => '3'),
        array('label' => 'Заказать', 'link' => '4')
    );
    
    $dropmenu = array(
        array('label1' => 'Пицца', 'link1' => '1'),
        array('label1' => 'Лазанья', 'link1' => '2'),
        array('label1' => 'Блинчики', 'link1' => '3')
    );
    
    foreach ($menu as $value)
    {
        echo "<li><a href=\"../index.php?id={$value['link']}\"><strong>{$value['label']}</strong></a></li>";
    
         if ($value['link'] == 3)
         {
             foreach ($dropmenu as $value1) {
             echo "<li><a href=\"../index.php?id={$value1['link1']}\"><strong>{$value1['label1']}</strong></a></li>";
         }
    }
    
    $page = 1;
    $page = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
    Ответ написан
    1 комментарий
  • Сколько нужно времени для изучения html, php, css, js, ajax, mySQL?

    > Учить могу часов по 5-8 в день. Года - двух должно хватить?
    При таких затратах времени я php изучил за месяц ну ещё месяца 3 практики нужны. HTML - это недели 2 я бы сказал. Mysql - одновременно с php учится. js, ajax - ну ещё месяц допустим. Итого 3 месяца на изучение.
    Но когда вы знаете то это ещё не значит что умеете практиковать, потому что изучение не даёт навык работы со сложными, нестандартными ситуациями на практике. Так что расклад такой: 3 месяца учитесь и 9 месяцев практикуетесь )) Опытные помощники сильно ускоряют обучение.
    Ответ написан
    2 комментария
  • Как лучше писать каркас сайта? Вставлять html-код в php-скрипт или наоборот php-скрипты в теги??

    saksmt
    @saksmt
    PHP-developer, Backend
    На текущем этапе вашего обучения - не важно, но запомните их смешивать нельзя (поместите РНР в один файл, вёрстку с выводом переменных и простые циклы\условия, никакой логики, никаких запросов, в другой).
    Logic.php:
    <?php
    /* SOME LOGIC HERE */
    /* where $someData and $username is defined */
    export([
        'someVariableYouWantToUseInTemplate' => $someData,
        'name' => $username,
    ]);
    require 'template.php';


    template.php
    Hello, <b><?= $username; ?></b>!
    И на будущее заучите себе смешивать языки - плохо (они должны быть максимально изолированы друг от друга!) и зазубрите "ЗАПРОСЫ К БАЗЕ ДАННЫХ СТОЯТ ДОРОГО, ЧЕМ МЕНЬШЕ, ТЕМ ЛУЧШЕ", как мантру трижды перед сном.
    Ответ написан
    2 комментария
  • Как лучше писать каркас сайта? Вставлять html-код в php-скрипт или наоборот php-скрипты в теги??

    @rsi
    software engineer
    Действительно, ваш вопрос очень поверхностный.
    Для начала вы должны понять, что ваше приложение (сайт) оперирует не только html и php, а логикой, отображением (шаблонами, страницами) и данными (пусть это будет база данных). Это конечно упрощенное описание, и все сложнее, но для вас сойдет.

    То что я описал это и есть простейшее MVC, такую архитектуру использовать не обязательно, есть другие подходы, но она простая, понятная, надежная и не использовать ее особого смысла нет.

    Что это означает на практике? Все ваши файлы должны быть разделены на три категории:
    1) Работа с данными (скорее всего это база данных)
    2) Логика (некие манипуляции с данными)
    3) Шаблоны (файлы где будет верстка)

    В первых двух категориях (данные, логика) у вас должно быть только php. В шаблонах вы уже используете в основном html и только в нужных местах используете php для вывода динамики.

    К примеру
    Файл работы с данными:
    //получили данные из базы
     $data = functionForDetDataFormDB();

    Файл логики:
    //К примеру нам потребовалось обрезать пробелы на концах строк взятых из базы
    array_map('trim', data);

    Файл шаблона:
    <body>
    ...
    <table>
    <?php foreach($data as $row):?>
    <tr>
    <td><?=$row['id']?></td>
    <td><?=$row['name']?></td>
    <td><?=$row['phone']?></td>
    </tr>
    <?php endforeach;?>
    </table>
    ...
    </body>


    Но следует понимать, что то что я описал это лишь простейший пример, вдля того что бы указать вам направление для дальнейшего развития. Все намного сложнее, так что учитесь, читайте книги, изучайте инструменты
    Ответ написан
    4 комментария