Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
2 / 2 / 0
Регистрация: 18.02.2010
Сообщений: 24

Как лучше всего выводить инфу из бд?

15.10.2010, 13:33. Показов 4636. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я умею выводить информацию из бд в цикле while-do с помощью printf и echo. Но мне нужно использовать php код, чего я в printf сделать не могу, а пользоваться echo не удобно. Что посоветуете? видел такую вещь вроде foreach называется..?..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2010, 13:33
Ответы с готовыми решениями:

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

Каким способом лучше всего и быстрее выводить анимацию?
обычно делаю таким вот способом Graphics::TBitmap Transparent = 1 Canvas->Draw при том что и вот это есть #include...

Как в Label выводить разную инфу ( сообщения )
Тогда немного о Label , как можно сделать его изменным ? допустим у нас на форме есть Label и мы желаем что бы в ней выводилась разная...

9
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
15.10.2010, 18:57
XOsman, foreach - цикл, обходящий все ячейки массива. В БД мне кажется он не используется. Вот пример:
PHP
1
2
3
foreach($array as $key => $val) {
    echo $key.": ".$val."<br>";
}
1
Йошь-мыслитель
 Аватар для Xander Bass
126 / 120 / 26
Регистрация: 22.02.2009
Сообщений: 706
Записей в блоге: 5
15.10.2010, 20:53
Цитата Сообщение от Hagrael Посмотреть сообщение
В БД мне кажется он не используется
Да ну! А если так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$result = mysql_query("SELECT * FROM mytable");
if ($result != FALSE)
{
 if (mysql_num_rows($result) != 0)
 {
  echo "<table>\n";
  while ($row = mysql_fetch_assoc($result))
  {
   echo "<tr>\n";
   foreach ($row as $value)
   {
    echo '<td>'.$value."</td>\n";
   }
   echo "</tr>\n";
  }
  echo '</table>'."\n";
 }
}
Всё зависит от алгоритма.
1
2 / 2 / 0
Регистрация: 18.02.2010
Сообщений: 24
16.10.2010, 11:43  [ТС]
Цитата Сообщение от Hagrael Посмотреть сообщение
XOsman, foreach - цикл, обходящий все ячейки массива. В БД мне кажется он не используется. Вот пример:
PHP
1
2
3
foreach($array as $key => $val) {
    echo $key.": ".$val."<br>";
}
расшифруйте, пожалуйста, этот код... я его не знаю. если не трудно
0
не Администратор ^_^
 Аватар для Unick
988 / 223 / 23
Регистрация: 03.05.2009
Сообщений: 1,493
Записей в блоге: 1
16.10.2010, 12:38
ну в любом случае, что тебе мешает сделать так
PHP
1
2
3
printf("Бла бла");
echo "бла бла";
printf("и еще бла бла");
1
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
16.10.2010, 13:44
XOsman, foreach обходит все ячейки массива. Синтаксис такой:
PHP
1
foreach($array as $key => $val) {...}
где $array - массив, который будет обходить эта функция, $key - ключ, [I]$val[I] - значение, т. е. если в теле цикла написать
PHP
1
echo $key;
то он будет выводить ключ той ячейки, которую просматривает. Аналогично с $val. Так же можно насколько я знаю написать так:
PHP
1
foreach($array as $val) {...}
Тогда будет создаваться только переменная $val, содержащая значение ячейки.
0
2 / 2 / 0
Регистрация: 18.02.2010
Сообщений: 24
17.10.2010, 12:02  [ТС]
Цитата Сообщение от Unick Посмотреть сообщение
ну в любом случае, что тебе мешает сделать так
PHP
1
2
3
printf("Бла бла");
echo "бла бла";
printf("и еще бла бла");
хах) точно.. что-то не подумал об этом
спасибо!

Добавлено через 5 минут
Hagrael, что-то я не очень понимаю этот синтаксис.. для чего этот ключ тоже не пойму
.. не могли бы вы привести пример в практическом применении foreach. К примеру, нужно вывести все записи из таблицы с определённым параметром.
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
17.10.2010, 12:51
XOsman, с каким параметром? foreach принимает массив данных и переменную, в которую нужно поместить эти данные по очереди.
Пример:
PHP
1
2
3
4
5
6
7
8
9
<?php
$array = array ( 1,2, 'name' => 'Василий', 'born_date' => '01.01.01' );
foreach ( $array as $key /*Ключ текущего элемента массива */ => $value /*Значение текущего элемента массива */ ) {
    $format_key = is_int ( $key ) ? '%u' : '%s';//Определяем формат данных для ключа
    $format_value = is_int ( $value ) ? '%d' : '%s';//Аналогично предыдущему, но для значения
    $text = "Текущий ключ: $format_key<br />Текущее значение: $format_value<br />";
    printf ( $text, $key, $value );
}
?>
Должно работать

