Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вывести из списка одно объявление
Форумы портала PHP.SU » » Вопросы новичков » Вывести из списка одно объявление

Страниц (1): [1]
 

1. pava77 - 27 Марта, 2013 - 14:51:48 - перейти к сообщению
Есть база объявлений в msql. Все объявления вывожу циклом. Как сделать ссылку на конкретное объявление, и как должен выглядеть запрос что бы открыть одно конкретное объявление? Ниже пример
PHP:
скопировать код в буфер обмена
  1.  
  2. function selectAll (){
  3.                 $sql = "SELECT * FROM obyavi";
  4.                 $result = mysql_query($sql) or die (mysql_error());
  5.                 return $result;
  6.                                 }
  7. <?PHP
  8. $id = $_GET['id'];
  9.         $result = selectAll();
  10.         while ($row = mysql_fetch_assoc($result)) {
  11.         ?>
  12. <table border="1" cellpadding="5" cellspacing="0" width="500px">
  13.         <tr><td><a href="obyava.php?id=<?PHP echo $row["id"]?>"><?PHP echo $row["title"] ?></a></td></tr>
  14.                 <tr><td><?PHP echo $row["description"] ?></td></tr>
  15.                 <tr><td><?PHP echo $row["price"] ?></td></tr>
  16.                 <tr><td><?PHP echo $row["oblast"] ?></td></tr>
  17.                
  18.         </tr>
  19. </table>
  20. <?PHP
  21.         }
  22.        
  23. ?>
  24.  
2. vanicon - 27 Марта, 2013 - 14:59:37 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo '<a href="post.php?'.$row['id'].'">'.$row['title'].'</a>';

А на странице post.php запрос на выборку:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM obyavi WHERE `id` = '$id'
3. esterio - 27 Марта, 2013 - 15:06:41 - перейти к сообщению
И незабываем про
4. pava77 - 27 Марта, 2013 - 15:13:42 - перейти к сообщению
vanicon пишет:
PHP:
скопировать код в буфер обмена
  1. echo '<a href="post.php?'.$row['id'].'">'.$row['title'].'</a>';

А на странице post.php запрос на выборку:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM obyavi WHERE `id` = '$id'

а после post.php? "id=" не нужно ставить? и так и так не получаеться
5. vanicon - 27 Марта, 2013 - 15:39:17 - перейти к сообщению
esterio пишет:
И незабываем про

Ну предполагается что id уникальный в таблице
pava77 пишет:
а после post.php? "id=" не нужно ставить? и так и так не получаеться

Нужно, вот:
PHP:
скопировать код в буфер обмена
  1. echo '<a href="post.php?id='.$row['id'].'">'.$row['title'].'</a>';
6. pava77 - 27 Марта, 2013 - 15:40:34 - перейти к сообщению
а после post.php? "id=" не нужно ставить? и так и так не получаеться
7. vanicon - 27 Марта, 2013 - 15:44:13 - перейти к сообщению
pava77 пишет:
а после post.php? "id=" не нужно ставить? и так и так не получаеться

Код в студию Хм
8. pava77 - 27 Марта, 2013 - 15:47:07 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. function selectAll (){
  4.                 $sql = "SELECT * FROM obyavi";
  5.                 $result = mysql_query($sql) or die (mysql_error());
  6.                 return $result;
  7.                                 }
  8. $id = $_GET['id'];
  9.         $result = selectAll();
  10.         while ($row = mysql_fetch_assoc($result)) {
  11.         ?>
  12. <table border="1" cellpadding="5" cellspacing="0" width="500px">
  13.         <tr><td><a href="obyava.php?id=<?PHP echo $row["id"]?>"><?PHP echo $row["title"] ?></a></td></tr>
  14.                 <tr><td><?PHP echo $row["description"] ?></td></tr>
  15.                 <tr><td><?PHP echo $row["price"] ?></td></tr>
  16.                 <tr><td><?PHP echo $row["oblast"] ?></td></tr>
  17.                
  18.         </tr>
  19. </table>
  20. <?PHP
  21.         }
  22.        
  23. ?>
  24.  

ето вывод всех объяв, а как вывести одно объявление? и что бы переходить на него со ссылки передаваемой его id
9. vanicon - 27 Марта, 2013 - 15:50:28 - перейти к сообщению
obyava.php
PHP:
скопировать код в буфер обмена
  1. $id = (int)$_GET['id'];
  2. $sql = "SELECT * FROM obyavi WHERE `id` = '$id'";
  3. $result = mysql_query($sql) or die (mysql_error());
  4. while ($row = mysql_fetch_assoc($result)){
  5. var_dump($row);
  6. }
  7.  
10. pava77 - 27 Марта, 2013 - 16:01:00 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <a href="obyava.php?id=<?PHP echo $row["id"]?>"><?PHP echo $row["title"] ?></a>
ето без изменений?
всеравно не получаеться, мож сам код в obyava.php неправельный
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.        
  4.            
  5.         $result = Obyava();
  6.         while ($row = mysql_fetch_assoc($result)){
  7.         var_dump($row);
  8.        
  9.        
  10. ?>
  11. <table width="500px" align="center" border="1">
  12. <tr>
  13. <td><h1><?PHP echo $row["title"] ?></h1></td>
  14. </tr>
  15. <tr>
  16. <td><?PHP echo $row["description"] ?></td>
  17. </tr>
  18. <table width="500px" align="center" border="1">
  19. <tr>
  20. <td width="100px">Цена:</td><td><?PHP echo $row["price"] ?></td>
  21. </tr>
  22.  
  23. <tr>
  24. <td width="100px">Продавец:</td><td><?PHP echo $row["author"] ?></td>
  25. </tr>
  26. <tr>
  27. <td width="100px">Область:</td><td><?PHP echo $row["oblast"] ?></td>
  28. </tr>
  29. <tr>
  30. <td width="100px">Категория:</td><td><?PHP echo $row["category"] ?></td>
  31. </tr>
  32.  
  33. </table>
  34. </table>
  35. <br>
  36. <?PHP
  37. }
  38. ?>
  39.  
  40.  
11. vanicon - 27 Марта, 2013 - 16:16:17 - перейти к сообщению
pava77 я вам написал код страницы obyava.php...
12. pava77 - 27 Марта, 2013 - 16:19:00 - перейти к сообщению
Спасибо, большое, все получилось

 

Powered by ExBB FM 1.0 RC1