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 :: Удаление строки с определенным именем

 PHP.SU

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


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

> Без описания
Editor2012
Отправлено: 09 Января, 2012 - 10:56:55
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Янв. 2012  


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




Здравствуйте. Помогите пожалуйста написать на php код, который по запросу производит удаление определенной строки из текстовой бд.

В бд содержатся данные по виду:
CODE (htmlphp):
скопировать код в буфер обмена
  1. #username1 {различного рода данные}
  2. #username2 {данные}

и так далее...

Так вот, например, в запросе указана для удаления строка username2, как ее удалить, включая данные указанные в фигурных скобках?
 
 Top
Vaganec Trosti
Отправлено: 09 Января, 2012 - 11:02:11
Post Id


Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Янв. 2012  


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




функцией mbstrpos(*) находишь позицию с которой начинается #username1. От этой позиции также используя (*) находишь позицию закрывающей фигурной скобки и режешь. Это при условии что различного рода данные не содержат }
 
 Top
Editor2012
Отправлено: 09 Января, 2012 - 11:20:19
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Янв. 2012  


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




Vaganec Trosti, а можно пример как будет все это выглядеть? {} данные не содержат.
 
 Top
armancho7777777 Супермодератор
Отправлено: 09 Января, 2012 - 12:06:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




А зачем вообще хранить данные в БД в таком виде, а потом извращаться для удаления?
Создайте таблицу такого вида:

-------------------------------- ------------------------
users
-------------------------------- ------------------------
id | user_name | data | data2 | data3 |
-------------------------------- ------------------------
1 | Вася | Данные | Данные | Данные |
2 | Петя | Данные | Данные | Данные |
3 | Саша | Данные | Данные | Данные |


И удаляйте кого надо:

PHP:
скопировать код в буфер обмена
  1. mysql_query("DELETE FROM `users` WHERE `user` = 'Вася'");

(Отредактировано автором: 09 Января, 2012 - 12:11:53)

 
 Top
Мелкий Супермодератор
Отправлено: 09 Января, 2012 - 12:13:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




PHP:
скопировать код в буфер обмена
  1. $sNewStr = preg_replace("@\#username\s*\{.*\}@mUsiu",'',$sStr);

Можно так.


-----
PostgreSQL DBA
 
 Top
Editor2012
Отправлено: 09 Января, 2012 - 19:16:22
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Янв. 2012  


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




Мелкий, спасибо, все сделал, вопрос решен Улыбка

armancho7777777, mysql на сервере запрещен...

(Отредактировано автором: 09 Января, 2012 - 19:16:55)

 
 Top
armancho7777777 Супермодератор
Отправлено: 09 Января, 2012 - 19:19:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Editor2012 пишет:
Мелкий, спасибо, все сделал, вопрос решен Улыбка

armancho7777777, mysql на сервере запрещен...

Тогда записывайте в текстовый файл сериализованный многомерный ассоциативный массив.
Читать и обрабатывать проще будет.

PHP:
скопировать код в буфер обмена
  1.  
  2. $arr = array(
  3.  
  4.         array('user' => 'Вася', 'dats' => array(
  5.                                       'data1' => 'Данные1',
  6.                                       'data3' => 'Данные2',
  7.                                       'data3' => 'Данные'
  8.                                        )
  9.                 ),
  10.                                                                          
  11.         array('user' => 'Петя', 'dats' => array(
  12.                                      'data1' => 'Данные1',
  13.                                      'data3' => 'Данные2',
  14.                                      'data3' => 'Данные3'
  15.                                       )
  16.                 ),
  17.                                                                          
  18.         array('user' => 'Вова', 'dats' => array(
  19.                                     'data1' => 'Данные1',
  20.                                     'data3' => 'Данные2',
  21.                                     'data3' => 'Данные3'
  22.                                     )
  23.                 ),
  24.                                                                          
  25.         array('user' => 'Коля', 'dats' => array(
  26.                                       'data1' => 'Данные1',
  27.                                       'data3' => 'Данные2',
  28.                                       'data3' => 'Данные3'
  29.                                       )
  30.                  )
  31.                                                                  
  32. );
  33.  
  34.  
  35. $arrS = serialize($arr);
  36.  
  37. print_r($arrS);
  38.  
  39. echo "<br><br>";
  40.  
  41.  

(Отредактировано автором: 09 Января, 2012 - 19:36:40)

 
 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