[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: удалить строку из массива
mihai
помогите как удалить строку из массива
она не удаляется почему то

PHP
$id $_GET['id'];
$file fopen ("CSVfile.txt","r+"); //Открываем файл
unset($file[$id]); //Удаляем строку
fclose($file);

echo 
"<form action='guest.php' method='GET'>
      <input name='id' type='radio' value='$n'>
      <textarea rows=6 cols=70>$stroka[5]</textarea><br>
      <input  type='submit' value='Удалить новость'>
      </form>"
;




Спустя 4 минуты, 20 секунд (22.03.2009 - 14:12) Viking написал(а):
PHP
$id $_GET['id'];
$file file ("CSVfile.txt"); //Открываем файл
unset($file[$id]); //Удаляем строку
//fclose($file);

echo "<form action='guest.php' method='GET'>
      <input name='id' type='radio' value='$n'>
      <textarea rows=6 cols=70>$stroka[5]</textarea><br>
      <input  type='submit' value='Удалить новость'>
      </form>"
;

Спустя 1 час, 57 минут, 55 секунд (22.03.2009 - 16:10) mihai написал(а):
не нифига не удаляется

Спустя 1 час, 11 минут, 53 секунды (22.03.2009 - 17:22) sergeiss написал(а):
mihai - а ты можешь объяснить, как у тебя связаны между собой хотя бы 2 строки кода? Я уж не говорю о том, что всё вместе - полный бардак smile.gif

Спустя 2 минуты, 3 секунды (22.03.2009 - 17:24) Viking написал(а):
Цитата
не нифига не удаляется

ничем не могу помочь, у меня все фига удаляется
вот код:
PHP
<?php
$id 
2;
$file file ("CSVfile.txt");
var_dump($file);
echo 
"удаляем строку";
unset(
$file[$id]);
var_dump($file);

вот результат:
Цитата
array
  0 => string 'строка 0
' (length=15)
  1 => string 'строка 1
' (length=15)
  2 => string 'строка 2
' (length=15)
  3 => string 'строка 3' (length=14)
удаляем строку
array
  0 => string 'строка 0
' (length=15)
  1 => string 'строка 1
' (length=15)
  3 => string 'строка 3' (length=14)

Спустя 2 минуты, 54 секунды (22.03.2009 - 17:27) sergeiss написал(а):
Viking - у меня есть большое подозрение, что автор хочет удалить нечто из файла. Чтобы при дальнейшем открытии это нечто уже отсутствовало.
И хочет для этого указать, что же именно удалять.

Но это на уровне предположений.

Потому что:
1. У него в коде (именно у него в коде, а не у тебя) id - это radio, а не целая величина.
2. После удаления он ничего никуда не сохраняет.

Вопрос (риторический): а с какого перепугу что-то исчезнет из файла?

Спустя 6 минут, 15 секунд (22.03.2009 - 17:33) Viking написал(а):
на счет ид - радио, если бы у него было определено $n как целое число, то оно и было бы целым числом, ибо ид берется из <input name='id' type='radio' value='$n'>
на счет остального - у меня тоже было предположение на счет файла, но тут можно слишком много чего предположить

Спустя 54 минуты, 36 секунд (22.03.2009 - 18:28) mihai написал(а):
изначально
из формы посылается id при помощи радиокнопки

и скрипт обработчик удаляет нужную строку сответствующую id

и до этого момента скрипт работает нормально

но поскольку дальше скрипт работает не так как надо. приходится изобретать,

ну хорошо оставим пока

помогите хоть тут
скрипт редактирования текста в файле .txt
но проблема в том что
при "r" добовляет новую строку а соотвественно и новое окно
при "w" всё удаляет к едрене фени после закрытия
при "a" всё удваивается

как сделать чтобы просто переписывал содержимое файла
или удалял содержимое в файле

PHP
<form action="edit.phpmethod="GET">
<
pre>
<
textarea name="city" rows=12 cols=70><?echo $buff;?></textarea><br><br>
<input type="submit" name="knopka" value="Send">
</pre>
</form>
if (isset ($_GET['city']))
{$city = $_GET['city'];}
$city    = $_GET['city'];
/*файл записи */
$file = fopen ("CSVfile.txt","r+");
if ( !$file )
  {
    echo("Ошибка открытия файла");
  }
  else
  {
    fputs ( $file, $city);
  



Спустя 10 минут, 19 секунд (22.03.2009 - 18:38) sergeiss написал(а):
Значит, смотри.

Сначала все-таки насчет айди. Я так и не понял, зачем в виде радиокнопки передавать величину? Ведь если ты не выберешь эту радиокнопку, то ничего не будет передано. А у тебя нету контроля "выбрано-не выбрано"!!!

Далее. Чтобы перезаписать файл, надо
1. Сначала считать старые данные из файла.
2. Удалить (изменить) их.
3. Открыть открыть файл с параметров "w" и записать туда измененные данные.

На этапе 3 старые данные будут (в файле) потеряны, там окажется то, что ты запишешь.

Спустя 27 минут, 10 секунд (22.03.2009 - 19:05) Viking написал(а):
вот короче
HTML
<?php
if (isset ($_GET['city']))
{$city = $_GET['city'];

$file = fopen ("CSVfile.txt","w");
if ( !$file ) die("Ошибка открытия файла");
fputs($file,$city);
fclose($file);
}
$buff = file_get_contents("CSVfile.txt");

?>
<form action="edit.php" method="GET">
<pre>
<textarea name="city" rows=12 cols=70><?php echo $buff;?></textarea><br><br>
<input type="submit" name="knopka" value="Send">
</pre>
</form>

Спустя 7 минут, 31 секунда (22.03.2009 - 19:13) Viking написал(а):
Цитата
Сначала все-таки насчет айди. Я так и не понял, зачем в виде радиокнопки передавать величину? Ведь если ты не выберешь эту радиокнопку, то ничего не будет передано. А у тебя нету контроля "выбрано-не выбрано"!!!

может у него одна из них checked

Спустя 46 минут, 10 секунд (22.03.2009 - 19:59) mihai написал(а):
Viking
чё то опять не то

Warning: file_get_contents(CSVfile.txt) [function.file-get-contents]: failed to open stream: No such file or directory in Z:\home\localhost\www\edit3.php on line 10

Спустя 12 минут, 44 секунды (22.03.2009 - 20:12) Viking написал(а):
ошибка говорит, что у тебя нет такого файла CSVfile.txt

Спустя 1 минута, 55 секунд (22.03.2009 - 20:14) Viking написал(а):
если ты невзирая на эту ошибку нажмешь на кнопку, то все должно быть нормально

Спустя 15 минут, 25 секунд (22.03.2009 - 20:29) mihai написал(а):
нет нет
всё нормально
это я с растройства не туда всё заделал
biggrin.gif
всё работает всё ОК
ещё раз спасибо

Viking- палочка выручалочка

ну что ж начнём дальше голову ломать,
как теперь всё это устроено
mad.gif

Спустя 21 минута, 40 секунд (22.03.2009 - 20:51) Viking написал(а):
Цитата
Viking- палочка выручалочка

мда, чето я слишком добрый стал, пора бросать пить...
smile.gif

Спустя 19 минут, 59 секунд (22.03.2009 - 21:11) mihai написал(а):
а ты доброе дело сделал
и сразу

WMR 645753334564

ну что б было на что пить

Спустя 2 года, 3 месяца, 1 день, 17 часов, 40 минут, 47 секунд (24.06.2011 - 13:52) Guest написал(а):
[move]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.