|
|
|
| Правильно ли я понимаю, что суть програмирования с использованием базы данных заключается в том, что создается SQL запрос, который посредством PHPMyAdmin (или иначе) записывается в базу данных, а потом рнр-файл обращается к этой базе по мере необходимости для записи или получения данных?
Но прежде нужно создать и отладить html страницы (которые могут иметь и операции рнр), и уж потом записать их в базу.
Так? | |
|
|
|
|
|
|
|
для: Владимир55
(15.10.2008 в 16:58)
| | Не совсем так. Точнее совсем не так:)
SQL запрос можно сравнить с письмом в архив. То есть клиент (скрипт) посылает в архив письмо с запросом (SQL запрос). Архивные работники долго копаются в архиве, после чего отсылают обратно подборку информации. То есть в итоге для клиента работа с архивом сводится к двум письмам, а кто как и сколько ковырялся в архиве для составления ответа его не волнует.
Тут единственная заковырка в том, что Вы, как разработчик, должны сначала спроектировать и построить этот архив:) | |
|
|
|
|
|
|
|
для: Loki
(16.10.2008 в 09:38)
| | И все же я не пойму вот чего: весь сайт может состоять из базы, или на сайте обязательно должны быть статичесеие страницы, содержащие обращения к базе? | |
|
|
|
|
|
|
|
для: Владимир55
(16.10.2008 в 10:00)
| | Базы Данных - это всё те же файлы... Вы можете установить у себя на компьютере ДЕНВЕР (что бы быстрее) и зайти по адресу: usr\local\mysql5\data
Вы увидите БД, как они лежат на сервере...
Из этого входит ответ на вопрос, что бы что-то вывести из БД нужно обязательно совершать какие-то SQL-запросы. Ну или, если сервер ваш, можете порпобовать поизвращаться с функцией fopen() :) | |
|
|
|
|
|
|
|
для: DEM
(16.10.2008 в 10:20)
| | ДЕНВЕР я использую, посмотрел.
Но все же: если при работе с файлами я пишу
$file = fopen ("/nip.txt", "w") ; // Очищаем файл
fputs ($file, $n_ip) ; // Запись нового содержимого
fclose ($file) ; // Закрытие файла
|
то при использовании базы нужно указать операторы обращения к базе, поиск аналога nip.txt и запись данных в него? Или как? | |
|
|
|
|
|
|
|
для: Владимир55
(16.10.2008 в 10:29)
| | Если Вы знакомы с экселем, то проблем с реляционными БД, на первых этапах, у вас возникнуть не должно. | |
|
|
|
|
|
|
|
для: Владимир55
(16.10.2008 в 10:00)
| | Ну если мы считаем что скрипты - это не статические страницы, то на сайте может не быть статических страниц совсем - весь сайт может храниться в БД и доставаться оттуда скриптом по мере необходимости. Как правило, это не вполне удобно, поэтому в БД хранят только данные, а на сайте - только скрипты и оформление. | |
|
|
|
|
|
|
|
для: Loki
(16.10.2008 в 10:31)
| | Похоже, что я настолько ничего не понимаю, что даже не могу толком сформулировать вопрос... Тогда поробуем опереться на пример.
Как можно реализовать вот такой код при использовании БД?
<html>
<head>
<title>Первая страница</title>
</head>
<body>
Страница начала работы.
<?php
$n_ip = @file_get_contents("nip.txt"); // Считываем общее количество посетителей
if (!$n_ip) $n_ip = 0 ; // Если это первый посетитель
++$n_ip;
$file = fopen ($fstr . "nip.txt", "w") ; // Очищаем файл
fputs ($file, $n_ip) ; // Запись нового содержимого
fclose ($file) ; // Закрытие файла
echo "Общее количество посетителей - $n_ip";
?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Владимир55
(16.10.2008 в 10:51)
| | Можно отталкиваться от следующего скрипта
<html>
<head>
<title>Первая страница</title>
</head>
<body>
Страница начала работы.
<?php
// Устанавливаем соединение с базой данных
require_once("config.php");
// Обновляем счетчик в базе данных
$query = "UPDATE tbl SET count = count + 1";
@mysql_query($query);
// Извлекаем состояние счетчика из базы данных
$query = "SELECT count FROM tbl";
$cnt = mysql_query($query);
if(!$cnt) exit("Ошибка обращения к базе данных - ".mysql_error());
$n_ip = mysql_result($cnt, 0);
echo "Общее количество посетителей - $n_ip";
?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: cheops
(16.10.2008 в 11:12)
| | Спасибо, дело начинает проясняться...
require_once("config.php") при каждом обращении к базе?
Или, если на данной странице обращение уже было, то повторять это не надо?
Даже если прошли ?>, выполнили какое-то html действие и опять вошли в <?php , повторять require_once("config.php") не надо?
А если перешли на другую страницу, то в обязательном порядке выполняется require_once("config.php") ? | |
|
|
|
|
|
|
|
для: Владимир55
(16.10.2008 в 12:26)
| | Да обязательно.
Своего рода использование файлов, может заменить работу базы данных. Просто у базы данных уже создано много функций для работы с файлами данных, скорость повыше, безопастность, структурированность.
Все данные представляются ввиде таблиц. К которым очень легко получить доступ.
Представим, что в базе данных хранится данные абонентов(ФИО, Номер телефона, Баланс). нам нужно выбрать всех абонентов у который на балансе больше ста рублей. Мы так и напишем
Выбрать всех из таблицы абонетов, где баланс больше 100
Select * from abonents where balance>100
Получим массив из этих абонентов, с этим массивом в цикле и проведем действия по выводу на серверном языке)) Скажем PHP))
<?php
require_once("config.php"); // подключаемся к бд
$query = "Select * from abonents where balance>100"; // текст запроса
$abonents = mysql_query($query); // выполняем запрос
for($i=0; $i<@mysql_num_rows($abonents);$i++)
{
echo mysql_result($abonents, $i, 'name')."<br />"; // выводим имя абонента, где name - название столбца, $i - номер индекса в массиве
}
?>
|
| |
|
|
|
|
|
|
|
для: Dimka31
(16.10.2008 в 13:55)
| | Предположим, что структура намеченного к созданию сайта требует десять внутренних страниц. Означает ли это, что придестся создать 11 рнр-файлов (включая главную страницу), каждый из которых по мере необходимости средствами рнр будет обращаться к БД?
Иными словами, можно ли сделать сайт, в котором бы была только БД? То есть, вообще без рнр-файлов?
Или БД - это "примочка" к рнр-страницам? Хранилище с дополнительными фанкциями поиска, сортировки, удаления, инкрементами и т.п.? | |
|
|
|
|
|
|
|
для: Владимир55
(16.10.2008 в 17:09)
| | можно ли сделать сайт, в котором бы была только БД? То есть, вообще без рнр-файлов?
Да сделать-то можно, только зачем он такой будет нужен? РНР-скрипты нужны, чтобы взаимодействовать с БД через веб-интерфейс. | |
|
|
|