Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Перемещение строк в текстовом файле
 
 автор: makigo   (30.11.2010 в 22:48)   письмо автору
 
 

Здраствуйте.Я новичок в php и любитель.Вот у меня базза в текстовом файле типа
111111
222222
333333
444444
...
Хочу сделать программку с помощю которого можно будет как бы сделать перестановку строк (вверх или вниз: ну кнопки такие перед каждой записью из баззы).При нажатий передается инфо с помощю GET к файлу, который все и сделает.Например сделать так:

333333
222222
111111
444444
...
Долго думал и написал так:

<?php
$fl 
"data.txt";
$line $_GET['edit'];
$file file($fl);
$count count($file);
$fp fopen($fl,"w");
for(
$i=0;$i<$count;$i++)
{
if((
$i!=$line)&&($i!=$line+1))
{
fwrite($fp,$file[$i]);
}else{
if(
$i=$line)
{
fwrite($fp,$file[$i+1]);
}
if(
$i=$line+1)
{
fwrite($fp,$file[$i-1]);
}
}
}
fclose($fp);
?>

И оно работает (другое дело насколько оно грамотно написано;)).С помощю этого кода можно переместить нужную строку вниз (но не первую).
Но надо бы и вверх переместить строки и по принципу первого я написал так:

<?php
$fl 
"data.txt";
$line $_GET['edit'];
$file file($fl);
$count count($file);
$fp fopen($fl,"w");
for(
$i=0;$i<$count;$i++)
{
if((
$i!=$line)&&($i!=$line-1))
{
fwrite($fp,$file[$i]);
}else{
if(
$i=$line)
{
fwrite($fp,$file[$i-1]);
}
if(
$i=$line-1)
{
fwrite($fp,$file[$i+1]);
}
}
}
fclose($fp);
?>

Но оно не хочет работать (в цикл поподает что ли...комп виснет...).
Помогите пожалуйста понять где тут я ошибься...
Помогите с советом.

  Ответить  
 
 автор: sim5   (30.11.2010 в 23:12)   письмо автору
 
   для: makigo   (30.11.2010 в 22:48)
 

У вас так и выглядят строки кода, без отступов (табуляции) слева? Если да, то вам удобно читать код свой?

  Ответить  
 
 автор: Красная_шляпа   (01.12.2010 в 01:00)   письмо автору
 
   для: makigo   (30.11.2010 в 22:48)
 

[поправлено модератором]

  Ответить  
 
 автор: makigo   (01.12.2010 в 10:47)   письмо автору
 
   для: Красная_шляпа   (01.12.2010 в 01:00)
 

То ли вы вопрос мой не поняли то ли я плохо обьяснил то ли еще что то..., но из всего что вы написали я ничего не понял...
У меня текстовый файл база скажем такими вот внутренностями:
бла0::бла бла бла::бла бла бла::бла бла::
бла1::бла бла бла::бла бла бла::бла бла::
бла2::бла бла бла::бла бла бла::бла бла::
бла3::бла бла бла::бла бла бла::бла бла::
бла4::бла бла бла::бла бла бла::бла бла::
Я хочу из админки изменить распорядок строк (переместить нужную строку вверх или вниз) скажем так: пример1
бла0::бла бла бла::бла бла бла::бла бла::
бла2::бла бла бла::бла бла бла::бла бла::
бла1::бла бла бла::бла бла бла::бла бла::
бла3::бла бла бла::бла бла бла::бла бла::
бла4::бла бла бла::бла бла бла::бла бла::

По моему я такое видел у прекрасного программиста автора WR Scripts(Галерея если не ошибаюсь).
Я сам написал код с помощю которого могу перетащить строку вниз (в примере1 я переместил строку N1 на порядок вниз а N2 переместился напорядок вверх ).Но не получается переместить скажем ту же самую строку вверх (хотя реьультат будет та же но так не очень и удобно сделать перестановку строк).
Просто вспомнил что видел такое и попытался сделать то же самое свойми силами.Я повтарюсь что я не ас в php просто любитель и прошу помочь решить эту проблемку.

  Ответить  
 
 автор: Красная_шляпа   (01.12.2010 в 11:42)   письмо автору
 
   для: makigo   (01.12.2010 в 10:47)
 

[поправлено модератором]

  Ответить  
 
 автор: Valick   (01.12.2010 в 11:53)   письмо автору
 
   для: Красная_шляпа   (01.12.2010 в 11:42)
 

считать строки в массив $strings - file
только в том случае, если файл маленький
в противном случае хостер Вам "перекроет кислород"
___
автору темы:
завязывайте Вы с этой хреновней и переходите на использование базы данных

  Ответить  
 
 автор: makigo   (01.12.2010 в 12:16)   письмо автору
 
   для: Valick   (01.12.2010 в 11:53)
 

Спасибо за совет!Просто у нас хостинг с sql в два раза дороже...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования