|
|
|
| Здраствуйте.Я новичок в 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);
?>
|
Но оно не хочет работать (в цикл поподает что ли...комп виснет...).
Помогите пожалуйста понять где тут я ошибься...
Помогите с советом. | |
|
|
|
|
|
|
|
для: makigo
(30.11.2010 в 22:48)
| | У вас так и выглядят строки кода, без отступов (табуляции) слева? Если да, то вам удобно читать код свой? | |
|
|
|
|
|
|
|
для: makigo
(30.11.2010 в 22:48)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Красная_шляпа
(01.12.2010 в 01:00)
| | То ли вы вопрос мой не поняли то ли я плохо обьяснил то ли еще что то..., но из всего что вы написали я ничего не понял...
У меня текстовый файл база скажем такими вот внутренностями:
бла0::бла бла бла::бла бла бла::бла бла::
бла1::бла бла бла::бла бла бла::бла бла::
бла2::бла бла бла::бла бла бла::бла бла::
бла3::бла бла бла::бла бла бла::бла бла::
бла4::бла бла бла::бла бла бла::бла бла::
Я хочу из админки изменить распорядок строк (переместить нужную строку вверх или вниз) скажем так: пример1
бла0::бла бла бла::бла бла бла::бла бла::
бла2::бла бла бла::бла бла бла::бла бла::
бла1::бла бла бла::бла бла бла::бла бла::
бла3::бла бла бла::бла бла бла::бла бла::
бла4::бла бла бла::бла бла бла::бла бла::
По моему я такое видел у прекрасного программиста автора WR Scripts(Галерея если не ошибаюсь).
Я сам написал код с помощю которого могу перетащить строку вниз (в примере1 я переместил строку N1 на порядок вниз а N2 переместился напорядок вверх ).Но не получается переместить скажем ту же самую строку вверх (хотя реьультат будет та же но так не очень и удобно сделать перестановку строк).
Просто вспомнил что видел такое и попытался сделать то же самое свойми силами.Я повтарюсь что я не ас в php просто любитель и прошу помочь решить эту проблемку. | |
|
|
|
|
|
|
|
для: makigo
(01.12.2010 в 10:47)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Красная_шляпа
(01.12.2010 в 11:42)
| | считать строки в массив $strings - file
только в том случае, если файл маленький
в противном случае хостер Вам "перекроет кислород"
___
автору темы:
завязывайте Вы с этой хреновней и переходите на использование базы данных | |
|
|
|
|
|
|
|
для: Valick
(01.12.2010 в 11:53)
| | Спасибо за совет!Просто у нас хостинг с sql в два раза дороже... | |
|
|
|