За последние 24 часа нас посетили 64596 программистов и 1578 роботов. Сейчас ищут 840 программистов ...

Превозмогания тред

Тема в разделе "PHP для новичков", создана пользователем ubunta2, 27 июн 2017.

  1. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @Dron-Boy наверно, для пользователей, не только делают добавление данных, а ещё, что бы после отправки формы, создавалась, какая-нибудь таблица. Здесь уже, с помощью phpmyadmin такое не сделаешь.
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @ubunta2
    PHP:
    1. CREATE TABLE forums (
    2. id_forum INT (11) NOT NULL AUTO_INCREMENT,
    3. name TINYTEXT,
    4. rule TEXT,
    5. logo TINYTEXT,
    6. pos INT (11) DEFAULT NULL,
    7. hide ENUM (`show`, `hide`) NOT NULL DEFAULT `show` , PRIMARY KEY (id_forum)
    8. )
     
  3. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    спасибо кавычки помогли
     
  4. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А ты таблицы только создаешь, а потом любуешься ими чтоли? :)

    Или ни разу ничего сложнее select * from table еще не пригождалось просто?
     
  5. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Код (Text):
    1. CREATE TABLE authors (
    2. id_author INT (11) NOT NULL AUTO_INCREMENT,
    3. name TINYTEXT,
    4. passw TINYTEXT,
    5. email TINYTEXT,
    6. url TEXT,
    7. icq TINYTEXT,
    8. about TEXT,
    9. photo TINYTEXT,
    10. putdate DATETIME DEFAULT NULL, last_time DATETIME DEFAULT NULL, themes INT (10) DEFAULT NULL,
    11. statususer ENUM('user' , 'moderator' , 'admin') NOT NULL default 'user' PRIMARY KEY (id_author)
    12. );
    кавычки поубирал
    все равно остается ошибка
     
  6. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    я читаю книгу и делаю все что там есть последовательно
     
  7. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @Fell-x27 в принципе, пока кроме select ничего не использовал
     
  8. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Статический анализ:

    Найдено 2 ошибок при анализе.

    1. Ожидалась закрывающая кавычка '. (near "" at position 369)
    2. Ожидалась закрывающая скобка. (near "" at position 0)
    SQL запрос:

    CREATE TABLE authors ( id_author INT (11) NOT NULL AUTO_INCREMENT, name TINYTEXT, passw TINYTEXT, email TINYTEXT, url TEXT, icq TINYTEXT, about TEXT, photo TINYTEXT, putdate DATETIME DEFAULT NULL, last_time DATETIME DEFAULT NULL, themes INT (10) DEFAULT NULL, statususer ENUM('user’ , 'moderator' , 'admin') NOT NULL default 'user' PRIMARY KEY (id_author) );

    Ответ MySQL: [​IMG]

    #1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'moderator' , 'admin') NOT NULL default 'user' PRIMARY KEY (id_author)
    )' на строке 11
     
  9. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    все нашел ошибку и все получилось
    ура
     
  10. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Завидую. А у меня в проекте сейчас трехэтажные джоины и даже IF-ы местами. Да, в SQL есть IF-ы. И запросы размером с экран.
     
    askanim нравится это.
  11. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Ёёё. От эт да.
     
  12. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @Fell-x27 как выглядят эти трехэтажные джоины?
     
  13. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Хардкоре, битчез!

    Хочешь пример притяжеленного запроса? Окей.
    PHP:
    1. SELECT
    2.   DISTINCT
    3.   (`Flows`.`state_id` = 3) AS `launched`,
    4.   `Flows`.`id`,
    5.   `Flows`.`is_permanent`,
    6.   DATE_FORMAT(IF(`Flows`.`is_permanent` = TRUE, (SELECT MAX(`invoices`.`creation_date`)
    7.                                                  FROM `invoices`
    8.                                                  WHERE
    9.                                                    `invoices`.`paybox_id` = `payboxes`.`id` AND
    10.                                                    `invoices`.`user_id` = 21), `Flows`.`start_time`),
    11.               '%d-%m-%Y')  AS `start_time`,
    12.  
    13.   `Courses`.`name`,
    14.   DATE_FORMAT(IF(`Flows`.`is_permanent` = TRUE, DATE_ADD((SELECT MAX(`invoices`.`creation_date`)
    15.                                                           FROM `invoices`
    16.                                                           WHERE
    17.                                                             `invoices`.`paybox_id` = `payboxes`.`id` AND
    18.                                                             `invoices`.`user_id` = 21), INTERVAL `Flows`.`keep_for_days`
    19.                                                          DAY),
    20.                  (DATE_ADD((SELECT MAX(`payboxes`.`start_time`)
    21.                             FROM `payboxes`
    22.                             WHERE `payboxes`.`flow_id` =
    23.                                   `Flows`.`id`),
    24.                            INTERVAL
    25.                            (SELECT SUM(`media_groups`.`duration_in_days`)
    26.                             FROM `media_groups`
    27.                             WHERE
    28.                               `media_groups`.`paybox_id` = (SELECT `payboxes`.`id`
    29.                                                             FROM `payboxes`
    30.                                                             WHERE
    31.                                                               `payboxes`.`flow_id` = `Flows`.`id`
    32.                                                               AND
    33.                                                               `payboxes`.`start_time` =
    34.                                                               (SELECT MAX(`payboxes`.`start_time`)
    35.                                                                FROM `payboxes`
    36.                                                                WHERE `payboxes`.`flow_id` =
    37.                                                                      `Flows`.`id`))) DAY))),
    38.               '%d-%m-%Y')  AS `end_time`
    39. FROM `Flows`
    40.   INNER JOIN `Courses` ON `Flows`.`course_id` = `Courses`.`id`
    41.   INNER JOIN `payboxes` ON `Flows`.`id` = `payboxes`.`flow_id`
    42.   INNER JOIN `media_groups` ON `payboxes`.`id` = `media_groups`.`paybox_id`
    43. WHERE `Flows`.`id` IN (SELECT `Applications`.`flow_id`
    44.                        FROM `Applications`
    45.                        WHERE `user_id` = 21 AND `status_id` = 2);
    --- Добавлено ---
    Причем, тут джойны довольно простенькие, без изысков типа сложных условий с выборками. Больше с IFами и датами загоны.
     
    Dimon2x нравится это.
  14. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Dimon2x
    В моей практике пока рекорд это 2 или 3 join-а, точно не помню.
    --- Добавлено ---
    Не фига себе запрос, крут...
     
  15. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Писать такие штуки интересно очень, к слову.
     
    Рихард нравится это.
  16. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
  17. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Всему свое время :)
     
    TeslaFeo нравится это.
  18. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    нажми "Новые сообщения" и посмотри, как выводятся данные.
    Представь, как они лежат в БД.
    И представь, какой там запрос)
    Можно конечно и пачку запросов написать, но наверное это не круто, раз так не делают тру чуваки)
     
  19. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @TeslaFeo там наверно для каждого диалога, создаётся отдельная таблица и потом уже в неё добавляются сообщения?
     
  20. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    развеселил))
    --- Добавлено ---
    хочется тебе крепкого словца написать, но не буду.
    м б веб для тебя не главное в жизни)
    --- Добавлено ---
    мягко говоря, это ахинея)
     
  21. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Если архитектура твоей БД подразумевает динамическое бесконтрольное создание таблиц, то, значит, это плохая архитектура и ее нужно тщательно пересмотреть.
     
    Dron-Boy нравится это.
  22. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Dimon2x
    думаю ты не прав, на этом форуме как то по другому, создавать таблицу для каждой темы это не правильно. Тут наверное просто используются много таблиц для этого всего. Ну это мнение мое, я в этом не сильно шарю, в смс переписке) Хотя собираюсь ее написать.
     
  23. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Черт. Я потерял великолепную пасту, где я строил запрос по 7+ таблицам, при этом серилизуя (substr) php объекты в полях и на основе этого говна наворачивал ифы и куча прочего веселья. Проект нарыл на харде, но там не было этих изменений. И тот дикий запрос хорошо работал на удивление.
     
  24. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    на форуме почти 60 к тем. это чо, 60к таблиц?))
     
  25. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    I know that feel bro...
    --- Добавлено ---
    К слову, когда открыл для себя IF-ы в SQL, радости моей не было предела.