За последние 24 часа нас посетили 22795 программистов и 1253 робота. Сейчас ищут 715 программистов ...

SQL запрос для выдачи заданий

Тема в разделе "MySQL", создана пользователем Evgeniy1, 26 июн 2019.

Метки:
  1. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    Я не особо шар в SQL запросах к mysql.Ну крч надо сделать запрос на основе этого
    PHP:
    1. SELECT * FROM `Work`
    2. ORDER BY `Work`.`date_reg` DESC LIMIT ".$from.",".$work_on_page
    Но есть такая структура:
    --Work
    id_work
    name_work
    id_work[​IMG]
    desc_work

    url
    banned_users_id
    date_reg
    creator_id
    creator_login
    downloaded
    В столбце banned_user_id будут хранитса id пользователей которые уже сделали это задание !
    И надо как-то модернизоровать запрос чтоб он отсекал id текущего пользователя и потом ток в таблицу закидывал задания. Я попробывал с NOTREGEXP '1' но получается он реагирует даже на 11 и тд.(И чем разделать их тоже не знаю думаю или пробелом или запятой,если не прав подскажыте)
     
  2. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    через запятую?
     
  3. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    Не мона ?)
     
  4. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Evgeniy1, ваще никак не мона.
    Это нарушение первого закона нормализации, и как я люблю говорить "Угадай с трёх раз почему он первый и почему это закон?"
    у тебя отношение один ко многим, значит нужна вторая таблица
    при создании архитектуры БД первые три закона соблюдать в обязательном порядке, остальное если хватит ума и сил.

    кстати хороший комент оттуда
     
  5. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    Спасибо почитаю.
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Это у тебя таблица работ или чЁ?
    Код (Text):
    1. creator_id
    2. creator_login
     
  7. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    Угу там тип задания логин я вывожу тип в таблицу а id пока не юзаю но прикручу потом кудато =)
     
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Не понял.
     
  9. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    Есть страница work.php Она выводит задания для пользователя за которые он получит балы, если выполнит их. По этому я хотел сделать колонку banned_id где у каждого задания будут свои id пользователей которые уже сделали заадние, и получается если ты сделал задание оно тебе выводится не должно.А потом возле каждого задания есть кнопка посмотреть ну а там я php подставляю во все кнопки id задания на против которого эта кнопка. После нажатия на кнопку идет ajax с id задания которое надо отобразить, а id js берёт из атрибута кнопки
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Говорю, полю creator_login в данной таблице лишнее.
     
  11. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    А я думаю creator_id ) Пользователю интереснее знать логин создателя задания чем id, и я вспомнил где мне нужно creator_id я сделал в профиле тож таблицу и вот ет таблица там тип все твои задания ну и вот она кормит базу id пользователя который или в $my_user или в сесси вместе с $i где номер для стр со всеми заданиями. Во какая система =)
    --- Добавлено ---
    И мне вот стало интересно тебе ведь больше 18?) ( ет мне для понимания насколько ты больше сидел над php чем я)
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Ну допустим и чЁ? :) Про законы нормализации почитай, о чем тебе выше писали ;)

    Т.е. ты уже стал сомневаться, что я тебе дельные советы даю. Ну ОК :)
     
  13. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    И мне вот стало интересно тебе ведь больше 18?) ( ет мне
    Про возраст НЕ НЕ не подумай просто мне 14) и вот я тип python Ван лав и я решил Ся в веб попробывать вот 2 год пишу на чистом html css js и тут захотелось проектик ну такой тип а давай php ну и как сам видишь с пхп учится и учится, И ТОК ПОЕТОМУ хотелось узнать сколько ты пхп занимался!
    --- Добавлено ---
    А 2 года занимался ибо на олимпиады ходил по веб, как то так ) и на городе призовые занимал места ( минутка хвастовства)
     
  14. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    Автоинкремент
     
  15. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    ? Не понял. Куда поставить ? ( На id уже стоит)
     
  16. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    Зачем тогда creator_id?
     
  17. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    Ну как сказать ) в профиле есть таблица где выводится именно твои задания и вот они по id собираются ведь логин ты поменяешь а id нет
    --- Добавлено ---
    Хотя я щас понял что лучше и на странице где все задания на сервисе тож по id пользователя работать и тогда колонка creator_login лишняя, но тогда он будет в базу ещё + 10 запросов чтоб логины по вписывать
     
  18. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    LEFT JOIN
    --- Добавлено ---
    Для страницы работы можно и отдельный запрос.
     
  19. Evgeniy1

    Evgeniy1 Новичок

    С нами с:
    5 июн 2018
    Сообщения:
    39
    Симпатии:
    0
    Спасибо, буду использовать