|
|
|
| Здравствуйте, уважаемые!
Мой вопрос:
Есть таблица в базе данных, делаю страницу с кратким содержанием, используя только 3 столбца из 8 типа:
Маша Иванова Москва 18 лет подробнее
Саша Пертов Израиль 3 года подробнее
нажимаю подробнее и должно из этой же таблицы открыться и все данные именно по данному человеку.
Если не понятно объяснил:
проблема в том что не могу понять какс данной страницы передать id_catalog на внутреннюю и извлечь данные повторно из этой же таблыцы, только уже полностью и только по данному id.. | |
|
|
|
|
|
|
|
для: newcold
(06.12.2008 в 14:53)
| | Через метод _GET, например anketa.php?id=1
<?
mysql_query("SELECT id, first_name, last_name FROM clients WHERE id='$_GET[id]'");
?>
|
| |
|
|
|
|
|
|
|
для: newcold
(06.12.2008 в 14:53)
| | Немного непонятно обьяснили..
Если вы хотите вторую таблицу сформировать без повторного обращения к базе... то никак.
Можно конечно извлечь все данные из базы и сохранить в сессии, а при "подробнее" выдёргивать их оттуда... но не делайте так!!!
у вас должно быть две разные страницы, два разных обращения к базе и следовательно два различных запроса. Примерно так как вам и посоветовали в предыдущем посте.
<?
mysql_query("SELECT * FROM `clients` WHERE id=`$id`");
?>
|
Естественно принять переменную методом GET и предварительно обработав её уже передать в запрос. | |
|
|
|
|
|
|
|
для: Valick
(06.12.2008 в 15:29)
| | попрбуй считать не 3 столбца, а 4 (id тоже), и в ссылку на подробнее передай значение этого самого id получится так:
<a href="имя_файла?id=$id">подробнее</a>
|
ну и в обработчике уже получается как у Valick
<?
mysql_query("SELECT * FROM `clients` WHERE id=`$id`");
?>
|
| |
|
|
|
|
|
|
|
для: dimm_kz
(07.12.2008 в 19:50)
| | Спасибо всем! я так и думал, только сформулировать не мог, ща буду пробовать.. | |
|
|
|
|
|
|
|
для: newcold
(08.12.2008 в 13:24)
| | id не передается на следующую страницу.. | |
|
|
|
|
|
|
|
для: newcold
(13.01.2009 в 20:33)
| | Первая страница:
<?
{
// Установка соединения с базой данных
require_once("config/config.php");
// Формируем SELECT-запрос
$query = "SELECT * FROM cars";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка");
while($catalog = mysql_fetch_array($cat))
{
echo "<a href=klient.php?id_cars=".$catalog['id_cars'].">".$catalog['fio']."</a><br>";
}
}
?>
|
Обработчик (klient.php):
<?
{
// Установка соединения с базой данных
require_once("config/config.php");
// Формируем SELECT-запрос
$query = "SELECT * FROM cars
WHERE id_cars=".$catalog['id_cars']."";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка");
while($catalog = mysql_fetch_array($cat))
{
echo $catalog['made_in'];
}
}
?>
|
| |
|
|
|
|
|
|
|
для: newcold
(13.01.2009 в 20:45)
| | На первой странице всё работает. выдает список, я нажимаю, переходит на обработчик (в адресной строке пишет правильный id) и пишет "Ошибка!"
Подскажите как мне передать правильно id_cars... | |
|
|
|
|
|
|
|
для: newcold
(13.01.2009 в 20:53)
| | Первый раз вы получили все скопом (без всяких условий) - это одно, второй раз вы уже должны проверять поступление GET-запроса, и если он пришел, то делать к базе запрос только по интересующему прользователю WHERE id =". intval(GET['id_cars']) | |
|
|
|
|
|
|
|
для: sim5
(13.01.2009 в 20:59)
| |
<?
{
// Установка соединения с базой данных
require_once("config/config.php");
// Формируем SELECT-запрос
$query = "SELECT * FROM cars";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка");
while($catalog = mysql_fetch_array($cat))
{
echo "<a href=klient.php?id_cars=".$catalog['id_cars'].">".$catalog['fio']."</a><br>";
}
}
$catalog['id_cars']=$_GET['id_cars'];
?>
| так? не катит.. | |
|
|
|
|
|
|
|
для: newcold
(13.01.2009 в 20:45)
| | в файле klient.php переменная $catalog не определена.
ответ aleksej_sumarok (06.12.2008 в 15:16) Вы не читали. Почему? | |
|
|
|
|
|
|
|
для: Trianon
(13.01.2009 в 21:00)
| | Я его понял, но не понял как передать get запрос.. | |
|
|
|
|
|
|
|
для: newcold
(13.01.2009 в 21:06)
| | А обработчик делаю так:
<?
{
// Установка соединения с базой данных
require_once("config/config.php");
// Формируем SELECT-запрос
$query = "SELECT * FROM cars
WHERE id_cars=".$_GET['id_cars']."";
$cat = mysql_query($query);
if(!$cat) exit("Ошибка");
while($catalog = mysql_fetch_array($cat))
{
echo $catalog['made_in'];
}
}
?>
|
| |
|
|
|
|
|
|
|
для: newcold
(13.01.2009 в 21:11)
| | Спасибо всем!
Я Алень! | |
|
|
|
|
|
|
|
для: newcold
(13.01.2009 в 21:11)
| |
<?
"...WHERE id_cars='".intval($_GET['id_cars'])."'";
|
| |
|
|
|