За последние 24 часа нас посетили 21798 программистов и 1024 робота. Сейчас ищут 685 программистов ...

несколько div с кнопкой

Тема в разделе "PHP для новичков", создана пользователем kot_k_k, 17 ноя 2014.

  1. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    Добрый день (вечер, утро)
    Подскажите где грабли (чую напутал с именами).
    я циклом формирую много div у которых есть кнопка, надо чтобы при нажатии кнопки передалась инфа с конкретного div-а.

    Код (Text):
    1.  
    2.  
    3. <?php
    4. $str_all=file_get_contents('user.txt');
    5. $c_folder=split(',',$str_all);
    6. for ($i=0;$i<count($c_folder);$i=$i+2){
    7.     count_folder($c_folder[$i],$c_folder[$i+1],$i);    
    8. }
    9.  
    10. function count_folder($userID,$userName,$i){
    11. .....
    12.     echo ('<div id="user_bl">'.    
    13.     iconv("cp1251","UTF-8",$Name_).    
    14.     '<br>'.$login_.' ('.$userID.')<br>');
    15.      .......
    16.     echo ('<input name="Dell_UserID" type="hidden" value="'.$userID.'" />
    17.     <input name="Dell_UserName" type="hidden" value="'.$userName.'" />
    18.     <input id="Del_Boot" type="submit" value="Del" /></div>');
    19. }
    20. ?>
    Проблема - передается только последняя инфа, т.е. Dell_UserID и Dell_UserName которые в последнем выведенном div-е.

    п.с. не пинайте сильно.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    пинаю сильно. идентификатор он на то идентификатор что он идентифицирует что-то. а когда у вас несколько дивов с одним идентификатором то как по вашему программа должна идентифицировать их как уникальные? никак. поэтому она считает уникальным последний объявленный объект с таким идентификатором а у остальных идентификатор стирается. всё логично. решение - раздавать уникальные идентификаторы.
     
  3. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    Спасибо и позор на мою седую голову, но судя по всему я накрутил лишнего - сделав уникальные id - все равно выводит последнее.
    работает если в див вставить еще форму, но подозреваю, что это через одно место:
    Код (Text):
    1.  
    2. <?php
    3. $str_all=file_get_contents('user.txt');
    4. $c_folder=split(',',$str_all);
    5. for ($i=0;$i<count($c_folder);$i=$i+2){
    6.     count_folder($c_folder[$i],$c_folder[$i+1],$i);    
    7. }
    8.  
    9. function count_folder($userID,$userName,$i){
    10. .....
    11.     echo ('<div class="user_bl">
    12. [b][u]<form id="form_'.$i.'" method="post" action="LD_user_file.php">'.[/u][/b]    
    13.     iconv("cp1251","UTF-8",$Name_).    
    14.     '<br>'.$login_.' ('.$userID.')<br>');
    15.      .......
    16.     echo ('<input name="Dell_UserID" type="hidden" value="'.$userID.'" />
    17.     <input name="Dell_UserName" type="hidden" value="'.$userName.'" />
    18.     <input class="Del_Boot" type="submit" value="Del" />
    19. </form>
    20. </div>');
    21. }
    22. ?>
    подскажите как ПРАВИЛЬНО (и красиво) реализовать такое:
    таблица с данными из БД (ID, Name), в каждой ячейке таблицы кнопка удалить.
    При нажатии на кнопку передаются данные из ячейки методом POST в php.
    потом все обновляется.

    п.с. я не местный, я с VBA.
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    автор, предлагаю начать с нуля. div и циклы  у б р а т ь   н а ф и г !

    без БД сделай 1 (одну!) форму, которая успешно отправляет данные.
    затем сделай на странице 2 (только две) похожие формы, каждая из которых … .
    затем напиши цикл, который перебирает захардкоденный массив и создает формы …
    используй БД …
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    ПРАВИЛЬНО это когда РАБОТАЕТ. красиво - понятие растяжимое.
    вводные данные: есть таблица, каждая строка есть какая-то сущность, есть кнопка удаления этой сущности.

    например: по форме на каждую сущность. скрытое поле с именем ИД и значением идентификатора сущности. кнопка с именем УДАЛИТЬ.
    приемник формы читает из "общего" поля значение идентификатора, удаляет из базы и возвращает обратно к странице с таблицей.
    вроде как примерно это в ваших исходниках и реализуется. кажется для поставленной задачи это самый оптимальный вариант.

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

    еще можно поставить себе задачу сделать таблицу которую можно прочекрыжить галками и одной кнопкой удалять несколько значений.
    и потом расширить эту же задачу на аякс.
    и так далее.
     
  6. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    Спасибо за советы - будем копать.

    обнадеживает, что еще не совсем потерян для общества.