Вход на сайт
данные MySQL представить в виде HTML-таблицы
12.08.09 15:31
вобщем хелп! Сижу над задачей: данные из MySQL-таблицы необходимо представить в виде HTML-таблицы. К полученной таблице добавить дополнительную колонку (пока без данных). Вот в этой дополнительной пустой колонке и заключается весь гемморой - не могу правильно вставить тэги в код.
Пытался решить двумя путями:
1.Вариант
Пытался решить двумя путями:
1.Вариант
<html>
<head>
<title>Liste</title>
</head>
<body>
<?php
$db = @new mysqli('localhost', 'root', '', 'logindb');
if (mysqli_connect_errno()) {
die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error());
}
$query = (
"SELECT
user AS Benutzer,
recht AS Rechte
FROM
users
");
$result = $db->query($query);
if (!$result) {
die ('Etwas stimmte mit dem Query nicht: '.$db->error);
}
echo "<table border='1'>";
while ($row = $result->fetch_assoc()) {
echo "<tr>";
foreach ($row as $key => $val) {
printf('<td class="%s">%s</td>', $key, $val);
}
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
----------
2.Вариант
// только без <html>,<body>тэгов и SQL
$result = mysql_query($query) or die (mysql_error());
$columns = mysql_num_fields($result);
echo "<table border='1'>";
while ($row = mysql_fetch_array($result)){
echo "<tr>";
for($i = 0; $i<$columns; $i++){
echo "<td>";
echo $row[$i];
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
?>
NEW 12.08.09 16:05
Спасибо! Всё так просто 
А непонятки с описанием и стиль это от того, что мозг уже дымится!
Так-с, код претерпел некоторые изменения

А непонятки с описанием и стиль это от того, что мозг уже дымится!

Так-с, код претерпел некоторые изменения
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Benutzerliste</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php
session_start();
require("connect.inc.php");
$query = (
"SELECT
user AS Benutzer,
vorname AS Vorname,
nachname AS Nachname
FROM
users
");
$result = mysql_query($query) OR DIE (mysql_error());
$columns = mysql_num_fields($result);
$row = mysql_fetch_assoc($result);
$ueberschrift = array_keys($row);
echo "<table width='300' bgcolor='#e7e7e7' border='1' cellpadding='5' cellspacing='1' align='center'>";
echo "<tr>";
for ($h=0; $h<$columns; $h++){
echo "<th>".$ueberschrift[$h]."</th>";
}
echo "<th>Edit</th>";
echo "</tr>";
while ($row = mysql_fetch_array($result)){
echo "<tr>";
for($i = 0; $i<$columns; $i++){
echo "<td>".$row[$i]."</td>";
}
echo "<td align='center'><input type='submit' name='submit' value='<--'></td>";
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
и табличка готова:
----------
теперь необходимо через button сделать редирект на следующую страницу user_edit.php, где можно было бы редактировать данные юзверей. Затруднение вызывает следующий момент:
- как передать выбранный параметр на следующую страницу? Т.е., предположим, некто нажал первую сверху кнопку (напротив 'erster_benutzer' 'Andre' 'Steiner') и перешёл на страницу user_edit.php. Средствами пхп тут уже, видимо, не обойтись, т.к. это будет работать на стороне клиента? Или я ошибаюсь? Остаётся только JavaScript?
NEW 14.08.09 16:06
вот, умные люди советуют сделать так:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Benutzerliste</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script language="JavaScript" type="text/javascript">
function edit(param) {
alert(param);
}
</script>
</script>
</head>
<body>
<?php
session_start();
require("connect.inc.php");
$query = (
"SELECT
user AS Benutzer,
vorname AS Vorname,
nachname AS Nachname
FROM
users
");
$result = mysql_query($query) OR DIE (mysql_error());
$columns = mysql_num_fields($result);
$row = mysql_fetch_assoc($result);
$ueberschrift = array_keys($row);
echo "<table width='300' bgcolor='#e7e7e7' border='1' cellpadding='5' cellspacing='1' align='center'>";
echo "<tr>";
for ($h=0; $h<$columns; $h++){
echo "<th>".$ueberschrift[$h]."</th>";
}
echo "<th>Edit</th>";
echo "</tr>";
$count = 0;
while ($row = mysql_fetch_array($result)){
echo "<tr id = $count name = $count>";
for($i = 0; $i<$columns; $i++){
echo "<td>".$row[$i]."</td>";
}
echo "<td align='center'><a href='edit_user.php'><input type='button'value='<--' onclick='javascript:edit($count)'></a></td>";
echo "</tr>";
$count++;
}
echo "</table>";
?>
</body>
</html>
как отловить переданный параметр на следующей странице? Я в JS ни в зуб ногой
NEW 15.08.09 13:44
в ответ Murr 14.08.09 21:41
Ключ-айдентити удобнее использовать в операциях сравнения, поиска и т. д. Логин же в свою очередь также уникален, иначе нет однозначности при определении того же ключа. Пользователь же вводит не ключ, а логин.
Так что, если нет ключа, то и логин подойдет. А каким местом это впоследствии обернется мне по боку. Задача состояла не в этом.
Так что, если нет ключа, то и логин подойдет. А каким местом это впоследствии обернется мне по боку. Задача состояла не в этом.
NEW 15.08.09 14:08
в ответ NightWatch 15.08.09 13:44
Ключ-айдентити удобнее использовать в операциях сравнения, поиска и т. д.
------
Ну или для прозрачной декриптовки персонального фолдера пользователя. Какой-нибудь такой 2-10Кб ключик-идентити, который не должен быть таким же, после удаления и пересоздания логина...
А каким местом это впоследствии обернется мне по боку.
------
Хммм... Мне тоже. Потому либо порекомендую как сделать правильно, с учетом имеющегося опыта, либо воздержусь от сурогата. Пока вижу, что почвы для рекомендаций нет.
------
Ну или для прозрачной декриптовки персонального фолдера пользователя. Какой-нибудь такой 2-10Кб ключик-идентити, который не должен быть таким же, после удаления и пересоздания логина...
А каким местом это впоследствии обернется мне по боку.
------
Хммм... Мне тоже. Потому либо порекомендую как сделать правильно, с учетом имеющегося опыта, либо воздержусь от сурогата. Пока вижу, что почвы для рекомендаций нет.
NEW 15.08.09 16:19
Ты же предлагаешь клиенту купить швейцарский нож, когда ему необходимо одно лишь лезвие. И нафига ему платить за все оставльное, чем он не будет пользоваться?
в ответ Murr 15.08.09 15:52
В ответ на:
Но это не суть важно
Это как раз важно. Так как от требований зависит реализация. Для двух табличек и 6 юзеров такик навороты с дикими ключами для шифрации папок, которых и не существует в природе, просто не нужны.Но это не суть важно
В ответ на:
Важно, что стоимость имеплементации обоих вариантов практически одинакова, а второй - гибче и полностью покрывает первый. Вот то, что не сделали сразу - минус разработчикам.
А мне платят за часы. И я делаю то, что говорит заказчик. Не больше и не меньше. Если заказчик меняет требования, без проблем - сделаю. Лишние часы не помешают.Важно, что стоимость имеплементации обоих вариантов практически одинакова, а второй - гибче и полностью покрывает первый. Вот то, что не сделали сразу - минус разработчикам.
Ты же предлагаешь клиенту купить швейцарский нож, когда ему необходимо одно лишь лезвие. И нафига ему платить за все оставльное, чем он не будет пользоваться?