Цитата Сообщение от XOsman Посмотреть сообщение
не могли бы вы привести пример в практическом применении foreach.
Цитата Сообщение от Xander_Bass Посмотреть сообщение
$result = mysql_query("SELECT * FROM mytable");
if ($result != FALSE)
{
*if (mysql_num_rows($result) != 0)
*{
* echo "<table>\n";
* while ($row = mysql_fetch_assoc($result))
* {
* *echo "<tr>\n";
* *foreach ($row as $value)
* *{
* * echo '<td>'.$value."</td>\n";
* *}
* *echo "</tr>\n";
* }
* echo '</table>'."\n";
*}
}
Добавлено через 8 минут
Более наглядное отображение данных:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$array = array ( 1,2, 'name' => 'Василий', 'born_date' => '01.01.01' );
 
//Счетчик
$i = 0;
 
foreach ( $array as $key /*Ключ текущего элемента массива */ => $value /*Значение текущего элемента массива */ ) {
    $format_key = is_int ( $key ) ? '%u' : '%s';//Определяем формат данных для ключа
    $format_value = is_int ( $value ) ? '%d' : '%s';//Аналогично предыдущему, но для значения
    $text = "Текущий ключ: $format_key<br />Текущее значение: $format_value<br />";
    echo '<u>№ текущей итерации:</u><b>', $i, '</b><br />';
    printf ( $text, $key, $value );
    echo '<hr width="25%" color="red" align="left" />';
    $i++;
}
?>
Добавлено через 5 минут
Можно всё засунуть в одно printf:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$array = array ( 1,2, 'name' => 'Василий', 'born_date' => '01.01.01' );
 
//Счетчик
$i = 0;
 
foreach ( $array as $key /*Ключ текущего элемента массива */ => $value /*Значение текущего элемента массива */ ) {
    $format_key = is_int ( $key ) ? '%u' : '%s';//Определяем формат данных для ключа
    $format_value = is_int ( $value ) ? '%d' : '%s';//Аналогично предыдущему, но для значения
    $text = "<u>№ текущей итерации:</u><b>%u</b><br />Текущий ключ: $format_key<br />Текущее значение: $format_value<br /><hr width=\"25%\" color=\"red\" align=\"left\" />";
    printf ( $text, $i, $key, $value );
    $i++;
}
?>
Добавлено через 4 минуты
Только движок форума заменил & # 3 7 ; на %. Поменяйте в ручную % на & # 3 7 ; ( только без пробелов ), там где указаны проценты тега hr. Т.е. должно быть так 25& # 3 7 ; ( без пробелов )
1
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
17.10.2010, 13:01
XOsman, вот пример:
PHP
1
2
3
4
5
$array=array(); //Создаём массив
for ($i=3; $i<8; $i++) {
    $array[]=$i;
} //Заполняем массив (0=>3, 1=>4, ...)
unset($array[2]); //Удаляем вторую ячейку
Теперь массив такой: 0=>3, 1=>4, - , 3=>6, 4=>7. Попытаемся пройтись циклом for по этому массиву:
PHP
1
2
3
for ($i=0; $i<count($array); $i++) {
    echo $array[$i]." ";
}
Это выдаст:
3 4 6
т. к. мы удалили одну ячейку массива. Раньше длина массива была 5, теперь же 4, и цикл пропускает последнюю ячейку. Чтобы такого не было надо использовать foreach:
PHP
1
2
3
foreach ($array as $key=>$val) {
    echo $val." ";
}
Это выдаст:
3 4 6 7
т. е. даже последнюю ячейку.
Также плюс конструкции foreach состоит в том, что вы получаете доступ и к ключу. Т. е. можно написать вот так:
PHP
1
2
3
foreach ($array as $key=>$val) {
    echo $key.": ".$val."<br>";
}
И мы увидим:
0: 3
1: 4
3: 6
4: 7

Т. е. ключ: значение
Но стоит отметить ещё кое-что. В массиве имеется внутренний порядок ячеек, и он не сортирует ячейки по возрастанию или убыванию, он сортирует их в том порядке, в котором вы его задавали. И именно по этому порядку движется цикл foreach. Если же вы хотите упорядочить внутренний порядок массива, то пользуйтесь функциями на подобие ksort.
Здесь можете прочитать о них побольше.
1
2 / 2 / 0
Регистрация: 18.02.2010
Сообщений: 24
17.10.2010, 13:38  [ТС]
огромнейшее Вам спасибо, добрые люди. Сейчас переварю код и применю его себе =)
очень хороший форум
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.10.2010, 13:38
Помогаю со студенческими работами здесь

Как проще всего реализовать схему "сервер-клиенты" и чем шифровать инфу?
Доброго дня! В рамках дипломной работы возникла необходимость как-то наладить обмен между сервером и удалёнными клиентами. ...

Выводить пользователю инфу. о реестре и его разделах
помогите разработать оконное windows-приложение позволяющее выводить пользователю инфу. о реестре и его разделах. Добавлено через 9...

Как лучше выводить анонсы?
Приветы! Как думаете, анонсы последних добавленных на сайт статей выводить только на главной странице или сквозняком в боковом меню?

Как лучше выводить код в функции?
Есть функция, которая выводит текст, html код. Часто не более 500 символов. Как лучше выводить код в функции? У меня есть два варианта. ...

Как лучше всего отомстить?
Я не хочу особо ничего говорить... банят меня не совсем справедливо... да бываю виновным, но не по моей инициативе. Чаще всего народ сам...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru