Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запись в файл с установкой ид

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
makar3000
Отправлено: 10 Сентября, 2011 - 22:32:40
Post Id



Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)

[+]


Нужно записывать текст в файл но добавлять каждый раз при добавлении ид строки на которой он записан.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. if(isset($_POST['submit'])) {
  5. if(isset($_POST['qwe'])) {
  6.         $qwe = $_POST['qwe'];
  7.         if ($qwe == '') {
  8.                 unset($qwe);
  9.         }
  10. }
  11.  
  12. if(isset($_POST['qwer'])) {
  13.         $qwer=$_POST['qwer'];
  14.         if ($qwer =='') {
  15.                 unset($qwer);
  16.         }
  17. }
  18.  
  19. $file = fopen("counter.txt", "a+");
  20. $mytext = "NT: $qwe | TN: $qwer;\r\n";
  21. $test = fwrite($file, $mytext);
  22.  
  23. if($test) {
  24.         echo 'Данные в файл успешно занесены.';
  25. } else {
  26.         echo 'Ошибка при записи в файл.';
  27. }
  28.  
  29. fclose($file);
  30. }
  31.    
  32. $handle = fopen("counter.txt", "r");
  33. $n = '';
  34.  
  35. while (!feof($handle)) {
  36.         fgets($handle);
  37.         $n = $n+1;
  38. }
  39.  
  40. echo "n=$n";
  41.  
  42. fclose($handle);
  43. ?>
  44.  
  45. <form action="" method="post">
  46. <input type="input" name="qwe" />
  47. <input type="input" name="qwer" />
  48. <input type="submit" name="submit" value="Добавить" />
  49. </form>
  50.  


Вот при добавлении мне нужно добавлять ид

т.е добавил в чистый файл 1 строку. То к ней прибавилось: 1. NT | TN и так дальше 2. 3. 4. все с новой строчки
 
 Top
LIME
Отправлено: 10 Сентября, 2011 - 22:41:26
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




вам нумерация строк нужна чтоли?
(Добавление)
подумайте над переносом этого дела на БД
во первых там автоинкремент
во вторых на файлах еще нужна блокировка файла иначе при одновременном заходе 2ух и более юзеров может не сработать код
 
 Top
makar3000
Отправлено: 10 Сентября, 2011 - 23:05:30
Post Id



Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)

[+]


Так а как сделать что бы скрипт стабильно работал для N пользователей?

Мне нужно что бы при добавлении новой записи скрипт считал записи в файле и добавлял к числу +1 т.е в файле 3 строчки значит добавляем 4. Ну или как то так.

Нужно без БД
 
 Top
MrBeard
Отправлено: 10 Сентября, 2011 - 23:22:09
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 2 раз(а)




makar3000 пишет:
Так а как сделать что бы скрипт стабильно работал для N пользователей?

Мне нужно что бы при добавлении новой записи скрипт считал записи в файле и добавлял к числу +1 т.е в файле 3 строчки значит добавляем 4. Ну или как то так.

Нужно без БД

))) ручная блокировка! перед добавлением переименовываешь файл, добавляешь строчку, возвращаешь имя. Скрипт должен проверять наличие файла, и если от заблокирован - ждать освобождения... ничего менее извращённого в голову не приходит
 
 Top
makar3000
Отправлено: 10 Сентября, 2011 - 23:24:46
Post Id



Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)

[+]


а пример?) Я специально написал в разделе напишите за меня)
(Добавление)
а и нужно сделать страницу где выводить это дело, но сделать так что бы можно было указывать переменные.

т.е

выводим каждую строчку с файла.

Потом *** вытягиваем допустим с файла только то что выделено:



то что выделено нужно вытягивать с файла в переменные...
 
 Top
LIME
Отправлено: 11 Сентября, 2011 - 08:13:10
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




писать за вас не буду но подскажу
кол-во строк в файле(вариант не оптимальный но простой)
остается только инкремент и запись
для блокировки http://php.su/functions/?flock
если непонятно в мануале то вот
и в гугле поищите
(Добавление)
MrBeard пишет:
ничего менее извращённого в голову не приходит
велосипед

(Отредактировано автором: 11 Сентября, 2011 - 09:21:00)

 
 Top
MrBeard
Отправлено: 11 Сентября, 2011 - 09:40:49
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 2 раз(а)




LIME пишет:
MrBeard пишет:
ничего менее извращённого в голову не приходит
велосипед


да, точно, про flock забыл))
 
 Top
makar3000
Отправлено: 11 Сентября, 2011 - 12:21:58
Post Id



Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)

[+]


Всетаки решил бд воспользоватся.

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

т.е добавляем строчку в бд.

И когда ее выводим она должна выделятся красным в html но только 1 день потом меняет цвет на простой....
 
 Top
LIME
Отправлено: 11 Сентября, 2011 - 12:30:48
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




makar3000 добавте еще поле с датой добавления и при выводе проверяйте на совпадение с текущей
(Добавление)
или на 24 часа разницы от нее
 
 Top
makar3000
Отправлено: 11 Сентября, 2011 - 13:59:45
Post Id



Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)

[+]


Сделал, а как сделать что бы новые строчки появлялись в верху html таблицы а не в низу

делаю: ORDER BY id

То ставятся в верх а ID не 1 а 12 и тд

т.е в бд

1.
2.
3.
4.
5.

Добавил 6. и он выводит его мне в самый верх с идом 6. а мне нужно что бы был 1
 
 Top
LIME
Отправлено: 11 Сентября, 2011 - 14:07:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ORDER BY id DESC
тоесть в обратном порядке
(Добавление)
или я непонял?
если надо последние добавленные выводить под номером 1 и тд
то номера в хтмл надо проставлять не из поля а делать счетчик просто в цикле при выводе
(Добавление)
это же можно докумекать....проявите смекалку ))
 
 Top
makar3000
Отправлено: 11 Сентября, 2011 - 14:11:57
Post Id



Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)

[+]


Я знаю как сделать просто мне для этого нужно прикрутить к while($test = mysql_fetch_array($result))

Еще один запрос тогда будет всегда по порядку но while что то бычит на такое дело:

while($test = mysql_fetch_array($result) || $test2 = mysql_fetch_array($result2)) или &&
 
 Top
LIME
Отправлено: 11 Сентября, 2011 - 14:16:16
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




makar3000 ниче непонятно
вы говорите о коде но я то его не видел
(Добавление)
и структуру бд не знаю
 
 Top
makar3000
Отправлено: 11 Сентября, 2011 - 14:51:38
Post Id



Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)

[+]


Структура http://h1813090[dot]stratoserver[dot]net[dot][dot][dot]EqdSdlkpvfBw[dot]png

Код:

PHP:
скопировать код в буфер обмена
  1.  
  2. while($bdtemsrow = mysql_fetch_array($result)) {
  3. echo '<tr><td>'.$bdtemsrow['id'].'</td><td>'.$bdtemsrow['login'].'</td></tr>';
  4. }
  5.  
 
 Top
LIME
Отправлено: 11 Сентября, 2011 - 14:59:02
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




PHP:
скопировать код в буфер обмена
  1. $i=0;
  2. while($bdtemsrow = mysql_fetch_array($result)) {
  3. $i++;
  4. echo '<tr><td>'.$i.'</td><td>'.$bdtemsrow['login'].'</td></tr>';
  5. }
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB