ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Помогите удалить строку
  #1  
Старый 18.11.2008, 22:03
Аватар для Ru}{eeZ
Ru}{eeZ
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме:
956872

Репутация: 186
Отправить сообщение для Ru}{eeZ с помощью ICQ
По умолчанию Помогите удалить строку

Помогите удалить строку из файла по ид, ид = это первое число в строке. Уже всю голову переломал, чего только не пробовал, пробовал в массив весь файл через file() закидывать и по номеру строки удалять, но тогда другие сложности, ведь ид с номером строки не будет совпадать, пробовал регулярками искать и удалять.... В общем я вообще запутался, бошка уже кипит!
помогите плиз

уже и так пробовал:
PHP код:
          if(isset($_GET['id'])) {
              
$file_base file('../database/news.db');
            foreach(
$file_base as $file_base2) {
                list(
$theme_id$theme_name$theme_body$theme_date) = split(':'$file_base2);
                if(
$_GET['id'] == $theme_id$_GET['id'] = $id; unset($file_base[$id]);
               }
               
$fp_base fopen('../database/news.db''w');
            
$file_imp implode(''$file_base);
            
fputs($fp_base$file_imp);
            
fclose($fp_base);
          } 
строки в базе типа -
2:егьнгб:ама:18.11.08
 
Ответить с цитированием

  #2  
Старый 18.11.2008, 22:19
Аватар для Jer1cho
Jer1cho
Участник форума
Регистрация: 06.06.2008
Сообщений: 162
Провел на форуме:
3942177

Репутация: 244
Отправить сообщение для Jer1cho с помощью ICQ
По умолчанию

PHP код:
<?php

$ids 
'2:егьнгб:ама:18.11.08
4:егьнгб:ама:18.11.08
9:егьнгб:ама:18.11.08
3:егьнгб:ама:18.11.08
1:егьнгб:ама:18.11.08'
;

$id explode("\r\n"$ids);

foreach(
$id as $idd){
    if(
strpos($idd'4') === false){ 
        echo 
$idd.'<br/>';
    }
}
?>
 
Ответить с цитированием

  #3  
Старый 18.11.2008, 22:34
Аватар для Ru}{eeZ
Ru}{eeZ
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме:
956872

Репутация: 186
Отправить сообщение для Ru}{eeZ с помощью ICQ
По умолчанию

да, но если "4" встретится ещё до нужной мне строки? а если у строки ид будет "42"?
 
Ответить с цитированием

  #4  
Старый 18.11.2008, 22:49
Аватар для Jer1cho
Jer1cho
Участник форума
Регистрация: 06.06.2008
Сообщений: 162
Провел на форуме:
3942177

Репутация: 244
Отправить сообщение для Jer1cho с помощью ICQ
По умолчанию

PHP код:
<?php

$ids 
'2:егьнгб:ама:18.11.08
4:егьнгб:ама:18.11.08
9:егьнгб:ама:18.11.08
3:егьнгб:ама:184.11.08
1:егьнгб:ама:18.11.08'
;

$id explode("\r\n"$ids);

foreach(
$id as $idd){
    
$iddd = (explode(':'$idd)) ? $idd[0] : false;
    if(
strpos($iddd'4') === false){
        echo 
$idd.'<br/>';
    }
}
?>
 
Ответить с цитированием

  #5  
Старый 19.11.2008, 00:52
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Ru}{eeZ Ну люблю я регулярки))
PHP код:
  $ids '2:егьнгб:ама:18.11.08
4:егьнгб:ама:18.11.08
9:егьнгб:ама:18.11.08
3:егьнгб:ама:18.11.08
1:егьнгб:ама:18.11.08'


$delid=4;
$ids=preg_replace('#^'.preg_quote($delid).':[^\n]*$\n?#m','',$ids); 

Последний раз редактировалось Gifts; 19.11.2008 в 00:55..
 
Ответить с цитированием

  #6  
Старый 19.11.2008, 01:14
Аватар для Buffalon
Buffalon
Постоянный
Регистрация: 22.03.2008
Сообщений: 325
Провел на форуме:
1208132

Репутация: 63
По умолчанию

Цитата:
Сообщение от Ru}{eeZ  
да, но если "4" встретится ещё до нужной мне строки? а если у строки ид будет "42"?
ХМ чо то тупите ребята , а несудьба искать `4:`
PHP код:
<?php 

$ids 
'2:егьнгб:ама:18.11.08 
4:егьнгб:ама:18.11.08 
9:егьнгб:ама:18.11.08 
3:егьнгб:ама:18.11.08 
1:егьнгб:ама:18.11.08'


$id explode("\r\n"$ids); 

foreach(
$id as $idd){ 
    if(
strpos($idd'4:') == false){ // 
        
echo $idd.'<br/>'
    } 

?>
 
Ответить с цитированием

  #7  
Старый 19.11.2008, 01:43
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Buffalon
Ты сильно удивишься для входных данных:
Код:
34:егьнгб:ама:18.11.08 
14:егьнгб:ама:18.11.08
444444:егьнгб:ама:18.11.08
2123544:егьнгб:ама:18.11.08
1:егьнгбЧЕТЫРЕ4:ама:18.11.08
 
Ответить с цитированием

  #8  
Старый 19.11.2008, 16:45
Аватар для Ru}{eeZ
Ru}{eeZ
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме:
956872

Репутация: 186
Отправить сообщение для Ru}{eeZ с помощью ICQ
По умолчанию

Сделал вот так:

PHP код:
          if(isset($_GET['id'])) {
              
$file_base file('../database/news.db');
            foreach(
$file_base as $file_base2){
              if(
strpos($file_base2$_GET['id'].':') === FALSE){
                
$cleared[] = $file_base2;
              }
            }
            
$fp_base fopen('../database/news.db''w');
            
fputs($fp_baseimplode(''$cleared));
            
fclose($fp_base);
          } 
всё бы хорошо, если б только не выводило ошибку (и не записывало пустоту) пр нахождении ещё одной такой цифры c ":" ))

Последний раз редактировалось Ru}{eeZ; 19.11.2008 в 17:10..
 
Ответить с цитированием

  #9  
Старый 19.11.2008, 17:03
Аватар для t4Nk
t4Nk
Познающий
Регистрация: 23.09.2007
Сообщений: 75
Провел на форуме:
938032

Репутация: 86
По умолчанию

вот, вроде работает

PHP код:
if (!empty($_GET['id'])) {
    
$db file('news.db');
    
$f fopen('news.db''w');
    foreach (
$db as $line) {
        list(
$id$data) = explode(':'$line2);
        if (
$id == $_GET['id']) continue;
        
fputs($f$id.':'.$data);
        
    }
    
fclose($f);

 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите как удалить ИЕ в висте DTW Windows 12 01.10.2008 22:19
помогите удалить 7 осла встроеного XopoIII Болталка 7 22.09.2008 10:02
Помогите узнать пароль админа Моргенштерн АнтиАдмин 27 21.07.2008 01:35
Помогите написать программу на С++, генератор массива neon17 С/С++, C#, Delphi, .NET, Asm 3 20.01.2008 23:05



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