Загрузка...

Вывод всех пользователей из базы

Тема в разделе Backend создана пользователем DonBassLPR_inactive222844 31 янв 2019. 313 просмотров

Загрузка...
  1. DonBassLPR_inactive222844
    DonBassLPR_inactive222844 Автор темы 31 янв 2019 3 4 дек 2017
    Крч есть скрипт который отправляет сообщение пользователю моего сайта, а надо сделать что бы он отправлял сразу всем пользователям, уже часов 10 мучаюсь и голова вообще не варит, может кто сможет помочь за симпу
    Код

    if (isset($_POST['to_user'])) {
    $to_user = htmlspecialchars($_POST['to_user']);
    $theme = htmlspecialchars($_POST['tema']);
    $text = htmlspecialchars($_POST['message']);

    $status = 0;
    $date = time();
    $db->Query("SELECT * FROM db_users_a WHERE user = '$to_user'");
    $kol = $db->NumRows();
    $us = $db->FetchArray();
    $us_in = $us['id'];
    $login_in = $us['user'];
    if($kol > 0) {
    if(!empty($theme)) {
    if(!empty($text)) {
    if($cena <= $user_data['money_b']) {
    $db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox) VALUES ('$us_in', '$login_in', '$usid', '$usname', '$theme', '$text', '$status', '$date', 1)");

    $db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, outbox) VALUES ('$us_in', '$login_in', '$usid', '$usname', '$theme', '$text', '$status', '$date', 1)");
    $db->Query("UPDATE db_users_b SET money_b = money_b - '$cena' WHERE id = '$usid'");
    echo ("<center>Сообщение отправлено игроку $login_in</center>");
    }else echo ("Недостаточный баланс для отправки сообщения!</center>");
    }else echo ("Введите текст сообщения</center>");
    }else echo ("<center>Введите тему сообщения</center>");
    }else echo ("<center>Данного игрока не существует!</center>");

    }


    ?>
    <table style="border-collapse:collapse;width:100%;"><tbody><tr><td><br></td><td>
    <br>
    <form method="post" action="">
    <label for="ex1">Ник игрока</label>
    <input name="to_user" value="" type="text" size="20" maxlength="50" class="form-control" id="ex1"/>
    <br>
    <label for="ex1">Тема сообщения (до 150 символов)</label>
    <input name="tema" value="" type="text" size="20" maxlength="150" class="form-control" id="ex1"/>
    <br>
    <label>Текст сообщения</label><br>
    <textarea name="message" class="form-control" rows="5" cols="40"></textarea>
    <br />
    <input class="btn btn-default" type="submit" name="send" value="Отправить уведомление" />
    </form>
    </td></tr>

    </tbody></table>
     
  2. mysqyrlex
    mysqyrlex 31 янв 2019 11 15 окт 2017
    user_id_in кому
    user_id_out куда
    Делаешь запрос SELECT * FROM db_users_a
    Потом в моменте отправки считаешь количество пользователей * стоимость отправки если > баланса отправляешь, отправляешь foreach по базе db_users_a делаешь инсерты, только не каждый шаг insert а строку сделай и в конце 1 запрос выполни.(Читай про множественный Insert (Insert into table_name (id,...) values (1,..),(2,..),(3,..)...))
     
  3. DonBassLPR_inactive222844
    DonBassLPR_inactive222844 Автор темы 31 янв 2019 3 4 дек 2017
    mysqyrlex, Можешь по подробней все расписать? я в php можно сказать 0 дак еще осознал что все эти 10 часов потратил в пустую)
     
  4. mysqyrlex
    mysqyrlex 31 янв 2019 11 15 окт 2017
    Псевдокод/алгоритм напишу дальше сам
    Проверяешь все ли условия выполнены : указана тема и тело сообщения
    Получить список всех пользователей Select * from db_users
    Получить инфу по пользователю который отправляет, Id, кол-во бабла
    if ( количество строк из таблицы юзер * стоимость сообщения < колво баба)
    for (i=0;i<количество строк из таблицы юзер;i++)
    {
    $db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox) VALUES ('$us_in', '$login_in', '$usid', '$usname', '$theme', '$text', '$status', '$date', 1)"); // Данные поменяй на элемент цикла
    }
    В конце баланс пользователя = баланс пользователя - количество строк из таблицы юзер * стоимость сообщения
     
  5. DonBassLPR_inactive222844
    DonBassLPR_inactive222844 Автор темы 31 янв 2019 3 4 дек 2017
    mysqyrlex, Все равно не чего не понял, мне посоветовали сделать убрать where user=user сделал так но сообщение теперь отравляется мне, может у кого еще какие то варики есть?
     
  6. mysqyrlex
    mysqyrlex 1 фев 2019 11 15 окт 2017
    Как варик выучить PHP, или заказать решение, и так уже всё разжёвано
     
  7. Quicks
    Quicks 2 фев 2019 Заблокирован(а) 150 23 ноя 2018
    Сам вот закрепляю знания по рhp больше практика нужно
     
Top