Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: class cms_iu_table - вставка и обновление данных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: PHP, БД(mysql,mysqli)
ALEN Модератор
Отправлено: 14 Февраля, 2011 - 23:30:27
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Подготовил класс, чтоб было удобней вставлять и редактировать данные в БД:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class cms_iu_table{
  3.  
  4. public $trsall;
  5.  
  6. function trs($mysql,$sis){
  7. $this->trsall='';
  8. $numtr=count($this->tr);
  9. $num=0;
  10. foreach($this->tr as $key=>$value){
  11. if($sis=='mysql'){
  12. $value=mysql_real_escape_string($value,$mysql);
  13. } else {
  14. $value=mysqli_real_escape_string($mysql,$value);
  15. }
  16. $this->trsall=$this->trsall."`{$key}`='{$value}'";
  17. $num=$num+1;
  18. if($numtr!=$num){ $this->trsall=$this->trsall.", "; }
  19. }
  20. }
  21.  
  22.  
  23. function mysqli_insert($mysql){
  24. $this->trs($mysql,'mysqli');
  25. $result=mysqli_query($mysql,"INSERT INTO `{$this->name}` SET {$this->trsall}");
  26. return mysqli_insert_id($mysql);
  27. }
  28.  
  29.  
  30. function mysql_insert($mysql=NULL){
  31. $this->trs($mysql,'mysql');
  32. $result=mysql_query("INSERT INTO `{$this->name}` SET {$this->trsall}",$mysql);
  33. return mysql_insert_id($mysql);
  34. }
  35.  
  36.  
  37. function mysqli_update($where,$mysql){
  38. $this->trs($mysql,'mysqli');
  39. return mysqli_query($mysql,"UPDATE `{$this->name}` SET {$this->trsall} where {$where}");
  40. }
  41.  
  42.  
  43. function mysql_update($where,$mysql=NULL){
  44. $this->trs($mysql,'mysql');
  45. return mysqi_query("UPDATE `{$this->name}` SET {$this->trsall} where {$where}",$mysql);
  46. }
  47.  
  48.  
  49. }


Примеры использования:

Вставка с помощью MySQL:

PHP:
скопировать код в буфер обмена
  1. $insert=new cms_iu_table;
  2. $insert->name='название таблицы';
  3. $insert->tr['title']='титул';
  4. $insert->tr['name']='название';
  5. $insert->mysql_insert($mysql_id);


Вставка с помощью MySQLi:

PHP:
скопировать код в буфер обмена
  1. $insert=new cms_iu_table;
  2. $insert->name='название таблицы';
  3. $insert->tr['title']='титул';
  4. $insert->tr['name']='название';
  5. $insert->mysqli_insert($mysql_id);


$insert->name - передаем название таблицы
$mysql_id - индификатор подключения к БД
$insert->tr - ключи массива являются колонками в таблице, присваиваем необходимые параметры, экранировать не нужно.
$insert->mysqli_insert($mysql_id); - вернет id созданой записи

Редактирование с помощью MySQL:

PHP:
скопировать код в буфер обмена
  1. $update=new cms_iu_table;
  2. $update->name='название таблицы';
  3. $update->tr['title']='титул';
  4. $update->tr['name']='название';
  5. $update->mysql_update("id=5",$mysql_id);


Редактирование с помощью MySQLi:

PHP:
скопировать код в буфер обмена
  1. $update=new cms_iu_table;
  2. $update->name='название таблицы';
  3. $update->tr['title']='титул';
  4. $update->tr['name']='название';
  5. $update->mysqli_update("id=5",$mysql_id);


$insert->name - передаем название таблицы
$mysql_id - индификатор подключения к БД
$insert->tr - ключи массива являются колонками в таблице, заменяем на необходимые данные, экранировать не нужно. (не упомеянутые колонки затрагиватся не будут)
"id=5" - заменяем на нужные параметры, тудаже можно добавить к примеру и LIMIT ("id=5 LIMIT 3,3")
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Пользовательские функции »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB