Автор Тема: Выборка данных из базы MySQL  (Прочитано 2731 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vovan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.vingrad.ru
Выборка данных из базы MySQL
« : 28 Декабря 2002, 17:18:41 »
Если требуется извлечь несколько строк из базы, то мы это делаем так:

$query 
"SELECT * FROM my_table";
$result mysql_query ($query)
 or die (
"Query failed");

// printing HTML result

print "<table>\\n";
while (
$line mysql_fetch_array($result)) {
 print 
"\\t<tr>\\n";
 while(list(
$col_name$col_value) = each($line)) {
   print 
"\\t\\t<td>$col_value</td>\\n";
 }
 print 
"\\t</tr>\\n";
}
print 
"</table>\\n";



А если нужно извлечь всего лишь несколько значений в одной строке? Как тогда поступить?

Вот, нашел один вариант:


Исходный код  

$query
="select message,post_date,info.posts,info.email from topics,info where ...";
$result=mysql_query ($query);

$row=mysql_fetch_array ($result);
$message=$row["message"];
$post_date=$row["post_date"];
$posts=$row["posts"];
$email=$row["email"];



Но как-то все длинно и некрасиво? Есть другой способ? В перл это делается одной строчкой.
  - качественный хостинг по доступным ценам!
Форум программистов: www.forum.vingrad.ru

Оффлайн Vovan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 113
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.vingrad.ru
Выборка данных из базы MySQL
« Ответ #1 : 28 Декабря 2002, 17:19:34 »
Если кто не понял, что я хочу, то приведу пример на perl


($name, $photo) = $dbh->selectrow_array ("SELECT name, photo FROM $prefix\\_users WHERE ...");


Как это на ПХП сделать?
  - качественный хостинг по доступным ценам!
Форум программистов: www.forum.vingrad.ru

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Выборка данных из базы MySQL
« Ответ #2 : 28 Декабря 2002, 17:44:35 »
list(...) = mysql_fetch...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Выборка данных из базы MySQL
« Ответ #3 : 28 Декабря 2002, 18:03:14 »
Молодой человек.
Это делается не в Perl одной строчкой, а в некоей библиотеке, которую ты цепляешь к своей программе..
В коей библиотеке полсотни строк, как минимум, эту функцию реализуют.
Я достаточно доступно излагаю?

"На PHP" получается еще короче:
extract(db_row("select name,age from table"));

Только функцию db_row надо написать самому:
function db_row($query) { 
  
$r=mysql_query($query); 
  if (!
$r) die(mysql_error());
  if (!
mysql_num_rows($r)) return array(); 
  return 
mysql_fetch_array($r); 
}
Впрочем, можно и без функций в одну строчку, но без обработки ошибок
extract
(mysql_fetch_array(mysql_query("select * from table")));
функция extract рульная и сама по себе, а с необязательным аргументом - вообще супер.
« Последнее редактирование: 28 Декабря 2002, 18:14:26 от RomikChef »

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28