Есть база mysql в ней таблица с полями email и name. Вывожу данные на страницу. Хочу получить данные вида: Имя Почта checkbox(удаление) checkbox(отправка почты) Имя Почта checkbox(удаление) checkbox(отправка почты) Имя Почта checkbox(удаление) checkbox(отправка почты) Имя Почта checkbox(удаление) checkbox(отправка почты) Кнопка удалить Кнопка отправить почту Получается, что в одной таблице две формы, одна для удаления данных вторая для отрпавки данных. Код (Text): <?php error_reporting(E_ALL ^ E_NOTICE); include_once("config.php"); $table = "users"; $query = "SELECT DISTINCT name, email FROM $table"; $res = mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_array($res)) { Не могу сообразить как сделать вывод с чекбоксами для последующей их обработки } ?>
А зачем нотисы убрал? Забил на них? Ну может попробуешь хоть что то. Что именно тебя останавливает? Вряд ли здесь сидят телепаты...
Попробую. Решил не много переделать вывод, теперь такой вид checkbox Имя Email редактировать запись checkbox Имя Email редактировать запись checkbox Имя Email редактировать запись checkbox Имя Email редактировать запись в низу две кнопки Удалить и Отправить Вот код? не знаю на сколько он корректный. Код (Text): <?php error_reporting(E_ALL ^ E_NOTICE); include_once("config.php"); $table = "users"; $query = "SELECT * FROM $table"; $res = mysql_query($query) or die(mysql_error()); $tab1 = "<table><form method=\"POST\"><tr><td> </td><td>имя</td><td>Email</td><td>Edit</td></tr>"; while ($row = mysql_fetch_array($res)) { $tab .= "<tr>\n"; $tab .= "<td><input type=checkbox name=\"select[]\" value=".$row['id']."></td>\n"; $tab .= "<td>".$row['name']."</td>\n"; $tab .= "<td>".$row['email']."</td>\n"; $tab .= "<td><a name=\"edit\" href=\"edit.php?edit=".$row["id"]."\">Edit</a></td>\n"; $tab .= "</tr>\n"; } $tab2 = "<tr><td></td><td></td><td><input type=\"submit\" value=\"Удалить\" name=\"delete\"></td><td><input type=\"submit\" value=\"отправить\" name=\"send\"><td></tr></form></table>"; if ( isset($_POST['delete']) ) { // Удаляем записи } if ( isset($_POST['send']) ) { // Отправляем почту } ?> Нотисы убрал, чтобы они меня не отвлекали
Код (PHP): $tab .= "<tr>\n"; $tab .= "<td><input type=checkbox name=\"select[]\" value=".$row['id']."></td>\n"; $tab .= "<td>".$row['name']."</td>\n"; $tab .= "<td>".$row['email']."</td>\n"; $tab .= "<td><a name=\"edit\" href=\"edit.php?edit=".$row["id"]."\">Edit</a></td>\n"; $tab .= "</tr>\n"; Меня этот говно код всегда порожает... На какой черт делать такое?! Изврат блин.
Одной переменной хватит! Зачем ты туда штопаешь переносы строк? На какой черт делать эти слеши долбаные и портить вид?
Переносы делаю для себя, так как смотрю исходный код страницы в браузере. А если делать все в одну строчку, то будет не наглядно.
Подправил код Код (Text): <?php error_reporting(E_ALL ^ E_NOTICE); include_once("config.php"); $table = "users"; $query = "SELECT * FROM $table"; $res = mysql_query($query) or die(mysql_error()); $tab1 = "<table> <form method=\"POST\"> <tr> <td> </td> <td>имя</td> <td>Email</td> <td>Edit</td> </tr>"; while ($row = mysql_fetch_array($res)) { $tab .= "<tr> <td><input type=checkbox name=\"select[]\" value=".$row['id']."></td> <td>".$row['name']."</td> <td>".$row['email']."</td> <td><a name=\"edit\" href=\"edit.php?edit=".$row["id"]."\">Edit</a></td> </tr>"; } $tab2 = "<tr> <td></td> <td></td> <td><input type=\"submit\" value=\"Удалить\" name=\"delete\"></td> <td><input type=\"submit\" value=\"отправить\" name=\"send\"><td> </tr> </form> </table>"; if ( isset($_POST['delete']) ) { // Удаляем записи } if ( isset($_POST['send']) ) { // Отправляем почту } ?>
Код (PHP): $table='`users`'; Код (PHP): while($row=mysql_fetch_assoc($res)) { $tab.='<tr> <td><input type=checkbox name="select[]" value='.$row['id'].'></td> <td>'.$row['name'].'</td> <td>'.$row['email'].'</td> <td>[url="edit.php?edit="]Edit[/url]</td> </tr>'; }
Спасибо! Подправил код Код (PHP): <?php error_reporting(E_ALL ^ E_NOTICE); include_once('config.php'); $table = '`users`'; $query = "SELECT * FROM $table"; $res = mysql_query($query) or die(mysql_error()); $tab1 = '<table border="1"> <form method="POST"> <tr> <td> </td> <td>имя</td> <td>Email</td> <td>Edit</td> </tr>'; while ($row = mysql_fetch_array($res)) { $tab .= '<tr> <td><input type=checkbox name="select[]" value='.$row['id'].'></td> <td>'.$row['name'].'</td> <td>'.$row['email'].'</td> <td>[url="edit.php?edit='.$row['id'].'"]Edit[/url]</td> </tr>'; } $tab2 = '<tr> <td></td> <td></td> <td><input type="submit" value="Удалить" name="delete" /> <input type="submit" value="отправить" name="send" /></td> </tr> </form> </table>'; echo $tab1 . $tab . $tab2; if ( isset($_POST['delete']) ) { // Удаляем записи } if ( isset($_POST['send']) ) { // Отправляем почту } ?> Начал реализовывать ссылку Edit. Cоздал файл edit.php Код (PHP): <?php include_once('config.php'); $table = '`users`'; if(isset($_POST['submit_edit'])) { $query = "UPDATE $table SET name='".$_POST['name']."', email='".$_POST['email']."' WHERE id='".$_POST['update']."'"; mysql_query($query) or die (mysql_error()); } if (isset($_GET['edit'])) { $edit = intval($_GET['edit']); $query="SELECT * FROM $table WHERE (id='$edit')"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_num_rows($result); if($row > 0) { $row = mysql_fetch_array($result); $tab = '<form method="post" name="edit_form"> <input type="hidden" name="update" value="'.$row['id'].'" /> <table border="1"> <tr> <td colspan="2"><b><i><div id="num">id#'.$row['id'].'</b></i></td> </tr> <tr> <td>Имя:</td> <td><input type="text" value="'.$row['name'].'" name="name" /></td> </tr> <tr> <td>E-mail:</td> <td><input type="text" value="'.$row['email'].'" name="email" /></td> </tr> <tr> <td align="center"><input type="submit" name="submit_edit" value="Сохранить изменения" /></td> </tr> </table> </form> <p>[url="'.$_SERVER['HTTP_REFERER'].'"]назад[/url]</p>'; echo $tab; } } else { echo 'не известный'; } ?>
Ну и на какой этот файл нужен?) Только лишние файлы создавать. =) И данные нужно экранировать при работе с базой данных. И у вас одни Нотисы...
Подправил код, теперь Нотисов нет. Данные перед отправкой в MySql экранировал. Сделал все одним файлом. Код (PHP): <?php error_reporting(E_ALL); include_once('config.php'); $table = '`users`'; $tab=''; if(isset($_POST['submit_edit'])) { foreach($_POST as $key => $value) { $value=trim($value); if (get_magic_quotes_gpc()) $value = stripslashes($value); $value=htmlspecialchars($value); $value=mysql_real_escape_string($value); $_POST[$key]=$value; } $query = "UPDATE $table SET name='".$_POST['name']."', email='".$_POST['email']."' WHERE id='".$_POST['update']."'"; mysql_query($query) or die (mysql_error()); } if (isset($_GET['edit'])) { $edit = intval($_GET['edit']); $query="SELECT * FROM $table WHERE (id='$edit')"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_num_rows($result); if($row > 0) { $row = mysql_fetch_array($result); $tab = '<form method="post" name="edit_form"> <input type="hidden" name="update" value="'.$row['id'].'" /> <table border="1"> <tr> <td colspan="2"><b><i><div id="num">id#'.$row['id'].'</b></i></td> </tr> <tr> <td>Имя:</td> <td><input type="text" value="'.$row['name'].'" name="name" /></td> </tr> <tr> <td>E-mail:</td> <td><input type="text" value="'.$row['email'].'" name="email" /></td> </tr> <tr> <td align="center"><input type="submit" name="submit_edit" value="Сохранить изменения" /></td> </tr> </table> </form> <p>[url="edit.php"]назад[/url]</p>'; echo $tab; } else { header('Location: edit.php'); } } else { $query = "SELECT * FROM $table"; $res = mysql_query($query) or die(mysql_error()); $tab1 = '<table border="1"> <form method="POST"> <tr> <td> </td> <td>имя</td> <td>Email</td> <td>Edit</td> </tr>'; while ($row = mysql_fetch_array($res)) { $tab .= '<tr> <td><input type="checkbox" name="select[]" value="'.$row['id'].'"></td> <td>'.$row['name'].'</td> <td>'.$row['email'].'</td> <td>[url="?edit='.$row['id'].'"]Edit[/url]</td> </tr>'; } $tab2 = '<tr> <td></td> <td></td> <td><input type="submit" value="Удалить" name="delete" /> <input type="submit" value="отправить" name="send" /></td> </tr> </form> </table>'; if ( isset($_POST['delete']) and isset($_POST['select'])) { echo 'Заглушка. Нажали удалить запись'; } if ( isset($_POST['send']) and isset($_POST['select'])) { echo 'Заглушка.Нажали отправить почту'; } echo $tab1 . $tab . $tab2 ; } ?>
Добавил удаление данных Код (PHP): <?php error_reporting(E_ALL); include_once('config.php'); $table = '`users`'; $tab=''; if(isset($_POST['submit_edit'])) { foreach($_POST as $key => $value) { $value=trim($value); if (get_magic_quotes_gpc()) $value = stripslashes($value); $value=htmlspecialchars($value); $value=mysql_real_escape_string($value); $_POST[$key]=$value; } $query = "UPDATE $table SET name='".$_POST['name']."', email='".$_POST['email']."' WHERE id='".$_POST['update']."'"; mysql_query($query) or die (mysql_error()); } if (isset($_GET['edit'])) { $edit = intval($_GET['edit']); $query="SELECT * FROM $table WHERE (id='$edit')"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_num_rows($result); if($row > 0) { $row = mysql_fetch_array($result); $tab = '<form method="post" name="edit_form"> <input type="hidden" name="update" value="'.$row['id'].'" /> <table border="1"> <tr> <td colspan="2"><b><i><div id="num">id#'.$row['id'].'</b></i></td> </tr> <tr> <td>Имя:</td> <td><input type="text" value="'.$row['name'].'" name="name" /></td> </tr> <tr> <td>E-mail:</td> <td><input type="text" value="'.$row['email'].'" name="email" /></td> </tr> <tr> <td align="center"><input type="submit" name="submit_edit" value="Сохранить изменения" /></td> </tr> </table> </form> <p>[url="edit.php"]назад[/url]</p>'; echo $tab; } else { header('Location: edit.php'); } } else { $query = "SELECT * FROM $table"; $res = mysql_query($query) or die(mysql_error()); $tab1 = '<table border="1"> <form method="POST"> <tr> <td> </td> <td>имя</td> <td>Email</td> <td>Edit</td> </tr>'; while ($row = mysql_fetch_array($res)) { $tab .= '<tr> <td><input type="checkbox" name="select[]" value="'.$row['id'].'"></td> <td>'.$row['name'].'</td> <td>'.$row['email'].'</td> <td>[url="?edit='.$row['id'].'"]Edit[/url]</td> </tr>'; } $tab2 = '<tr> <td></td> <td></td> <td><input type="submit" value="Удалить" name="delete" /> <input type="submit" value="отправить" name="send" /></td> </tr> </form> </table>'; if ( isset($_POST['delete']) and isset($_POST['select'])) { foreach($_POST['select'] as $del) { $query = "delete from $table where (id='$del')"; mysql_query($query) or die(mysql_error()); } header('Location: edit.php'); } if ( isset($_POST['send']) and isset($_POST['select'])) { echo 'Заглушка.Нажали отправить почту'; } echo $tab1 . $tab . $tab2 ; } ?>