Ну, SQL, погоди! Работа с базами данных в PHP - PHP - RealOnlineMoney - заработок реальных денег в интернете
RealOnlineMoney - заработать реальные деньги в интернете
Главная страница Каталог сайтов Поиск Регистрация Вход
Рубрики

Подписка
RealOnlineMoney на Feedburner

Форма входа
E-mail:
Пароль:

Поиск

Календарь
«  Январь 2010  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031

Архив

Популярные записи
Первый шаг раскрутки сайта - добавление в поисковые системы
Добавление сайта на Юкоз в Сапу
Мета-тег keywords никак не влияет на выдачу в Google
Popunder, Clickunder, Popup, Bodyclick - обзор партнёрок
VirtZarabotok.Ru - заработок с сайтами на uCoz
Uploaded.To платит теперь и за русский трафик
Палю тему: Раскрутка сайта по полной
Регистрация сайта в каталогах и рейтингах
Автоматическая генерация Sitemap - плагин для Wordpress
Делаем деньги на партнёрских сайтах


Приветствую Вас, Гость · RSS 2010-03-11, 4:04 PM

Главная » PHP » Ну, SQL, погоди! Работа с базами данных в PHP
Ну, SQL, погоди! Работа с базами данных в PHP

PHP и базы данныхВ рамках моего маленького проекта твиттер-рейтинга, я ознакомился с базами данных и их использованием в PHP. Сперва почитал про мускул (MySQL) и прикинул, как может выглядеть моя база данных. В принципе, я не хочу туда много пихать. Ведь все данные твитерянина мы будем получать из XML-файла, предоставленного твиттером и которая формируется одинакого для всех, отличаясь только ником пользователя. Нету надобности данные, как, например, количество фолловеров, сохранять в базе данных. Это только вызывает надобность обновлять эти данные. А оно мне нафиг не надо, будет ловить данные "на лету", имея только ник пользователя на твиттере.

Помимо ника я напридумывал ещё 4 поля. Дата регистрации в рейтинге, тут всё ясно, будет передаваться мускулу функцией PHP NOW(). Электронная почта для обратной связи, её ещё и на правильность проверять надо, существует ли такой сервер и т. д. Обратная ссылка будет условием регистрации в рейтинге, и её проверять придётся. И последнее поле, это активирован ли этот участник в рейтинге. При регистрации в это поле будет вписываться нулик, а после модерации однёрочка. А в рейтинге будут выводится те участники рейтинга, у которых в том поле стоит однёрочка.

В теории всё ясно, теперь к практике. Сперва создаём базу данных.

Code
CREATE DATABASE `twitter`;

Теперь создаём таблицу с пяти полями - дата регистрации, ник, мыло, обратная ссылка и поле для модерации.

Code
CREATE TABLE `twitter`.`user`(
`regdate` DATE NOT NULL,
`user_name` VARCHAR( 50 ) PRIMARY KEY,
`email` VARCHAR( 50 ) NOT NULL,
`backlink` VARCHAR( 100 ) NOT NULL,
`activated` INT NOT NULL);

Наша база данных готова! Теперь попробуем к ней подключиться. Задаём в начале название сервера, название базы данных, имя пользователя и пароль.

Code
$sdb_name="localhost"; //сервер
$db_name="twitter"; //название базы данных
$user_name="root"; //имя пользователя
$db_password=""; //пароль

Соединяемся с сервером. На случай, что соединиться не возможно, выводим сообщение об этом.

Code
if(!$db = mysql_connect($sdb_name, $user_name, $db_password))
{ echo "Не могу соединиться с сервером!<br/>"; exit(); }

Соединяемся с базой данных. Опять выводим сообщение, если соединиться не удалось.

Code
if(!mysql_select_db($db_name, $db))
{ echo "Не могу соединиться с базой данных!<br/>"; exit(); }

Задаём данные пользователя на твиттере.

Code
$usename = "RealyMoney";
$email = "realymoney@mail.ru";
$backlink = "http://twitter.com/";

Сейчас база данных пуста, но в будущем нам потребуется проверка на дубликаты в базе данных. По этому мы проверяем, есть ли такой пользователь в нашей базе и выводим сообщение, если всётаки есть.

Code
$result = mysql_query("SELECT count(*) FROM `user` WHERE username = '$username';", $db);
$row = mysql_fetch_array($result, MYSQL_NUM);
if($row[0] != 0)
{ echo "В рейтинге уже есть участник с ником $username"; }

Теперь добавляем новую запись. Ник, мыло и обратная ссылка заданы выше, а время регистрации передаётся через функцию NOW(), ну и нолик в предачу.

Code
$str_sql_query = "INSERT INTO `twitter`.`user`  
(`regdate` ,`username` ,`email` ,`backlink` ,`activated`)
VALUES (NOW(), '$username', '$email', '$backlink', '0');";

Выводим сообщение, если новую запись добавить не удалось.

Code
if(!$result = mysql_query($str_sql_query, $db))
{ echo "Ошибка при добавлении участника в базу данных!<br/>"; exit(); }
else echo "Новый участник был добавлен в базу данных!<br/>
После проверки модератором он появится в рейтинге.";

Теперь активируем пользователя, вместо нолика просто вписывается однёрку.

Code
$str_sql_query = "UPDATE `twitter`.`user` SET `activated` = '1' WHERE `user`.`username` = 'RealyMoney';";

Считаем количество активированных участников рейтинга.

Code
$result = mysql_query("SELECT count(*) FROM `user` WHERE activated = 1;", $db);
$user_count = mysql_fetch_array($result, MYSQL_NUM);

Выбираем всех активированных участников рейтига и выводим в цикле. Функция mysql_fetch_array выдаёт по одной строке из базы данных. Строку мы сохраняем в переменной, в массиве $user. Мы имеем доступ к елементам массива таким образом: $user[0] это дата регистрации, $user[1] - ник пользователя, $user[2] - почта, $user[3] - обратная ссылка и $user[4] - активация. В данном случае мы выводим только ник участника рейтинга.

Code
$result = mysql_query("SELECT * FROM `user` WHERE activated = 1;", $db);
for($i = 0; $i < $user_count; $i++)
{
  $user = mysql_fetch_array($result, MYSQL_NUM);
  echo "$user[1]<br/>";
}

Стираем участника рейтинга с ником RealyMoney.

Code
$str_sql_query = "DELETE FROM `twitter`.`user` WHERE A_NR = 'RealyMoney';";

Закрываем базу данных.

Code
mysql_close($db);

Вот так я покорил работу с базами данных в PHP. Что нам Антарктика с Арктикой? Что нам Албания с Польшей? :bigsmile:

Категория: PHP | Просмотров: 275 | Теги: mysql, php, базы данных, sql
Всего комментариев: 0
Имя *:
Email:
Ваш сайт:
Код *:
2009 © RealOnlineMoney.Ru | Сайт управляется системой uCoz
Яндекс цитирования рейтинг сайтов электронной коммерции Участник ePochta Blog Rating