Неровно выводится таблица.
Привет, есть код вывода данных с бд в таблицу, так-же туда хочу присобачить редактор 1-го поля. Но почему-то криво выходит. Криво делать через блок и смещение очень не хочется, надеюсь тут помощи найду.
Вот скрин: http://prntscr.com/l9j6wb <!doctype html> <meta charset="UTF-8"/> <head> <title>Админ-панель</title> </head> <body> <?php $host="localhost"; //хост $user=""; //пользователь $pass=""; //установленный вами пароль $db_name=""; //название бд $link=mysql_connect($host,$user,$pass); //коннектимся mysql_select_db($db_name,$link); //выбираем БД if (isset($_GET['del_id'])) { //проверяем, есть ли переменная на удаление $sql = mysql_query('DELETE FROM `users` WHERE `ID` = '.$_GET['del_id']); //удаляем строку из таблицы } ?> <table border='1'> <tr> <td>ID</td> <td>Имя</td> <td>Фамилия</td> <td>Лет в штате</td> <td>Бывшие орг.</td> <td>Биография</td> <td>Телефон</td> <td>Пасспорт</td> <td>OOC Имя</td> <td>OOC Возраст</td> <td>Онлайн</td> <td>Час. пояс</td> <td>Дискорд</td> <td>Должность</td> </tr> <? $sql = mysql_query("SELECT `id`, `name`, `surname`, `age`, `org`, `bio`, `phn`, `pass`, `oname`, `oage`, `onl`, `time`, `disc`, `role`, `uss` FROM `users`", $link); while ($result = mysql_fetch_array($sql)) { echo '<tr><td>'.$result['id'].'</td>'. '<td>'.$result['name'].'</td>'. '<td>'.$result['surname'].' </td>'. '<td>'.$result['age'].' </td>'. '<td>'.$result['org'].' </td>'. '<td>'.$result['bio'].' </td>'. '<td>'.$result['phn'].' </td>'. '<td>'.$result['pass'].' </td>'. '<td>'.$result['oname'].' </td>'. '<td>'.$result['oage'].' </td>'. '<td>'.$result['onl'].' </td>'. '<td>'.$result['time'].' </td>'. '<td>'.$result['disc'].' </td>'. '<td>'.$result['role'].' </td>'. '<td>'.$result['uss'].' </td>'. '<td><a href="?del_id='.$result['id'].'">Удалить</a></td>'; } ?> <? /* Соединяемся с базой данных */ $hostname = "localhost"; // название/путь сервера, с MySQL $username = "a0242202_12"; // имя пользователя (в Denwer`е по умолчанию "root") $password = "345850"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым) $dbName = "a0242202_12"; // название базы данных /* Таблица MySQL, в которой хранятся данные */ $table = "users"; /* Создаем соединение */ mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение"); /* Выбираем базу данных. Если произойдет ошибка - вывести ее */ mysql_select_db($dbName) or die (mysql_error()); /* Если была нажата кнопка редактирования, вносим изменения */ if(@$_POST['submit_edit']) { $query = "UPDATE $table SET name='{$_POST['name']}' WHERE id='{$_POST['update']}'"; /* Выполняем запрос. Если произойдет ошибка - вывести ее. */ mysql_query($query) or die (mysql_error()); } /* Заносим в переменную $res всю базу данных */ $query = "SELECT * FROM $table"; @mysql_query ("set character_set_results='utf8'"); @mysql_query ("set character_set_results='utf8'"); @mysql_query ("set collation_connection='utf8_general_ci'"); /* Выполняем запрос. Если произойдет ошибка - вывести ее. */ $res = mysql_query($query) or die(mysql_error()); /* Узнаем количество записей в базе данных */ $row = mysql_num_rows($res); /* Выводим данные из таблицы */ echo (" <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\"> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf8\" /> <style type=\"text/css\"> body { font: 12px Georgia; color: #666; } h3 { font-size: 16px; text-align: center; } table1 { width: 400px; border-collapse: collapse; background: #E6E6E6; margin-right: 155px;} td { padding: 3px; vertical-align: middle; } input { width: 250px; border: solid 1px #CCC; color: #FF6666; } textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; } .buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; } #num { width: 20px; text-align: right; margin-right: 5px; float: right; } </style> </head> <body> "); ?> <div style="width: 300px; margin: 0 auto; margin-right: 10%;"> <? /* Цикл вывода данных из базы конкретных полей */ while ($row = mysql_fetch_array($res)) { echo "<form action=\"\" method=\"post\" name=\"edit_form\">"; echo "<input type=\"hidden\" name=\"update\" value=\"".$row["id"]."\"/>"; echo "<td><input type=\"text\" value=\"".$row['name']."\" name=\"name\"/>"; echo "<a><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></a><br></td></tr></table>"; echo "</form>"; } /* Закрываем соединение */ mysql_close(); /* Выводим ссылку возврата */ echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"show.php\">Вернуться назад</a></div>"); ?> </div> </body> </html> |
А от JS вам чего надо? Это все серверный код, причем с нехорошей логикой. А тут что такое может произойти, что засобачена переменная - if(@$_POST['submit_edit']) ? И ошибки базы выводят только в режиме отладки.
А "почему-то криво выходит" от того, что заголовок таблицы содержит 14 ячеек, а вывод табличных данных в 16 ячеек. |
Часовой пояс GMT +3, время: 00:02. |