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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как показать/спрятать необходимые данные из MySQL?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Выборка данных
Эдвард
Отправлено: 20 Августа, 2014 - 12:02:32
Post Id


Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014  


Помог: 0 раз(а)




Основная цель – вывести на странице конкретные данные из БД по номеру ID. Как это реализовать?

Пока, к сожалению, получается выводить информацию лишь в полном объёме:

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $hostname = "mysql.hostinger.ru";
  4. $username = "u312719474_ed1";
  5. $password = "пароль";
  6. $dbName = "u312719474_med1";
  7.  
  8. $table = "med1";
  9.  
  10. mysql_connect($hostname, $username, $password) or die (mysql_error());
  11.  
  12.  
  13. $query = "SELECT id, data FROM $table";
  14.  
  15. $res = mysql_query($query) or die(mysql_error());
  16.  
  17. echo ("
  18. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
  19. <html xmlns=\"http://www.w3.org/1999/xhtml\">
  20.  
  21. <head>
  22.  
  23.    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
  24.  
  25.    <title>Вывод данных из MySQL</title>
  26.  
  27. </head>
  28.  
  29. <body>
  30.  
  31. <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
  32.  
  33. <tr style=\"border: solid 1px #000\">
  34.  <td><b>#</b></td>
  35.  <td align=\"center\"><b>Дата обращения</b></td>
  36.  <td align=\"center\"><b>Вывод данных</b></td>
  37.  <td align=\"center\"><b>Скрытие данных</b></td>
  38. </tr>
  39.  
  40. ");
  41.  
  42. while ($row = mysql_fetch_array($res)) {
  43.  
  44.     echo "<tr>\n";
  45.     echo "<td>".$row['id']."</td>\n";
  46.     echo "<td>".$row['data']."</td>\n";
  47.     echo "<td><a name=\"a1\" href=\"3.php?a1=".$row["id"]."\">Показать</a></td>\n";
  48. echo "<td><a name=\"a2\" href=\"3.php?a2=".$row["id"]."\">Скрыть</a></td>\n</tr>\n";
  49.  
  50. }
  51.  
  52. echo ("</table>\n");
  53.  
  54.  
  55. if(@$submit_edit) {
  56. $query = "UPDATE $table SET name='$test_name', email='$test_mail' WHERE id='$update'";
  57. mysql_query($query) or die (mysql_error());
  58.  
  59. }
  60.  
  61. $query = "SELECT * FROM $table";
  62.  
  63. $res = mysql_query($query) or die(mysql_error());
  64.  
  65. $row = mysql_num_rows($res);
  66.  
  67. echo ("
  68. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
  69.  
  70. <html xmlns=\"http://www.w3.org/1999/xhtml\">
  71.  
  72. <head>
  73.  
  74.    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
  75.  
  76.    <title>Редактирование и обновление данных</title>
  77.  
  78. </head>
  79.  
  80. <body>
  81.  
  82. ");
  83.  
  84. while ($row = mysql_fetch_array($res)) {
  85.  
  86.     echo "<form action=\"3.php\" method=\"post\" name=\"edit_form\">\n";
  87.     echo "<input type=\"hidden\" name=\"update\" value=\"".$row["id"]."\" />\n";
  88.     echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
  89.     echo "<tr>\n";
  90.     echo "<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div id=\"num\">#".$row["id"]."</div>".$row['data']."</b></i></td>\n";
  91.     echo "</tr><tr>\n";
  92.     echo "<td>Имя:</td><td><input type=\"text\" value=\"".$row['name']."\" name=\"test_name\" /></td>\n";
  93.     echo "</tr><tr>\n";
  94.     echo "<td>E-Mail:</td><td><input type=\"text\" value=\"".$row['email']."\" name=\"test_mail\" /></td>\n";
  95.     echo "</tr><tr>\n";
  96.     echo "<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></td>\n\n";
  97.     echo "</tr></table></form>\n\n";
  98.  
  99. }
  100.  
  101.  
  102. echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"1.html\">Вернуться назад</a></div>");
  103.  
  104. ?>

(Отредактировано автором: 23 Августа, 2014 - 11:02:03)

 
 Top
esterio
Отправлено: 20 Августа, 2014 - 12:18:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id, DATA FROM $table WHERE id=$id
 
 Top
Aricus
Отправлено: 21 Августа, 2014 - 20:59:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Неужели тебе самому удобно читать скрипт с тройными переносами строк? Лень читать, потому приведу пример из своего:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $dbHost = '***';
  2. $dbName = '***';
  3. $dbUser = '***';
  4. $dbPassword = '***';
  5. $link = mysql_connect ($dbHost, $dbUser) or die("MySQL сервер недоступен. <br />".mysql_error());
  6.         if (!mysql_select_db($dbName)) {echo "Нет соединения с БД. <br />" . mysql_error(); exit;}
  7. mysql_set_charset("utf8");
  8.  
  9. $dbEarned = mysql_fetch_row (mysql_query("SELECT `Earned` FROM `users` WHERE `Login` = '{$_SESSION['login']}'",$link));
  10. echo $dbEarned[0];

(Отредактировано автором: 21 Августа, 2014 - 21:01:05)

 
 Top
Эдвард
Отправлено: 23 Августа, 2014 - 12:05:41
Post Id


Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014  


Помог: 0 раз(а)




Aricus пишет:
Неужели тебе самому удобно читать скрипт с тройными переносами строк?


Исправил. При копировании кода почему-то увеличиваются междустрочия.

Aricus пишет:
потому приведу пример из своего:


Пришлось немного изменить Ваш код. Чтобы заработало соединение, добавил $dbPassword. Затем добавил переменную таблицы БД: $table, заменив ею `users`. Плюс заменил Earned на id и login на name, адоптировав к своей БД. Но с нижней частью явно что-то не то, т. к. на странице вместо отображения данных из переменной $dbEarned просто белый лист.

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $dbHost = 'mysql.hostinger.ru';
  4. $dbName = 'u312719474_med1';
  5. $dbUser = 'u312719474_ed1';
  6. $dbPassword = 'пароль';
  7. $table = "med1";
  8.  
  9. $link = mysql_connect ($dbHost, $dbUser, $dbPassword) or die("MySQL сервер недоступен. <br />".mysql_error());
  10.  
  11.         if (!mysql_select_db($dbName)) {echo "Нет соединения с БД. <br />" . mysql_error(); exit;}
  12.  
  13.  
  14. $dbEarned = mysql_fetch_row (mysql_query("SELECT `id` FROM $table WHERE `Name` = '{$_SESSION['name']}'",$link));
  15.  
  16. echo $dbEarned[0];
  17.  
  18. ?>

(Добавление)
esterio пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id, DATA FROM $table WHERE id=$id


Здесь вообще не понял, вместо чего или между чем вставлять эту строчку. Как ни пытался применить её, ничего не выходило (страница просто перестаёт существовать). Требуется более развёрнутое пояснение.

Попробовал сделать так:

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $hostname = "mysql.hostinger.ru";
  4. $username = "u312719474_ed1";
  5. $password = "пароль";
  6. $dbName = "u312719474_med1";
  7.  
  8. $table = "med1";
  9.  
  10. mysql_connect($hostname, $username, $password) or die (mysql_error());
  11.  
  12.  
  13. $query = "SELECT id, DATA FROM $table WHERE id=$id";
  14.  
  15. $res = mysql_query($query) or die(mysql_error());
  16.  
  17. $row = mysql_num_rows($res);
  18.  
  19. while ($row = mysql_fetch_array($res)) {
  20.     echo $row['id'];
  21. }
  22.  
  23.  
  24. ?>


Всплывает ошибка синтаксиса: «You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1».

(Отредактировано автором: 23 Августа, 2014 - 12:42:46)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB