За последние 24 часа нас посетили 17763 программиста и 1711 роботов. Сейчас ищут 1629 программистов ...

Система друзей и ее реализация php mysql

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

  1. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Да в состоянии наверное, а что? Да сколько можно учить то же самое, как объявлять переменные, или как заполняется форма. все это я знаю. Если я сказал что я не работал с функциями то значит не работал только с функциями.
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    На самом деле я читал книгу не не полностью ее прочитал, а толку читать то же самое Все Сначала?
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Причём тут форма? Функция - давно самая основа программирования, в блок-схемах кстати тоже имеется обозначение. И уж это точно существенная часть php, которую необходимо знать. По ссылке там и про функции есть. Без функций невозможно нормально написать ничего сложнее вывода "привет хрен"
     
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @mkramer Так вот именно я хочу выучить как строятся эти функции как их правильно писать, как подключить, как объявлять и так далее. Может дашь хороший примерчик, там где все о функциях написано)
     
  5. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    обогнать человека? нахера?
    программирование - это совсем другой кайф. Как сюда гонки можно включать я хз.
    Всегда будут люди, которые знают и умеют лучше и хуже тебя.
     
  6. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    С функциями всё очень просто. Ты еще описываешь один раз, а потом обращаешься к ней там где тебе надо.
    В больших проектах для них целые отдельные файлы заводят и инклудят эти файлы везде и всюду.

    Вот, например, функция:
    PHP:
    1. function sqlSelect ( $query ) {
    2. $conn = mysqli_connect('localhost', 'us', 'pass', 'db'); // тоже, кстати, функция. Просто встроенная. Т е в php она уже описана по умолчанию. И их таких встроенных дохерища
    3. $rs = mysqli_query($conn, $query);
    4. $rw = mysqli_fetch_array($rs);
    5. return $rw;
    6. }
    Это на скорую руку. Ты передаешь функции запрос и она возвращает массив-строку из бд.
    Пример туповатый и его использовать не стоит, но суть функций поясняет.
    Пишешь в любом месте кода:
    PHP:
    1. $q = "SELECT * FROM tb WHERE id=1";// этот запрос ты собрал каким то образом
    2.  
    3. $row = sqlSelect ($q);
    4. // в $row твоя строка.
    5. //И таких телодвижений ты можешь делать сколько угодно, не описывая каждый раз всю процедуру.
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Уже дал. Тебе просто содержание лень просмотреть. https://secure.php.net/manual/ru/language.functions.php
     
  8. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    В моей реализации в реляционных таблицах, их (таблиц) было 2: друзья и запросы.
    Структура, думаю, понятна без описания.
    Базовая же структура users для сущности "друзья" вообще не задействовалась (проект нагруженный).
     
  9. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Zuldek А сам пример, 2 таблицы то-есть, одна из них users другая friends?
    --- Добавлено ---
    @TeslaFeo ну не так выразился) Не обгонять, а стремится к лучшему)
     
  10. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    @_ne_scaju_ , нет. Users никак не связана с хранением связей друзей. Совсем никак (разумеется, ID пользователя присутствовал в обеих таблицах). Дружбы хралинились в таблице друзья, а реквесты на дружбу, соответственно, в таблице "запросы на дружбу".
     
  11. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Zuldek Понял, в принципе,
    requests(id_to, id_from) в этой таблице хранятся заявки от кого и кому, получается здесь будут запросы, если один подтвердит от сюда заявки удаляются, и переходят в таблицу friends.
    friends(user1, user2, status) а в этой таблице уже будут хранится друзья, если подтверждает user то статус меняется на 1.
    users(так а что хранить в таблице пользователей, номер какой либо?)
    Я правильно понял?
     
  12. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ну и нахер ты меня сюда позвал???
     
  13. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @SamyRed
    Может ты знаешь как мне помочь?
     
  14. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ну знаю примерно
    Чтоб тебе помочь - нужно изучить суть проблемы, разобраться с ней, и написать решение. А мне как-то лень.
     
  15. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @SamyRed
    Ну понятно, спасибо тебе.
     
  16. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Да, в принципе, не за что. Обращайся если ещё какие вопросы будут. Всегда помогу чем смогу
     
    askanim нравится это.
  17. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
  18. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Можно сделать вообще на одной таблице))
    users:
    id | name | friends

    Где friends это столбец, в котором хранится сериализованный массив с id друзей. Вот и всё)))
     
  19. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    сериализованный массив это что?
    --- Добавлено ---
    @SamyRed
    Мне в таблицу users добавить поле friend?
     
  20. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Только такой вариант потом обрабатывать сложно (Сложно для интерпретатора)
    --- Добавлено ---
    Если хочешь потом поломать голову - то да. Добавь столбец friends.

    //php.net/manual/function.serialize.html
     
  21. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @SamyRed
    я пожалуй хочу сразу правильно сделать, 2 таблицы отправленные заявки, и принятые.
     
  22. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ну тогда гугли. Ты не первый кто этим вопросом задаётся.
     
  23. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @SamyRed
    я гуглил, много месяц гуглю, и примеров очень мало, а если брать движок и вытаскивать от туда код, то много ошибочек будет, из-за того что в чужом коде сложновато будет разобраться, а ну ка подкинь мне гугл ссылку проверим тебя, думаю ты мне дашь ссылку которую я уже не раз видел)
     
  24. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
  25. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @SamyRed
    Ну да там они пишу как она должна выглядеть)
    Эту ссылку вроде не видел, но может просто подзабыл.