+7(983)178-57-68

Новые горизонты успешного бизнеса!

Главная Посчитать и заказатьОставить заявку Статьи Отзывы Контакты

Вывод записи, вывод нескольких записей, добавление новой, обновление и удаление записи из таблицы базы данных MySQL (MySQLi)?

Наша таблица
Наша таблица

Для начала MySQL

<?php
# данные для подключения
$serverMySQL="localhost"; # имя сервера
$db="db"; # база данных
$dblog="root"; # логин
$dbpass=""; # пароль
$table="news"; # наша таблица
function db_connect($serverMySQL,$dblog,$dbpass)
{
$r=mysql_connect($serverMySQL,$dblog,$dbpass);
return $r;
}
db_connect($serverMySQL,$dblog,$dbpass);
mysql_set_charset('utf8'); # кодировка
mysql_select_db($db); # выбираем нашу базу данных
?>

Вывод записи, записей
<?php
# выводим запись под номером 3
$sql=mysql_query("select * from `$table` where `id`='3'");
/*
символ '*' указывает, что нужно выбрать все столбцы
если Вам нужен один или несколько столбцов, укажите какие
это сократит нагрузку на MySQL и время вывода информации
например, нам нужны только заголовок и текст
*/
$sql=mysql_query("select `title`,`text` from `$table` where `id`='3'");
$result=mysql_fetch_array($sql);

# выводим результат
print "$result[title] | $result[text]";

/* выводим несколько записей, первые четыре
вы можете указать сортировку
для этого в запрос добавляем order by
мы сделаем сортировку по столбцу pre (просмотры)
order by `pre` desc <-- от большего к меньшему (если буквы от Я-А)
order by `pre` asc <-- от меньшего к большему (если буквы от А-Я)
*/
$sql=mysql_query("select * from `$table` order by `pre` desc limit 0,4");

# цикл вывода
while($result=mysql_fetch_array($sql)):
print "$result[title] | $result[text] | $result[pre]<br>";
endwhile;
# если убрать условие limit 0,4 будут выведены все записи
?>
Добавление новой записи
<?php
# добавляем новую запись простым запросом с указанием нужных нам значений
mysql_query("insert into `$table` set `title`='Заголовок 6', `text`='Текст 6', `pre`='0'");
# после чего в нашей таблице появится еще одна строка с id равным 6

/* немного не по теме
иногда нужно узнать идентификатор последней вставленной строки
для этого существует функция mysql_insert_id();
назначаем переменную
*/
$wwid=mysql_insert_id(); # таким образом $wwid будет равна 6
?>
Обновление, редактирование записи
<?php
/* давайте изменим заголовок и количество
просмотров у нашей последней записи
простой запрос, похожий на insert
*/
mysql_query("update `$table` set `title`='Заголовок 7', `pre`='114' where `id`='6'");

/* параметр where `id`='6' указывает что нужно изменить строку
под номером шесть.
Если опустить этот параметр заголовок и просмотры будут изменены у всех статей
вместо where `id`='6' можно использовать что-то другое
например изменить заголовок у статей с pre=0
будет where `pre`='0'
*/
mysql_query("update `$table` set `title`='Заголовок 7' where `pre`='0'");

# в запрос можно добавить limit 1
mysql_query("update `$table` set `title`='Заголовок 7' where `pre`='0' limit 1");
# в данном случае будет изменена первая строка в таблице, у которой pre будет равен 0
?>
Удаление записи
<?php
# удаляем запись под номером 6
mysql_query("delete from `$table` where `id`='6'");
/* как и в предыдущем примере
мы можем использовать что-то другое в условии where
также к запросу мы можем добавлять limit
*/

# очищаем всю таблицу
mysql_query("truncate `$table`");
?>

Теперь MySQLi

<?php
// данные для подключения
$serverMySQL="localhost"; # имя сервера
$db="db"; # база данных
$dblog="root"; # логин
$dbpass=""; # пароль
$table="news"; # наша таблица

$mi=new mysqli($serverMySQL, $dblog, $dbpass, $db);
$mi->set_charset("utf8"); # кодировка
if($mi->connect_errno):
die($mi->connect_error);
endif;
?>

Вывод записи, записей
<?php
# выводим запись под номером 3
$sql=$mi->query("select * from `$table` where `id`='3'");
/*
символ '*' указывает, что нужно выбрать все столбцы
если Вам нужен один или несколько столбцов, укажите какие
это сократит нагрузку на MySQL и время вывода информации
например, нам нужны только заголовок и текст
*/
$sql=$mi->query("select `title`,`text` from `$table` where `id`='3'");
$result=$sql->fetch_array();

# выводим результат
print "$result[title] | $result[text]";

/* выводим несколько записей, первые четыре
вы можете указать сортировку
для этого в запрос добавляем order by
мы сделаем сортировку по столбцу pre (просмотры)
order by `pre` desc <-- от большего к меньшему (если буквы от Я-А)
order by `pre` asc <-- от меньшего к большему (если буквы от А-Я)
*/
$sql=$mi->query("select * from `$table` order by `pre` desc limit 0,4");

# цикл вывода
while($result=$sql->fetch_array()):
print "$result[title] | $result[text] | $result[pre]<br>";
endwhile;
# если убрать условие limit 0,4 будут выведены все записи
?>

Добавление новой записи
<?php
# добавляем новую запись простым запросом с указанием нужных нам значений
$mi->query("insert into `$table` set `title`='Заголовок 6', `text`='Текст 6', `pre`='0'");
# после чего в нашей таблице появится еще одна строка с id равным 6

/* немного не по теме
иногда нужно узнать идентификатор последней вставленной строки
для этого существует функция mysqli_insert_id;
назначаем переменную
*/
$wwid=$mi->insert_id; # таким образом $wwid будет равна 6
?>

Обновление, редактирование записи
<?php
/* давайте изменим заголовок и количество
просмотров у нашей последней записи
простой запрос, похожий на insert
*/
$mi->query("update `$table` set `title`='Заголовок 7', `pre`='114' where `id`='6'");
/* параметр where `id`='6' указывает что нужно изменить строку
под номером шесть.
Если опустить этот параметр заголовок и просмотры будут изменены у всех статей
вместо where `id`='6' можно использовать что-то другое
например изменить заголовок у статей с pre=0
будет where `pre`='0'
*/
$mi->query("update `$table` set `title`='Заголовок 7' where `pre`='0'");

# в запрос можно добавить limit 1
$mi->query("update `$table` set `title`='Заголовок 7' where `pre`='0' limit 1");
# в данном случае будет изменена первая строка в таблице, у которой pre будет равен 0
?>

Удаление записи
<?php
# удаляем запись под номером 6
$mi->query("delete from `$table` where `id`='6'");
/* как и в предыдущем примере
мы можем использовать что-то другое в условии where
также к запросу мы можем добавлять limit
*/

# очищаем всю таблицу
$mi->query("truncate `$table`");
?>


Остались вопросы? Спрашивайте!


Понравилась статья? Расскажи другим :)

Опубликовано: | Просмотров: 16587