Ответы пользователя по тегу MySQL
  • Как сделать возможность бесконечнй вложенности категорий?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Уже писалось и тут и на хабре и еще не помню где-то было обсуждение, в целом народ сошелся на дереве, т.е. поле parentid указывающее на предка, у меня в нем еще и уровень вложенности записан, удобно при построении визуальных деревьев. А выборка рекурсивной функцией. На проекте где было овер 1000 категорий с произвольной вложенностью мы написали скрипт который при добавлении новой категории записывал массив категорий в кеш, после чего все из него и бралось, ибо реально напрягало систему. А так работало весьма шустренько.
    Ответ написан
    Комментировать
  • Как лучше реализовать?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    самое простое решение (имхо самое верное) :
    id | subject | text tags | lang_id | group_id

    group_id будет объединять одинаковые новости на разных языках, при переходе с одного языка на другой выборку из базы делаешь по lang_id - выбираются все новости на нужном языке.

    и табличку справочник языков
    id | prefix | lang_name
    1 | ru | Русский
    2 | ua | Украинский
    Ответ написан
  • Как правильно Сформировать URL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В свое время делал нечто подобное, в итоге вытаскивал все категории и строил дерево рекурсивной функцией. так как движок писали сами поверх Зенда - в админке добавили метод - при добавлении новых категорий в кэше грохалось старое и сохранялось новое готовое дерево, работало быстро и просто. Хотя конечно это не тру )
    Ответ написан
    Комментировать
  • Сайт на двух языках?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Так, спокойно, бывает и такое еще )
    Так, ну-с, начнем с того что все что приходит на любой урл, который не существует и на любой урл который не картинка/цсс/жс/чтонадоеще перекидываем на index.php.
    например так:

    В .htaccess:
    RewriteBase /
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
    RewriteRule !\.(js|ico|gif|jpg|png|css|pdf|mov|mp3)$ index.php


    Далее в коде парсим урл, разделяя его по "/", если в нужном месте стоит один из языков - меняем язык отображения на нужный. Далее любая магия на Ваш выбор - инклуды нужного языка, запрос к базе языковых переменных, массив слов перевода - варианты извращений не бесконечны, но весьма разнообразны, в 90х-00х народ чего только не лепил ))

    PS: ПОЧИТАЙТЕ ПРО ОБЪЕКТЫ, MVC, СОВРЕМЕННЫЕ МЕТОДЫ РАЗРАБОТКИ, ФРЕЙМВОРКИ...
    Ответ написан
  • Как в input сделать вывод из БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    мм, ну хоть отлично делает вывод....
    <?
    $someText = $row['some_text'];
    ?>
    <input type="text" value="<?=$someText;?>">


    Откуда Вы этот код берете? В 90е за ним на машине времени ездите???
    Ответ написан
    1 комментарий
  • Вывод из БД в textarea?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Очевидно, что с кавычками у вас лажа, я бы рекомендовал:
    во-первых почитать про кавычки в пхп (к Михаилу это тоже относится);
    во-вторых вместо конструкции
    while($row=mysql_fetch_array($result)){
    echo 'Текст<br><textarea name='main_text' id='main_text' cols=37 rows=5>".$row['main_text']."</textarea>';};

    напишите
    while($row=mysql_fetch_array($result)){ ?>
    Текст
    <br>
    <textarea name='main_text' id='main_text' cols=37 rows=5>
    <?=$row['main_text'];?>
    </textarea>
    <?};?>

    Это будет и более структурировано, и более понятно(надеюсь).
    В коментах отписались что выводит только белый экран - тестируйте вывод, первой строкой впишите простой вывод текста типа <? echo "start";?>, если выводится - значит запрос скорее всего отдал пустое значение, попробуйте сделать var_dump() на переменные после запроса.
    и да, $result=mysql_query('SELECT column FROM `main_text`'); это вообще что и куда выбирает???
    Ответ написан
  • Как в цикле производить select и/или insert запросы к базе (цикл примерно 50к итераций)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Может делать так? Тут после роллбэка еще раз делаем запрос тот же, и так или по кругу пока не вставится, или писать свою обработку ексепшна.
    А данные да, надо пачками формировать, штук по 500 нормально, при хорошем сервере это пару сек даже с 1000к записей, если разделить слипами - вообще думаю никто не заметит особых тормозов.
    Ответ написан
    Комментировать