Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Как в новостях развернуть "подробности" на другой странице?

Обсуждение темы Как в новостях развернуть "подробности" на другой странице? в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Есть файл на php , вывожу в нем из базы табличку с данными , кроме одного поля в котором находится подробная информация по ...


Закрытая тема
 
Опции темы
Старый 31.01.2010, 21:43   #1
Есть файл на php , вывожу в нем из базы табличку с данными , кроме одного поля в котором находится подробная информация по новости. Как мне вывести на другую страницу текущую подробность?

Код:
//Проверяем наличие новостей  
...
if(mysql_num_rows($Q1) >0) {
while($r = mysql_fetch_array($Q1)) { ?>  

  <tr bgcolor="#F7F7F7">
  <td >&nbsp;<?= $r['id'];?></td>
    <td >&nbsp;<?= substr($r['data1'],6,2);?>.<?=substr($r['data1'],4,2);?>.<?=substr($r['data1'],0,4);?></td>

...

       <td >&nbsp;<?= $r['cena'];?></td>
    <td >&nbsp;<?= $r['adress'];?></td>
    <td >&nbsp;<?= $r['kontakt'];?></td>
    <td ><a href="podrobn2.php"><img src="/images/add.png" alt="center" border="0" /></a></td>
  </tr> <?php } echo '</table>';}
...
Как в "podrobn2.php" можно передать $r['podrobn'] из этой строки бд?
 
Старый 31.01.2010, 21:43
Ссылки
Старый 31.01.2010, 23:29   #2
vt-aas, строкой GET передаете id новости и на новой странице уже выводите только текст новости.

SELECT * FROM news WHERE id='$_GET[id]'

Вот так.
 
Старый 01.02.2010, 13:10   #3
Цитата:
Сообщение от Nielson Посмотреть сообщение
vt-aas, строкой GET передаете id новости и на новой странице уже выводите только текст новости.

SELECT * FROM news WHERE id='$_GET[id]'

Вот так.
спасибо за ответ, только мне не понятно как это "строкой GET передать id" , не могли бы вы ЭТО написать, а то что то совсем туго ...
 
Старый 01.02.2010, 13:24   #4
Код:
<a href="www.site.ru?id=<?=$row[id]?>">ссылка на новость</a>
 
Этот пользователь сказал спасибо Nielson за это полезное сообщение:
Вертер (05.02.2010)
Старый 01.02.2010, 13:29   #5
Есть два способа отправить данные из html формы. Методом post и методом get. Если ты отправляешь через post, то переменные записываются в массив $_POST, если через get, то в массив $_GET. А также записываются в адресную строку. Типа www.mysite.com?id=var .
 
Старый 01.02.2010, 14:00   #6
Цитата:
Сообщение от DStereo Посмотреть сообщение
Есть два способа отправить данные из html формы. Методом post и методом get. Если ты отправляешь через post, то переменные записываются в массив $_POST, если через get, то в массив $_GET. А также записываются в адресную строку. Типа www.mysite.com?id=var .
вы поспешили наверно с ответом, мне нужно из php в php и глобальные переменные почему то не работают, вот и понять не могу как предать данные на другую страницу

Добавлено через 4 минуты

Цитата:
Сообщение от Nielson Посмотреть сообщение
Код:
<a href="www.site.ru?id=<?=$row[id]?>">ссылка на новость</a>
прекрасно работает и id передается на друггую страницу, но не моргу написать код запроса, посмотрите пожалуйста в чем может быть ошибка.

Код:
<?php
$Q3 = mysql_query("SELECT * FROM konkurs WHERE id='$_GET[id]'");
//Проверяем наличие новостей  
if(mysql_num_rows($Q3) >0) {
$r1 = mysql_fetch_array($Q3);}
?>
...

 <td ><?= $r1['podrobn'];?></td>
....

Последний раз редактировалось Вертер; 01.02.2010 в 14:00.. Причина: Добавлено сообщение
 
Старый 01.02.2010, 14:20   #7
Цитата:
Сообщение от vt-aas Посмотреть сообщение
вы поспешили наверно с ответом, мне нужно из php в php и глобальные переменные почему то не работают, вот и понять не могу как предать данные на другую страницу

Добавлено через 4 минуты



прекрасно работает и id передается на друггую страницу, но не моргу написать код запроса, посмотрите пожалуйста в чем может быть ошибка.

Код:
<?php
$Q3 = mysql_query("SELECT * FROM konkurs WHERE id='$_GET[id]'");
//Проверяем наличие новостей  
if(mysql_num_rows($Q3) >0) {
$r1 = mysql_fetch_array($Q3);}
?>
...

 <td ><?= $r1['podrobn'];?></td>
....


$Q3 = mysql_query("SELECT * FROM konkurs WHERE id='$_GET[id]'");

заменить на

PHP код:
$Q3 mysql_query("SELECT * FROM konkurs WHERE id={$_GET['id']}"); 
причем сначала проверяйте что передается в id, чтобы избежать SQL-инъекций.

например так
PHP код:
if (isset($_GET['id']) and is_numeric($_GET['id']))
  
$Q3 mysql_query("SELECT * FROM konkurs WHERE id={$_GET[id]}");
else
  die (
'Нет такой новости'); 
 
Старый 01.02.2010, 14:30   #8
Код:
$Q3 = mysql_query("SELECT * FROM konkurs WHERE id={$_GET[id]}");
большое спасибо за ответ, результат где то близко, почему то ругается на синтаксис в этой строке - эта часть
Код:
id={$_GET[id]}");
правильная или что то тут не так?
 
Старый 01.02.2010, 14:36   #9
Цитата:
Сообщение от vt-aas Посмотреть сообщение
Код:
$Q3 = mysql_query("SELECT * FROM konkurs WHERE id={$_GET[id]}");
большое спасибо за ответ, результат где то близко, почему то ругается на синтаксис в этой строке - эта часть
Код:
id={$_GET[id]}");
правильная или что то тут не так?

PHP код:
... id={$_GET['id']}"); 
просто тут съедаются апострофы, т.е. элемент массива $_GET должен быть в апострофах (одиночные кавычки)
 
Этот пользователь сказал спасибо phpprogs за это полезное сообщение:
Вертер (05.02.2010)
Старый 01.02.2010, 15:02   #10
Спасибо огромное всем, все заработало, еще шажок вперед!!!
 
Старый 01.02.2010, 15:02
Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Тарифный план «Lite»
Место: 1000 Мб
Трафик: неограниченный
Панель управления
Заказать ТП «Lite»
Тарифный план «Normal»
Место: 2000 Мб
Трафик: неограниченный
Поддержка скриптов
Заказать ТП «Normal»
Тарифный план «Profy»
Место: 7000 Мб
Трафик: неограниченный
Поддержка скриптов
Заказать ТП «Profy»
Тарифный план «Места хватит!»
Место: 25 ГБ
Трафик: неограниченный
Поддержка SSI, ssh
Заказать ТП «Места хватит!»
Дизайнерский форум