Реклама на сайте Advertise with us

Пара вопросов по пхп

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 03.01.05
Сообщения: 62
Рейтинг: 1

Ссылка на сообщениеДобавлено: 04/02/05 в 18:48       Ответить с цитатойцитата 

Пожалуйста помогите!
Текстовый документ 1.txt
-------------------
::456::pppppppp::
::789::ooooooooo::
::555::yyyyyyyyy::
::664::ttttttttttttt::
::341::hhhhhhhh::
::5690::uuuuuuu::
----------------------
1)мне нужено удолить строку которая начинаеться на 555 и чтоб там не осталось дыры.
Чтоб результат был такой:
-------------------
::456::pppppppp::
::789::ooooooooo::
::664::ttttttttttttt::
::341::hhhhhhhh::
::5690::uuuuuuu::
----------------------




2)Отдельный скрипт нужно чтоб на странице выводило определенное количество строк ну например по две на страницу и был переход на другую страницу, где выодяться следуюшие две строки
Текстовый документ 2.txt
-------------------
::Инет::ссылка на статью::
::компы::ссылка::
::статьи::ссылка::
::игры::ссылка::
::пхп::ссылка::
------------------
Примерно такой результат:

Инет
компы
<< |1|2|3| >>




Заранее спасибо

0
 



С нами с 01.12.02
Сообщения: 217
Рейтинг: 56

Ссылка на сообщениеДобавлено: 04/02/05 в 19:31       Ответить с цитатойцитата 

Исходя из написанных тобой сообщений, предлагаю тебе почитать мануал по MySQL. Многие вопросы отпадут сами собой!!!
Если ты начинающий программер (ИМХО, так оно и есть), то не вникая в создание собственных СУБД icon_smile.gif лучше займись вопросом с MySQL (Мускуль), потратишь меньше времени... icon_smile.gif
1 скрипт с использованием мускуля:
Код:

    <?php
    $i = '555';
    $query = "DELETE FROM table WHERE first_col = '$i'";
    $result = MYSQL_QUERY($query);
    ?>

Тут тебе сразу $result даст и количество удаленных строк, да и ошибок 100% не будет...
Потом сравнишь код, если кто напишет, при удалении из файла...

0
 

Снимаю. Порчу.

С нами с 25.12.99
Сообщения: 1234
Рейтинг: 786

Ссылка на сообщениеДобавлено: 04/02/05 в 19:38       Ответить с цитатойцитата 

первый случай:
Код:
<?php
$file = file('1.txt');
$fl = fopen('1.txt','w');
foreach($file as $v)
{
   if(!preg_match(':555:',$v)) fwrite($fl,$v);
}
fclose($fl);
?>

Свободу Анжеле Дэвис!

1
 



С нами с 01.12.02
Сообщения: 217
Рейтинг: 56

Ссылка на сообщениеДобавлено: 04/02/05 в 20:25       Ответить с цитатойцитата 

Согласен, ошибся... icon_razz.gif
Код:

$num_del_rows = MYSQL_AFFECTED_ROWS();

даст тебе количество строк icon_smile.gif
но работать это будет быстрее smail21.gif

0
 



С нами с 30.06.03
Сообщения: 794
Рейтинг: 202

Ссылка на сообщениеДобавлено: 04/02/05 в 20:34       Ответить с цитатойцитата 

Текстовые файлы лучшая база данных=))

0
 



С нами с 03.01.05
Сообщения: 62
Рейтинг: 1

Ссылка на сообщениеДобавлено: 04/02/05 в 23:28       Ответить с цитатойцитата 

Gary:
Большое спасибо конечно за код, но у меня удолят все строки где хоть сколько 555 стоит хоть их столько будет 55555555555555555. Суть в том что у меня порядок будет по возрастанию 1 2 3 4 5 6 7 8 9 10 и когда я буду удолять строку у меня удолит и строку с 1 и с 10 вот.
Leon:
Спасибо за совет, но сейчас мне обизательно нужно в txt


Как все же делать что б в первом случие не удоляло и со вторым помогите люди добрые...

0
 

Снимаю. Порчу.

С нами с 25.12.99
Сообщения: 1234
Рейтинг: 786

Ссылка на сообщениеДобавлено: 05/02/05 в 00:29       Ответить с цитатойцитата 

add писал:
Gary:
Большое спасибо конечно за код, но у меня удолят все строки где хоть сколько 555 стоит хоть их столько будет 55555555555555555. Суть в том что у меня порядок будет по возрастанию 1 2 3 4 5 6 7 8 9 10 и когда я буду удолять строку у меня удолит и строку с 1 и с 10 вот.
...

упс.. ошибочка вышла, сделай так:
Код:

<?php
$file = file('1.txt');
$fl = fopen('1.txt','w');
foreach($file as $v)
{
   if(!preg_match('/:555:/',$v)) fwrite($fl,$v);
}
fclose($fl);
?>

Свободу Анжеле Дэвис!

0
 

Снимаю. Порчу.

С нами с 25.12.99
Сообщения: 1234
Рейтинг: 786

Ссылка на сообщениеДобавлено: 05/02/05 в 01:28       Ответить с цитатойцитата 

во втором случае примерно так:
Код:
<?php
if(!empty($_GET['page'])) $page = $_GET['page'];
else $page = 1;
$links = 2;
$file = file('2.txt');
$pages = ceil(count($file)/$links);
for($i=$page*$links-$links ; $i<$page*$links ; $i++)
{
   $items = explode('::',$file[$i]);
   echo "<a href=\"".$items[2]."\">".$items[1]."</a><br>\n";
}
if($page>1) echo "<a href=\"?page=".($page-1)."\"><<</a> ";
for($i=1;$i<=$pages;$i++)
{
   echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
if($page<$pages) echo "<a href=\"?page=".($page+1)."\">>></a>";
?>

Свободу Анжеле Дэвис!

1
 



С нами с 03.01.05
Сообщения: 62
Рейтинг: 1

Ссылка на сообщениеДобавлено: 05/02/05 в 12:41       Ответить с цитатойцитата 

Gary:
Большое спасибо!!! Очень сильно помог!!!

0
 



С нами с 03.01.05
Сообщения: 62
Рейтинг: 1

Ссылка на сообщениеДобавлено: 06/02/05 в 10:26       Ответить с цитатойцитата 

Можете ещё помочь во втором случие нужно чтоб ешё определенные строчки только выводило например с 111
Пример 1.txt
-----------------
::111::rrrrrrrrrrrr::ссылка1::
::3333::uuuuuuuuu::ссылка2::
::111::fffffffffffff::ссылка::
::5555::dddddd::ссылка::
::77::ddd::ссылка::
::1::eeeeeee::ссылка::
::111::ttttttt::ссылка::
---------------
Получаеться нужно чтоб выводило только первую строку третью и последнию и было такого вида:
Примерно такой результат:

rrrrrrrrrrrr
fffffffffffff
<< |1|2| >>

0
 



С нами с 15.09.03
Сообщения: 484
Рейтинг: 210

Ссылка на сообщениеДобавлено: 06/02/05 в 13:42       Ответить с цитатойцитата 

Gary писал:
первый случай:
Код:
<?php
$file = file('1.txt');
$fl = fopen('1.txt','w');
foreach($file as $v)
{
   if(!preg_match(':555:',$v)) fwrite($fl,$v);
}
fclose($fl);
?>


Если большой файл, то рванет. лучше читать потоком, писать в темп файл, а в конце переименовывать.

0
 

Снимаю. Порчу.

С нами с 25.12.99
Сообщения: 1234
Рейтинг: 786

Ссылка на сообщениеДобавлено: 06/02/05 в 14:00       Ответить с цитатойцитата 

Цитата:
чтоб ешё определенные строчки только выводило например с 111

Код:
<?php
if(!empty($_GET['page'])) $page = $_GET['page'];
else $page = 1;
$links = 2;
$file = file('2.txt');
$pages = ceil(count($file)/$links);
for($i=$page*$links-$links ; $i<$page*$links ; $i++)
{
   $items = explode('::',$file[$i]);
   if($items[1]=='111') echo "<a href=\"".$items[3]."\">".$items[2]."</a><br>\n";
}
if($page>1) echo "<a href=\"?page=".($page-1)."\"><<</a> ";
for($i=1;$i<=$pages;$i++)
{
   echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
if($page<$pages) echo "<a href=\"?page=".($page+1)."\">>></a>";
?>

Свободу Анжеле Дэвис!

1
 

Снимаю. Порчу.

С нами с 25.12.99
Сообщения: 1234
Рейтинг: 786

Ссылка на сообщениеДобавлено: 06/02/05 в 14:01       Ответить с цитатойцитата 

undef писал:
Если большой файл, то рванет. лучше читать потоком, писать в темп файл, а в конце переименовывать.

согласен..

Свободу Анжеле Дэвис!

0
 



С нами с 03.01.05
Сообщения: 62
Рейтинг: 1

Ссылка на сообщениеДобавлено: 08/02/05 в 14:47       Ответить с цитатойцитата 

Gary:
Спасибо!
Но у меня в этот код неполучаеться вставить. Можете помочь...

Код:
switch($dosk) :
default :
print"<center><b><a href=index.php?dosk=kat&id=stroi>Строительство [0]</a></center></b><br><br>";
break;

case("kat") :
if ($id == "") { print "Ошибка"; exit; }


if(!empty($_GET['page'])) $page = $_GET['page'];
else $page = 1;
$links = 2;
$file = file('objavlenia.data');
$pages = ceil(count($file)/$links);
for($i=$page*$links-$links ; $i<$page*$links ; $i++)
{
$items = explode('::',$file[$i]);
if($items[1]=='$id')
print "<table width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td><strong>Имя:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong>$items[2]</td>
</tr>
</table>
<BR><BR>";
}
if($page>1) echo "<a href=\"?page=".($page-1)."\"><<</a> ";
for($i=1;$i<=$pages;$i++)
{
echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
if($page<$pages) echo "<a href=\"?page=".($page+1)."\">>></a>";
break;
endswitch;

0
 



С нами с 03.01.05
Сообщения: 62
Рейтинг: 1

Ссылка на сообщениеДобавлено: 08/02/05 в 19:16       Ответить с цитатойцитата 

Тут тоже что-то не получаеться пожалуйста помогите.

Код:
switch($sait) :
default :
$delkatf = @file("razdeldosk.data");
for ($i01=0;$i01<count($delkatf);$i01++ ) {
$ud = explode("::",$delkatf[$i01]);
print"$ud[2]";
print"<a href=del.php?sait=kat&id=$ud[1]>Удалить</a><br>";
}
break;

case("kat") :
if ($id == "") { print "Параметр ID не задан!"; exit; }
$file = file('razdeldosk.data');
$fl = fopen('razdeldosk.data','w');
foreach($file as $v)
{
if(!preg_match(':$id:',$v)) fwrite($fl,$v);
}
fclose($fl);
break;
endswitch;

0
 



С нами с 03.01.05
Сообщения: 62
Рейтинг: 1

Ссылка на сообщениеДобавлено: 10/02/05 в 20:53       Ответить с цитатойцитата 

Всем огромное спасибо особенно Gary: за помошь, я пошел другим способом, более простым путем. Тему можно закрывать.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »