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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Работа с id
Yuriy
Отправлено: 29 Июня, 2007 - 21:36:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007  
Откуда: Азов


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





(Извините за корявое название темы)


На странице имеется N записей. Каждая имеет свой id. Я могу любую из них удалить не только со страницы, но она также удаляется из текстового файла. id=номер строки в файле. Представьте себе ситуацию. На странице:

Запись 1.
Запись 2.
Запись 3.
Запись 4.
..............
Запись N.

Работаю с AJAX.

Удаляю 3 запись. Получилось

Запись 1.
Запись 2.
Запись 4.
..............
Запись N.

Соответственно, в файле запись 4 стала 3, а id записи 4 на странице ведь 4! Следовательно, нажму удалить запись 4, она со страницы уйдёт, а в файле ничего не изменится, так как их всего 3 останется.

Вопрос: что посоветуете здесь сделать? Может уменьшить id записей ниже удалённой на 1? Однозначно, ответ на мой вопрос давно придуман другим разработчиком... Но я не знаю, как поступить максимально удобно и компактно.

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


-----
Yuriy
 
 Top
valenok
Отправлено: 30 Июня, 2007 - 10:24:46
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




можно перенумеровать, а можно в файле строку не удалять, а заменять на пустую.

PHP:
скопировать код в буфер обмена
  1.  
  2. <span id='span1' onclick = "JavaScript:del(this.id)" onmouseover="Javascript:window.status=this.id;"> 123 </span><br>
  3. <span id='span2' onclick = "JavaScript:del(this.id)" onmouseover="Javascript:window.status=this.id;"> 123 </span><br>
  4. <span id='span3' onclick = "JavaScript:del(this.id)" onmouseover="Javascript:window.status=this.id;"> 123 </span><br>
  5. <span id='span4' onclick = "JavaScript:del(this.id)" onmouseover="Javascript:window.status=this.id;"> 123 </span><br>
  6.  
  7. < script>
  8. function del(id) {
  9.         var N = 4; // Колво элементов
  10.         N++;
  11.         id = id.substr(4);
  12.         var sp = document.getElementById('span'+id);
  13.         if(sp){
  14.                    var Parent = sp.parentNode;
  15.                    Parent.removeChild(sp);
  16.         }
  17.                
  18.         for(++id; id<N; id++)
  19.                 if(document.getElementById('span'+id)) document.getElementById('span'+id).setAttribute("id","span"+(id-1));
  20.        
  21. }
  22. </script>
  23.  


-----
Truly yours, Sasha.
 
My status
 Top
Yuriy
Отправлено: 30 Июня, 2007 - 12:22:44
Post Id



Частый гость


Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007  
Откуда: Азов


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




Саша, в точку! Огромное спасибо! И ещё, если можешь, объясни, что ты здесь делал. Точнее, что делается в функции del вот тут:

PHP:
скопировать код в буфер обмена
  1.  
  2.     var Parent = sp.parentNode;
  3.     Parent.removeChild(sp);
  4.  


-----
Yuriy
 
 Top
Yuriy
Отправлено: 30 Июня, 2007 - 15:04:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007  
Откуда: Азов


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




И ещё вопрос с id возник.

Есть несколько дивов. Внутри каждого есть картинка. Как узнать id дива, кликнув по картинке? Пример:

<div id="div_1"><img src="image.gif" onClick="alert(???);"></div>


-----
Yuriy
 
 Top
evgenijj
Отправлено: 30 Июня, 2007 - 18:37:26
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


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




Цитата:

Есть несколько дивов. Внутри каждого есть картинка. Как узнать id дива, кликнув по картинке?

PHP:
скопировать код в буфер обмена
  1.  
  2. <div id="myDiv"><img src="image.gif" onClick="alert(parentNode.id);"></div>
  3.  
 
 Top
valenok
Отправлено: 30 Июня, 2007 - 18:58:40
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




yandex.ru -> Введение в DOM
--
var Parent = sp.parentNode; // находим родительский элемент, в наешм случае body
Parent.removeChild(sp); //из родительского элемента убираем этот


-----
Truly yours, Sasha.
 
My status
 Top
Yuriy
Отправлено: 30 Июня, 2007 - 19:06:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007  
Откуда: Азов


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




evgenijj, valenok, спасибо вам за ответы! Я так и думал, что это кусок кода, непонятый мною, и есть ответ на последний вопрос.


(Добавление)
evgenijj, забыл, что это не всё... У меня ситуация чуть посложнее:

PHP:
скопировать код в буфер обмена
  1.  
  2. <div id="div_1">
  3.    <table border='1'>
  4.       <tr>
  5.          <td>
  6.             <input type='button' value='ok' onClick="alert(parentNode.id);">
  7.          </td>
  8.       </tr>
  9.    </table>
  10. </div>  
  11.  


Как здесь получить "div_1"? Ведь здесь родителем кнопки не див будет Недовольство, огорчение


-----
Yuriy
 
 Top
evgenijj
Отправлено: 01 Июля, 2007 - 09:31:33
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


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




onClick="alert(parentNode.parentNode.parentNode.parentNode.getAttribute('id'));"
 
 Top
Yuriy
Отправлено: 01 Июля, 2007 - 10:54:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007  
Откуда: Азов


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




evgenijj, спасибо! Как всё просто оказалось... А не является ли использование таких вот скриптов плохим тоном?


-----
Yuriy
 
 Top
valenok
Отправлено: 01 Июля, 2007 - 13:48:10
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




а что вы называете плохим тоном?


-----
Truly yours, Sasha.
 
My status
 Top
Yuriy
Отправлено: 01 Июля, 2007 - 13:54:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007  
Откуда: Азов


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




Некрасивый сценарий.


-----
Yuriy
 
 Top
valenok
Отправлено: 01 Июля, 2007 - 14:06:30
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




вам нравится сценарий Евгения?
Мне нравится.


-----
Truly yours, Sasha.
 
My status
 Top
Yuriy
Отправлено: 01 Июля, 2007 - 15:32:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 142
Дата рег-ции: Июнь 2007  
Откуда: Азов


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




Очень даже ;)


-----
Yuriy
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB