|
|
|
|
|
для: AlinaAG
(23.07.2007 в 15:45)
| | >Честно говоря не совсем поняла...
>ссылки генерируются и создаются на основе самой страницы,
Вот эту фразу не понял уже я. Что значит на основе страницы?
Ссылки могут генерироваться как угодно.
Как в зависимости от данных так и вне.
>так каким образом будет осуществляться запрос?
Обычным. Когда пользователь нажимает на ссылку - на сервер уходит http-запрос очередной страницы. Обработчик скрипта читает входные параметры и строит в зависимости от параметров текст SQL-запроса. Отправляет SQL-запрос серверу MySQL. Получает данные. Формирует таблицу отчета и выбрасывает её браузеру, отвечая тем самым на http-запрос.
Помимо самой таблицы скрипт может добавить нужные ссылки (или кнопки) для изменения сортировки, для постраничной навигации, поля формы фильтра и пр.
Пользователь получает страницу с таблицей, со ссылками , кнопками, формами .
Процесс повторяется.
В общем я совсем запуталась =((( Объясните "на пальцах" пожалуйста=(( Где нужно указывать данные, на которые генерируется ссылка?
Ссылка генерируется не на данные а на скрипт.
В Вашем примере Вы используете переменную $PHP_SELF в которой, вероятно, лежит имя скрипта, который сгенерировал страницу с ссылкой. Поэтому в этом случае, создавать ссылки с параметрами и обрабатывать запросы с этими параметрами должен один и тот же скрипт. | |
|
|
|
|
|
|
|
для: Trianon
(23.07.2007 в 15:21)
| | Честно говоря не совсем поняла... ссылки генерируются и создаются на основе самой страницы, так каким образом будет осуществляться запрос? В общем я совсем запуталась =((( Объясните "на пальцах" пожалуйста=(( Где нужно указывать данные, на которые генерируется ссылка?
вот код из справочника, тоже не работает
<html>
<body>
<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
// display individual record
if ($id)
{
$result = mysql_query("SELECT * FROM employees WHERE id=$id",$db);
$myrow = mysql_fetch_array($result);
printf("First name: %s\n<br>", $myrow["first"]);
printf("Last name: %s\n<br>", $myrow["last"]);
printf("Address: %s\n<br>", $myrow["address"]);
printf("Position: %s\n<br>", $myrow["position"]);
}
else
{
// show employee list
$result = mysql_query("SELECT * FROM employees",$db);
if ($myrow = mysql_fetch_array($result))
{
// display list if there are records to display
do
{
printf("<a href=\"%s?id=%s\">%s %s</a><br>\n", $PHP_SELF, $myrow["id"],
$myrow["first"], $myrow["last"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
// no records to display
echo "Sorry, no records were found!";
}
}
?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: AlinaAG
(23.07.2007 в 15:10)
| | Параметры, которые Вы передаете очередному процессу обработки вызова, сами по себе ничего не значат. Их нужно учитывать при формировании текста запроса.
printf("<a href=\"%s?id=%s\">%s %s</a><br>\n", $PHP_SELF,...
означает что скрипт должен отреагировать на параметр $_GET['id']
Например так:
$sql = "SELECT * FROM school";
if(isset($_GET['id'])
$sql .= " WHERE id = ".intval( $_GET['id'] );
if(isset($_GET['order']) && $_GET['order'] == 1)
$sql .= " ORDER BY name";
echo "<hr>$sql<hr>";
$result = mysql_query($sql,$db);
while($myrow = mysql_fetch_array($result))
{
printf("<a href=\"%s?id=%s\">%s %s</a><br>\n", $PHP_SELF, $myrow["id"],$myrow["name"],
$myrow["place"]);
}
|
| |
|
|
|
|
|
|
|
для: Trianon
(23.07.2007 в 14:59)
| | Спасибо огромное!!! А код с генерирующейся ссылкой правильный? Почему-то при нажатии на него просто возвращается страница, хотя данные в базе есть.
Спасибо еще раз!! | |
|
|
|
|
|
|
|
для: AlinaAG
(23.07.2007 в 14:30)
| | Вот Ваш запрос
Его можно изменить для того, чтобы данные фильтровались:
SELECT * FROM table
WHERE placeid = 1
|
или для того, чтобы результаты сортировались
SELECT * FROM table
ORDER BY name
|
или с учетом обоих требований:
SELECT * FROM table
WHERE placeid = 1
ORDER BY name
|
Формирование конечного кода запроса - задача скрипта - обработчика формы запроса отчета.
Вид фильтра, сортировки и объема отчета указывается в форме, а обработчик формы создает по этим параметрам запрос к базе, извлекает данные и формирует таблицу отчета.
В принципе, допустимо, хотя и необязательно, чтобы генерацией формы и её обработкой занимался один и тот же скрипт. | |
|
|
|
|
|
|
|
для: cheops
(23.07.2007 в 11:39)
| | Спасибо! | |
|
|
|
|
|
|
|
для: Trianon
(23.07.2007 в 14:13)
| | CREATE TABLE `school` (
`id` text NOT NULL,
`id2` text NOT NULL,
`name` text NOT NULL,
`place` text NOT NULL,
`amount` text NOT NULL,
`lang` text NOT NULL,
`phone` text NOT NULL,
`ved` text NOT NULL,
`tel` text NOT NULL,
`net` text NOT NULL,
`placeid` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Дамп таблицы занимает ОЧЕНЬ много места =)
Вот здесь (см.ниже кусок кода) должна генерироваться ссылка, но почему-то не получается. Плюс я все еще не смогла найти как делать сортировку по параметрам. Вот кусок кода, который идеально подходит если бы работали эти сгенерированные ссылки+сортировка (фильтрация по полям)
$result = mysql_query("SELECT * FROM table",$db);
if ($myrow = mysql_fetch_array($result))
{
do
{
printf("<a href=\"%s?id=%s\">%s %s</a><br>\n", $PHP_SELF, $myrow["id"],$myrow["name"],
$myrow["place"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo "Sorry, no records were found!";
}
?> | |
|
|
|
|
|
|
|
для: AlinaAG
(23.07.2007 в 13:48)
| | Покзывайте код....
И хотелось бы все же структуру увидеть полностью - с типами полей и т.п.
Структуру можно получить на закладке Экспорт в phpMyAdmin | |
|
|
|
|
|
|
|
для: Trianon
(23.07.2007 в 13:31)
| | Я отредактировала таблицу до "нужного состояния"=) Структура примерно такая: поля:
id
id2
name
place
amount
lang
phone
ved
tel
net
placeid
это всё поля, сейчас я добилась того что у меня выводятся name и place (phone что-то глючит, но исправно) а надо чтобы данные выводились по placeid (у групп он является одинаковым как я объясняла типа у списка1 placeid равен 1 , и как бы по фильтру нужно чтобы на страницу 1 выводились данные с placeid1 и т.д... я не могу найти (честно=)) каким образом это делается.. =( | |
|
|
|
|
|
|
|
для: AlinaAG
(23.07.2007 в 13:24)
| | Тут нужно более точно представлять себе получившуюся структуру БД.
Кстати, не исключено, что копировать таблицу sql один-в-один по таблице excel - не самый удачный подход. | |
|
|
|
|