Архив метки: БД

AJAX и PHP — работа с базой данных

Задача:

Динамический показ данных (товар) в зависимости от выбора элемента (категория) в выпадающем списке , используя AJAX.

Решение (Пример):

Шаг 1

Создать файл index.php, в котором

  • подключаемся к базе данных для получения списка категории

Листинг файла подключения к БД auth.php

<?
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = ""; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "test"; // название базы данных

/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_query('SET NAMES utf8') or header('Location: Error');

/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
?>
  •  выводим форму с выпадающим списком из этих категорий

Выпадающий список

  • пишем AJAX запрос на обработку выбранного элемента

Листинг файла с AJAX запросом index.php

<?php
include "auth.php";//Подключаем БД
//делаем запрос на категории
$query = "select * from allcat where Id_parent=0 ";
$result = mysql_query($query) or die(mysql_error());
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; Charset=UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<form id="myForm">
Выберите Категорию:<br/>
<select id="idcat">
<?php
//Выводим категории и ее ID
while ($row=mysql_fetch_array($result))
{
print "<option value=".$row['Id_cat'].">";
print $row['Name'];
echo("</option>");
}
?>
</select>
</form>

<div id="content"></div>

<script>
$(document).ready(function(){

$('#idcat').change(function(){
$.ajax({
type: "POST",
url: "show.php",
data: "idcat="+$("#idcat").val(),
success: function(html){
$("#content").html(html);
}
});
return false;
});

});
</script>

</body>
</html>

Шаг 2

Создать файл show.php, в котором обрабатываем AJAX запрос

  • подключаемся к базе данных для получения списка товаров по ID категории
  • выводим полученные товары

Листинг файла для обработки запроса show.php

<?php
include "auth.php"; //Подключаем БД
//делаем запрос на товары этой категории
$query = "select * from allcat where Id_parent=".$_REQUEST['idcat']."";
$result = mysql_query($query) or die(mysql_error());
// выводим товары полученные по запросу
while ($row=mysql_fetch_array($result))
{
print $row['Name']."<br>";
}
?>

 

Запрос SQL для добавления записи в БД

Запрос SQL для добавления записи в таблицу БД.

Общий вид  запроса

INSERT INTO имя таблицы (поле1, поле2) VALUES (‘данные поля1’,’данные поля2’)
или
INSERT INTO имя таблицы SET поле1=‘данные поля1’, поле2=’данные поля2’

Пример запроса

INSERT INTO fruit (Name, color) VALUES (‘apple’,’green’);

Рабочий пример листинга использования запроса на добавления (MySql + php.)

/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя
$password = ""; // пароль пользователя (если пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "test"; // название базы данных
 /* Таблица MySQL, в которой хранятся данные */
$table = "test_table";
 /* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
/* Корректный вывод русских букв */
mysql_query('SET NAMES cp1251') or header('Location: Error');
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
/* Запрос на добавление */
  $query = "INSERT INTO
   	     $table
	    SET
	     dolzhnost='$dolz',
	     inn='$inn',
	     fullnameorg='$fname',
	     fio='$fioname',
	     date='$cdate',
	     yuradres='$yuradress',
	     factadres='$fadress'
  	   ";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
/* В случае успешного сохранения выводим сообщение и ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=\"green\">Данные успешно отправлены!</font>
<a href=\"index.php\">Вернуться назад</a></div>");
header("Location: /eoz/index.php");
        exit;
};
/* Закрываем соединение */
mysql_close();)

Также можно посмотреть:

Пример запроса SQL на обновления поля в таблице БД

Smarty и MySql

Smarty ШаблонизаторВывод данных из базы данных Mysql используя шаблогизатор Smarty.

1. Формируем необходимые данные из нашей базы данных

 

Листинг php кода

require('../libs/Smarty.class.php');
include "auth.php"; //здесь код для подключения к БД
$smarty = new Smarty; // создаем объект
$table = 'cat1'; //наша таблица с данными
$query = "select * from $table"; //формируем запрос
$result  = mysql_query($query) or die(mysql_error());
$rows=array();
while ($row=mysql_fetch_array($result))
   $rows[]=$row;
$smarty->assign('cat1', $rows); //переменная для шаблона
$smarty->display('index.tpl');

2. Добавить код для вставки в шаблоне index.tpl для вывода наших данных

 {foreach from=$cat1 item=item}
   <p>{$item.IdCat} - {$item.NameCat} - {$item.Idcc}</p>
{/foreach}

Джинн (Jinnee) — правка всех выделенных полей.

Как в Джинн (Jinnee)  править сразу все выделенные поля БД, а не одному полю.

Выделить все необходимы данные (строчки) и нажать ALT+F.

Выбрать необходимое действие и согласится.

Бэкап сайта на wordpress

Для бэкапа сайта движке WordPress 2 способа:

  1. Ручной
  2. С помощью плагина

Ручной способ бэкапа

В PhpMyAdmin (или аналог) выбрать нашу базу данных и нажать на меню Экспорт

backup from phpMyAdmin

Далее в зависимости от версии phpMyAdmin

В моем случае я выбрал

  • вариант выбора: Быстрый — отображать минимум настроек
  • Формат: SQL

и нажать кнопку OK.

Будет создан и скачан файл с типом SQL. Это и есть наш архив базы данных.

С помощью плагина.

В админ панели WordPressa переходим в раздел плагины. Там ищем и устанавливаем нужный.