Крч суть такая, есть скрипт который определенному пользователю отправляет уведомление, помогите сделать что бы скрипт оправлял всем пользователям из базы Код (Text): <? $usid = $_SESSION["user_id"]; $usname = $_SESSION["user"]; $db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1"); $user_data = $db->FetchArray(); ?> <div class="page-header"> <h1>Уведомления</h1> </div> <table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%"> <tr> <td align="center" class="list-group-item"><a style='color:black;' href='/?menu=WarStock&sel=notify'>Написать уведомление</a></td> </tr> </table> <? 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)) { $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)"); echo ("<center>Сообщение отправлено игроку $login_in</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>
если я правильно понял, то сделал так, но все равно не рабтает Код (Text): <? $usid = $_SESSION["user_id"]; $usname = $_SESSION["user"]; $db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1"); $user_data = $db->FetchArray(); ?> <div class="page-header"> <h1>Уведомления</h1> </div> <table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%"> <tr> <td align="center" class="list-group-item"><a style='color:black;' href='/?menu=WarStock&sel=notify'>Написать уведомление</a></td> </tr> </table> <? 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"); $kol = $db->NumRows(); $us = $db->FetchArray(); $us_in = $us['id']; $login_in = $us['user']; if(!empty($theme)) { if(!empty($text)) { $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)"); echo ("<center>Сообщение отправлено игроку $login_in</center>"); }else echo ("Введите текст сообщения</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>
в строке 4 и where и limit придётся убрать WHERE id = '$usid' LIMIT 1 --- Добавлено --- так как лимит - это ограничение количества пользователей, которое программа получает из базы данных
вот как сделал а все равно отправляет только одному, голова уже вообще не варит с этим скриптом Код (Text): <? $usid = $_SESSION["user_id"]; $usname = $_SESSION["user"]; $db->Query("SELECT * FROM db_users_b"); $user_data = $db->FetchArray(); ?> <div class="page-header"> <h1>Уведомления</h1> </div> <table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%"> <tr> <td align="center" class="list-group-item"><a style='color:black;' href='/?menu=WarStock&sel=notify'>Написать уведомление</a></td> </tr> </table> <? 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"); $kol = $db->NumRows(); $us = $db->FetchArray(); $us_in = $us['id']; $login_in = $us['user']; if(!empty($theme)) { if(!empty($text)) { $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)"); echo ("<center>Сообщение отправлено игроку $login_in</center>"); }else echo ("Введите текст сообщения</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>
лично я с сказал что в этом не шарю, если ты ты тоже не нашищь то вообще свой нахер нос суешь? унизить меня так в в чем ?
1) Раскоментировать. 2) Что бы всем разослать нужно вытащить всех из базы, засунуть в массив и циклом пройтись по циклу.
Уважаемые руководители форума. Добавьте дизлайки. Ибо за совет "циклом пройтись по циклу" нужно бить по башке учебником MySQL и желательно тем у которого не менее полторы тысячи страниц, за каждую итерацию того самого цикла.
Согласен! Я за! Достали неучи которые не могут понят элементарного! P.S. Циклом по массиву - знай же!
@iiieva, для того что бы разбираться необходимо желание, что то делать, а не просто желание готового кода. Данная задача при правильной архитектуре бд решается вообще без участия PHP и всего лишь одним запросом. --- Добавлено --- Вот тут отвечал пять лет назад http://phpforum.su/index.php?showtopic=71212&hl=%F0%E0%F1%F1%FB%EB%EA%E0+%F1%EE%EE%E1%F9%E5%ED