motorway Опубликовано 5 апреля, 2007 Жалоба Поделиться Опубликовано 5 апреля, 2007 Пусть имеется реляционная база данных. Как извлекать из нее данные с помощью php? Нужен самый простой пример, напр., есть таблица из 2 колонок и 10 строк. Как извлечь данные оттуда? Например, это mysql. Какие должны быть программы установлены и файлы иметься? Жду самый простой скрипт Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 5 апреля, 2007 Жалоба Поделиться Опубликовано 5 апреля, 2007 В PHP очен хорошая поддержка MySQL, можно почитать документацию. Но кроме PHP, вам нужно изучать и языка SQL Вот примерчик $link = mysql_connect($dbhost, $dbuser, $dbpass);if (! $link ){ die ("Cannot connect to database");}$db = mysql_select_db($dbname, $link);if (! $db ){ die ("Cannot connect to database");}$sql = 'select * from itl_news order by date desc, id desc limit 0,20';$result = mysql_query( $sql );while ($row = @mysql_fetch_array ($result)){echo $row['caption'].'<br>';}mysql_close(); Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 5 апреля, 2007 Автор Жалоба Поделиться Опубликовано 5 апреля, 2007 Спасибо, а если эта БД не на моем компе, то что я должен иметь из установл. файлов? Например, мне нужно, чтобы на странице появилось число из таблицы (напр, курс доллара в январе) из внешней БД - что я должен знать для этого? само расширение файла бд какое? можно ли это попробовать на денвере и как? как создать саму бд? Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 5 апреля, 2007 Жалоба Поделиться Опубликовано 5 апреля, 2007 Спасибо, а если эта БД не на моем компе, то что я должен иметь из установл. файлов? Например, мне нужно, чтобы на странице появилось число из таблицы (напр, курс доллара в январе) из внешней БД - что я должен знать для этого? само расширение файла бд какое? можно ли это попробовать на денвере и как? как создать саму бд? Вам нужно имет имя и пароль для доступа к БД. Также если он на другой машине, то нужно разрешит внешнего подключение к БД Обично с БД не работають с его файли ( если будете читать сами файли БД то никакого смисла от сервера БД не будеть ), а насчеть разширение - биваеть разное. Например у MySQL если пользуете MyISAM таблици, то файли будут имет разширение MYI. Можно пробувать на денвере, если у него есть MySQL (никогда с денвер не работал ) Обично к MySQL есть и WinMySQL Admin, но если нет, можно создать БД при помощю phpMyAdmin Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 6 апреля, 2007 Автор Жалоба Поделиться Опубликовано 6 апреля, 2007 Помоги, плиз, я сделал скриншот в phpmyadmin, код выдает ошибки. Как нужно писать синтаксис: $dbname и т.д. нужно писать с $ или просто название БД? Notice: Undefined variable: localhost Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in ... Cannot connect to database В какой директории должно все это находиться (БД)? Я делал через phpadmin, а сам сайт в денвере находится по http://ip../bd.php Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 6 апреля, 2007 Жалоба Поделиться Опубликовано 6 апреля, 2007 $dbhost = 'localhost';$dbuser = 'root';$dbpass = ''; Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 6 апреля, 2007 Автор Жалоба Поделиться Опубликовано 6 апреля, 2007 теперь ошибки нет, но ничего не выводит: <?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname="test1"; $link = mysql_connect($dbhost, $dbuser, $dbpass); if (! $link ) { die ("Cannot connect to database"); } $db = mysql_select_db($dbname, $link); if (! $db ) { die ("Cannot connect to database"); } $sql = 'SELECT * FROM `1`'; $result = mysql_query( $sql ); while ($row = @mysql_fetch_array ($result)) { echo $row['caption'].'<br>'; } mysql_close(); ?> Как сделать $sql, чтобы вывела всю таблицу, или по названию строки? Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 6 апреля, 2007 Автор Жалоба Поделиться Опубликовано 6 апреля, 2007 как в phpmyadmin сделать таблицу из 2 столбцов? я делаю колонку Audi, BMW, Ford, а как написать соответствующие значения в след. колонке и еще добавить колонку? Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 6 апреля, 2007 Жалоба Поделиться Опубликовано 6 апреля, 2007 echo $row['caption'].'<br>'; У тебе в таблице же колонки Audi, BMW и Ford... замени caption на Audi примерно А что в phpMyAdmin неть manual-а? Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 6 апреля, 2007 Автор Жалоба Поделиться Опубликовано 6 апреля, 2007 echo $row['caption'].'<br>'; У тебе в таблице же колонки Audi, BMW и Ford... замени caption на Audi примерно А что в phpMyAdmin неть manual-а? Вроде как раз из-за echo $row['caption'].'<br>' была ошибка.. Уже научился выводить записи напротив полей, а как сделать название колонки ? Мануал, конечно, есть, но некоторые вопросы иногда можно часами сидеть и не додуматься, в чем тут дело. Да, вот когда вставляю эту строку, пишет ошибку: Notice: Undefined index: caption in... Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 6 апреля, 2007 Автор Жалоба Поделиться Опубликовано 6 апреля, 2007 Можно ли как-то использовать значения, полученные из БД, уже после выхода из запроса? Я пробую выводить row[1] вне запроса, ничего не пишет. Как нужно? Если мне нужно использовать для вывода в др. месте... Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 6 апреля, 2007 Жалоба Поделиться Опубликовано 6 апреля, 2007 Можно, но в случае $row присваиветься значение в цикле while и после while уже не будеть значение; это сделано чтобы показал все из таблице, а если будеш показивать только одного елемента, $row = mysql_fetch_array( $result ) И потом везде где нужно: echo $row[1] Также можно пользуват mysql_result( $result, 0 ), а для следуещего записа mysql_result( $result, 1), mysql_result( $result, 2) и т.д. Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 6 апреля, 2007 Автор Жалоба Поделиться Опубликовано 6 апреля, 2007 Можно, но в случае $row присваиветься значение в цикле while и после while уже не будеть значение; это сделано чтобы показал все из таблице, а если будеш показивать только одного елемента, $row = mysql_fetch_array( $result ) И потом везде где нужно: echo $row[1] Также можно пользуват mysql_result( $result, 0 ), а для следуещего записа mysql_result( $result, 1), mysql_result( $result, 2) и т.д. У меня в БД есть пример: Москва: город, 100000, а. Я хочу, чтобы выводилось все: "город, 100000, а", а выводится только "а". И еще, как сделать, чтобы выводилось "город, 100000, а", а у меня без пробелов: "город100000а" Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти