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

Форум PHP

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

 

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

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

тема: Редактирование строки
 
 автор: ZetRider   (20.03.2006 в 21:14)   письмо автору
 
 

Есть файл в нем записана информация такова вида:

123||lalala||
345||mamama||
567||fuyfufy||
789||pupupu||


ети строки я вывожу таким образом:

<?php
  $arr 
file("123.txt");
  
$i 0
  foreach(
$arr as $line)
  {
    
$i  
    list(
$name_menu$lnk_menu) = explode("||"$line);
    
$user['name_menu'][]       = $name_menu;
    
$user['lnk_menu'][]            = $lnk_menu;
  }
  for(
$i=count($arr)-1$i>=0$i--)
  {
    echo 
"<a href=".$user['lnk_menu'][$i]."> ".$user['name_menu'][$i]." </a><br>";
  }
?>


нужно сделать чтобы их можно было выводить в каждую новую форму такова вида:

<form method="post" action="index.php">
<input type='text' name='str' size='67' ><br>
<input type='text' name='str2' size='67' ><br>
<input type='submit' name='Submit'  value='Save'>

и сохранять изменения которые будут введены....
как мона ето осужествить?

   
 
 автор: cheops   (21.03.2006 в 01:57)   письмо автору
 
   для: ZetRider   (20.03.2006 в 21:14)
 

Можно поступить следующим образом
<?php 
  
// Обработчик HTML-формы
  
if(!empty($_POST))  
  {
    
// Читаем содержимое файла
    
$arr file("123.txt"); 
    
$i 0
    foreach(
$arr as $line
    { 
      if(!empty(
$line))
      {
        list(
$name_menu$lnk_menu) = explode("||"$line); 
        
$user['name_menu'][]       = $name_menu
        
$user['lnk_menu'][]            = $lnk_menu
      }
    } 
    
// Изменяем выбраннные элементы массива
    
$user['name_menu'][$_POST['index']] = $_POST['name_menu'];
    
$user['lnk_menu'][$_POST['index']] = $_POST['lnk_menu'];
    
// Записываем изменённое содержимое обратно в файл
    
$content "";
    for(
$i 0$i count($user['lnk_menu']); $i++) 
    { 
      
$content .= $user['name_menu'][$i]."||".$user['lnk_menu'][$i]."||\r\n"
    } 
    
$fd fopen("123.txt","w");
    if(!
$fd) exit("Невозможно открыть файл");
    
fwrite($fd,$content);
    
fclose($fd);
  }

  
// Выводим HTML-формы для редактирования
  
$arr file("123.txt"); 
  
$i 0
  foreach(
$arr as $line
  { 
    if(!empty(
$line))
    {
      list(
$name_menu$lnk_menu) = explode("||"$line); 
      
$user['name_menu'][]        = $name_menu
      
$user['lnk_menu'][]         = $lnk_menu
    }
  } 
  for(
$i=count($arr)-1$i>=0$i--) 
  { 
    echo 
"<form method=post> 
           <input type='text' name='name_menu' size='67' value='"
.$user['name_menu'][$i]."' ><br> 
           <input type='text' name='lnk_menu' size='67' value='"
.$user['lnk_menu'][$i]."'><br> 
           <input type=hidden name=index value=
$i>
           <input type='submit' name='Submit'  value='Save'>
          </form>"

  } 
?>

   
 
 автор: ZetRider   (21.03.2006 в 13:15)   письмо автору
 
   для: cheops   (21.03.2006 в 01:57)
 

Огромное спасиба!!!

   
 
 автор: ZetRider   (22.03.2006 в 21:37)   письмо автору
 
   для: ZetRider   (21.03.2006 в 13:15)
 

Решил чуток переделать скрипт... и чета он глючно раюотает... он исправляет! но и в тоже время добавляет 2 последние строки в самый верх и еще +2 строки пустых, и так какждый раз при исправление непойму в чем проблема! =(


<?php 
$puti
="gb.txt";
  
// Обработчик HTML-формы 
  
if(!empty($_POST))   
  { 
    
// Читаем содержимое файла 
    
$arr file("$puti"); 
    
$i 0
    foreach(
$arr as $line
    { 
      if(!empty(
$line)) 
      { 
        list(
$name$time$mail$icq$msg$ip) = explode(":"$line); 
    
$user['name'][]       = $name;
    
$user['time'][]       = $time;
    
$user['mail'][]       = $mail;
    
$user['icq'][]        = $icq;
    
$user['msg'][]        = $msg;
    
$user['ip'][]         = $ip;
      } 
    } 
    
// Изменяем выбраннные элементы массива 
    
$user['name'][$_POST['index']] = $_POST['name'];
    
$user['time'][$_POST['index']] = $_POST['time']; 
    
$user['mail'][$_POST['index']] = $_POST['mail']; 
    
$user['icq'][$_POST['index']] = $_POST['icq']; 
    
$user['msg'][$_POST['index']] = $_POST['msg'];  
    
$user['ip'][$_POST['index']] = $_POST['ip']; 
    
// Записываем изменённое содержимое обратно в файл 
    
$content ""
    for(
$i 0$i count($user['name']); $i++) 
    { 
      
$content .= $user['name'][$i].":".$user['time'][$i].":".$user['mail'][$i].":".$user['icq'][$i].":".$user['msg'][$i].":".$user['ip'][$i].":\r\n"
    } 
    
$fd fopen("$puti","w"); 
    if(!
$fd) exit("Невозможно открыть файл"); 
    
fwrite($fd,$content); 
    
fclose($fd); 
  } 

  
// Выводим HTML-формы для редактирования 
  
$arr file("$puti"); 
  
$i 0
  foreach(
$arr as $line
  { 
    if(!empty(
$line)) 
    { 
      list(
$name$time$mail$icq$msg$ip) = explode(":"$line); 
    
$user['name'][]       = $name;
    
$user['time'][]       = $time;
    
$user['mail'][]       = $mail;
    
$user['icq'][]        = $icq;
    
$user['msg'][]        = $msg;
    
$user['ip'][]         = $ip;
    } 
  } 
  for(
$i=count($arr)-1$i>=0$i--) 
  { 
    echo 
"<form method=post> 
<table border='1' width='100%' id='table1' cellspacing='0' cellpadding='0' style='border-style: solid; border-width: 1px'>
    <tr>
        <td>Имя:</td>
        <td><input type='text' name='name' size='67' value='"
.$user['name'][$i]."' ></td>
    </tr>
    <tr>
        <td>Время:</td>
        <td><input type='text' name='time' size='67' value='"
.$user['time'][$i]."'></td>
    </tr>
    <tr>
        <td>E-Mail:</td>
        <td><input type='text' name='mail' size='67' value='"
.$user['mail'][$i]."'></td>
    </tr>
    <tr>
        <td>ICQ:</td>
        <td><input type='text' name='icq' size='67' value='"
.$user['icq'][$i]."'></td>
    </tr>
    <tr>
        <td>Сообщение:</td>
        <td><input type='text' name='msg' size='67' value='"
.$user['msg'][$i]."'></td>
    </tr>
    <tr>
        <td>IP адресс:</td>
        <td><input type='text' name='ip' size='67' value='"
.$user['ip'][$i]."'></td>
    </tr>
    <tr>
        <td colspan='2'> 
           <input type=hidden name=index value=
$i
                 <input type='submit' name='Submit0'  value='Save'>
        </td>
    </tr>
</table>
          </form>"

  } 
?>

   
 
 автор: ZetRider   (23.03.2006 в 14:43)   письмо автору
 
   для: ZetRider   (22.03.2006 в 21:37)
 

Ответа никто незнает :(?

   
 
 автор: ZetRider   (24.03.2006 в 08:10)   письмо автору
 
   для: ZetRider   (23.03.2006 в 14:43)
 

Решил чуток переделать скрипт... и чета он глючно раюотает... он исправляет! но и в тоже время добавляет 2 последние строки в самый верх и еще +2 строки пустых, и так какждый раз при исправление непойму в чем проблема! =(

   
 
 автор: Panker   (24.03.2006 в 08:57)   письмо автору
 
   для: ZetRider   (24.03.2006 в 08:10)
 

БОЛЬШОЕ ТЕБЕ СПАСИБО! твоя форма какрас подошла мне под гостевуху ) тепреь у меня лучшая гсотевуха!
помочь не магу я новичёк! а вот спросить магу :)
ПОЖАЛУЙСТО ПОМОГИТЕ вывести эти формы постранично ну наример 5 форм на страницу :( как осуществитЬ! му меян 2 вечне проблемы
1 форма сохрнения и постраниччный вывод!
помогите вывести это постранично!!! УМОЛЯЮ :((((((((
и моя СОВЕРШЕНАЯ ГСОТЕВАЯ будет на вашей совести :)))))
ЗЫ спасибо :))) за всё что будет и было )))

   
 
 автор: ZetRider   (24.03.2006 в 09:05)   письмо автору
 
   для: Panker   (24.03.2006 в 08:57)
 

вот скрипт вывода постранично сообщений... тебе просто нуна соединить ети скрипты и все....


<?php
$base
="log.txt"// Файл где находиться инфа

$general=file($base); //Заносим весь наш файл в массив

$lines_file=file($base); //Еще разочек занесем наш файли в массив :-)

$lines=count($lines_file); //Считаем общее количество записей в файле, ну т.е. строк.

$pmessages file("$base");

$onlyg=10//Сколько записей выводить на страницу

if (@$page == "" or $page 0//Если переменная $page равна пустоте, или она меньше 0
{
$page "1"//Тогда переменнная $page=1
}

$first count($pmessages) - ($onlyg * ($page 1));
$second count($pmessages) - ($onlyg $page) + 1;

if (
$second 1)
{
$second 1;
}

$pages = (int) ((count($pmessages) + $onlyg) / $onlyg); //Считаем общее количество страниц

for ($onlyg 1$onlyg <= $pages$onlyg++) //Загоняем все в цикл, т.е. присваемваем переменно $onlyg значение
//1 и пока она меньше или равна $pages увеличиваем ее на единичку.
{
if (
$onlyg != $page//Если $olyg не равняется $page
{
//То наши ссылки имеют такой вид
$line .= "[ <a href=\"index.php?page=$onlyg\">$onlyg</a> ]";
}
if (
$onlyg == $page//А если равняеться
{
//То такой
$line .= "[ $onlyg ]"//Ну т.е. в выводим не в виде ссылки ту страницу где сейчас находиться пользователь
}
}


for ( 
$i $first-1$i >= $second-1$i--)
{
list(
$name$time)=explode(":"$general[$i]);
$id $i;
$id++;
echo 
"
<b>
$name:</b> $time
"
;
}
echo 
"<br><center><b>$line</b><br>Всего записей - <font color=red>$lines</font>.</center>";
?>

   
 
 автор: Panker   (24.03.2006 в 09:07)   письмо автору
 
   для: ZetRider   (24.03.2006 в 09:05)
 

я так и знал ) ты любиФФ загадки ) я не умею их разгадывать ))
у мяен есть пострничная навигация даже 2 или 3 хороших :) но не одну из них с данным скриптом соеденить не смог :( ща буду пробывать ) надеюсь хеопс появится быстрей чем я усмру от раздумий :)

   
Rambler's Top100
вверх

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