|
|
|
| Вопрос следующего характера. Имеется таблица в базе данных с некоторыми полями. Имеется файл, содержащий в себе таблицу html с определенными ячейками. Вопрос: необходимо сделать запрос в каждую ячейку каждой из строк по каждому столбцу и записать в ячейки html таблицы.
У меня лишь получается выбрать все данные из таблицы полностью строкой.
<html><body><table border=1>
<?php
require ("db_login.php");
db_connect();
$data = 0;
//выберем данные
$result=mysql_query("SELECT table_users.ip, user.login, table_users.data_time
FROM table_users, user
WHERE table_users.id_user = user.id_user") or die("Не верные данные ".mysql_error());
//сформируем заголовок таблицы результатов выборки
$th=explode("#","login#ip#data_time");
echo "<tr><th>",implode("</th><th>",$th),"</th></tr>";
//выведем результаты в HTML-дакумент
while($data=mysql_fetch_row($result))
{
echo "<tr><td>", implode("</td><td>",$data), "</td></tr>";
}
//освободить выбранную под результат выборки память
mysql_free_result($result);
?>
</table></body></html>
Но необходимо как-то сохранять данные из этой строки в переменные и записывать в ячейки - как?
Вот листинг файла с примером таблицы:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Table for the users</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form name="form1" method="post" action="">
<table align="center" width="60%" border="1" cellspacing="1" cellpadding="1">
<tr>
<th width="20%" height="52" scope="col">Логин</th>
<th width="20%" scope="col">IP-адрес</th>
<th width="20%" scope="col">Регистрация</th>
<th width="15%" scope="col">Режим</th>
<th width="15%" scope="col"><input type="submit" align="top" name="Submit" value="Удаление"></th>
<th width="15%" scope="col"><p>
<input type="submit" align="top" name="Submit2" value=" Права ">
</p>
<p>
<select name="rights1">
<option selected> Магистр </option>
<option> Бакалавр </option>
<option> Студент </option>
</select>
</p></th>
</tr>
<tr>
<td height="35"> </td>
<td> </td>
<td> </td>
<td> </td>
<td>
<input align="absbottom" type="checkbox" name="checkbox" value="chb_d1"></td>
<td>
<input align="absbottom" type="checkbox" name="checkbox" value="chb_r1"></td>
</tr>
<tr>
<td height="35"> </td>
<td> </td>
<td> </td>
<td> </td>
<td>
<input align="absbottom" type="checkbox" name="checkbox" value="chb_d2"></td>
<td>
<input align="absbottom" type="checkbox" name="checkbox" value="chb_r2"></td>
</tr>
<tr>
<td height="35"> </td>
<td> </td>
<td> </td>
<td> </td>
<td>
<input align="absbottom" type="checkbox" name="checkbox" value="chb_d3"></td>
<td>
<input align="absbottom" type="checkbox" name="checkbox" value="chb_r3"></td>
</tr>
</table>
<table align="center" width="60%" border="1" cellspacing="1" cellpadding="1">
<tr>
<th scope="col"> </th>
</tr>
</table>
</form>
</body>
</html>
Подскажите, хотя бы, где об этом почитать...
|
| |
|
|
|
|
|
|
|
для: Денис
(05.04.2005 в 00:19)
| | Не очень понятно, что следует сделать? Вы хотите разобрать HTML-файл, содержащий таблицу и содержимое ячеек поместить в базу данных? | |
|
|
|
|
|
|
|
для: cheops
(05.04.2005 в 00:50)
| | нет. необходимо передать данные из таблицы в базе данных в таблицу HTML, только не всей строкой записать, а по отдельным элементам, например, в базе данных в таблице есть поля id_user и user, login и есть таблица html (конечно же, этот файл с расширением php), в которой есть поля "Логин" и "Пароль" - и необходимо занести содержимое из ячейки user в базе данных в ячейку "Логин" и т.д. | |
|
|
|
|
|
|
|
для: Денис
(05.04.2005 в 00:59)
| | Вы можете организовать в цикле двумерный массив $arr, а затем использовать его для формирования HTML-формы
<?php
require ("db_login.php");
db_connect();
$data = 0;
//выберем данные
$result=mysql_query("SELECT table_users.ip AS ip, user.login AS login, table_users.data_time AS data_time
FROM table_users, user
WHERE table_users.id_user = user.id_user") or die("Не верные данные ".mysql_error());
//сформируем заголовок таблицы результатов выборки
$th=explode("#","login#ip#data_time");
echo "<tr><th>",implode("</th><th>",$th),"</th></tr>";
//выведем результаты в HTML-дакумент
$i = 0;
while($data=mysql_fetch_row($result))
{
$arr[$i]['ip'] = $data['ip'];
$arr[$i]['login'] = $data['login'];
$arr[$i]['data_time'] = $data['data_time'];
$i++;
}
//освободить выбранную под результат выборки память
mysql_free_result($result);
?>
|
Или имеется ввиду что-то другое? | |
|
|
|
|
|
|
|
для: cheops
(05.04.2005 в 01:15)
| | Спасибо, навели на мысль :) Теперь буду думать, как вывести в ячейках необходимые данные из этого массива. Большое спасибо. | |
|
|
|
|
|
|
|
для: Денис
(05.04.2005 в 01:48)
| | В принципе, все верно, но есть одна неточность из - за которой ваш пример не заработал. Вот правильный вариант:
$query=mysql_query("SELECT table_users.ip IP, user.login LOGIN, table_users.data_time REGISTER
FROM table_users, user
WHERE table_users.id_user = user.id_user") or die("Не верные данные".mysql_error());
$i=0;
while($data=mysql_fetch_array($query))
{
$arr[$i]['ip'] = $data['IP'];
$arr[$i]['login'] = $data['LOGIN'];
$arr[$i]['data_time'] = $data['REGISTER'];
$i++;
}
|
Спасибо за наводку :) | |
|
|
|