За последние 24 часа нас посетили 22797 программистов и 1278 роботов. Сейчас ищут 630 программистов ...

Редактирование значений БД

Тема в разделе "PHP и базы данных", создана пользователем LEXXEL, 26 авг 2018.

  1. LEXXEL

    LEXXEL Новичок

    С нами с:
    25 авг 2018
    Сообщения:
    13
    Симпатии:
    1
    Всем доброго дня! Помогите настроить код, чтобы можно было редактировать записи в БД:

    Код:
    PHP:
    1. <!doctype html>
    2. <html lang="ru">
    3. <head>
    4. <title>Админ-панель</title>
    5. </head>
    6. <body>
    7. <?php
    8.  
    9. $host="hjhkjhk";
    10. $user="ghgjhgj";
    11. $pass="hgjgjhj"; //установленный вами пароль
    12. $db_name="bhghgj";
    13. $link=[URL='http://www.php.net/mysql_connect']mysql_connect[/URL]($host,$user,$pass);
    14. [URL='http://www.php.net/mysql_select_db']mysql_select_db[/URL]($db_name,$link);
    15.  
    16. if ([URL='http://www.php.net/isset']isset[/URL]($_GET['del_id'])) { //проверяем, есть ли переменная на удаление
    17. $sql = [URL='http://www.php.net/mysql_query']mysql_query[/URL]('DELETE FROM `klienty` WHERE `Id` = '.$_GET['del_id']); //удаляем строку из таблицы
    18. }
    19.  
    20. if ([URL='http://www.php.net/isset']isset[/URL]($_GET['red_id'])) { //Проверяем, передана ли переменная на редактирования
    21. if ([URL='http://www.php.net/isset']isset[/URL]($_POST['Date_reg'])) { //Если новое имя предано, то обновляем и имя и цену
    22. $sql = [URL='http://www.php.net/mysql_query']mysql_query[/URL]('UPDATE `klienty` SET '
    23. .'`Date_reg` = "'.$_POST['Date_reg'].'",'
    24. .'`Date_rozd` = '.$_POST['Date_rozd'].' '
    25. .'WHERE `Id` = '.$_GET['red_id']);
    26. }
    27. }
    28. ?>
    29. <table border='1'>
    30. <tr>
    31. <td>Номер договора</td>
    32. <td>Ученик 1</td>
    33. <td>Дата договора</td>
    34. <td>Дата рождения 1</td>
    35. </tr>
    36. <?php
    37. $sql = [URL='http://www.php.net/mysql_query']mysql_query[/URL]("SELECT `Id`, `Lastname_reb`, `Firstname_reb`, `Date_reg`, `Date_rozd`, `Date_rozd2` FROM `klienty` order by id DESC", $link);
    38. while ($result = [URL='http://www.php.net/mysql_fetch_array']mysql_fetch_array[/URL]($sql)) {
    39. echo '<tr><td>'.$result['Id'].'</td>'.
    40. '<td>'.$result['Lastname_reb'].'</td>'.
    41. '<td>'.$result['Date_reg'].'</td>'.
    42. '<td>'.$result['Date_rozd'].'</td>'.
    43. '<td><a href="../klient.htm?id='.$result['Id'].'">Распечатать</a></td>'.
    44. '<td><a href="?red_id='.$result['Id'].'">Редактировать</a></td></tr>';
    45.  
    46. }
    47. ?>
    48. </table>
    49.  
    50. <?php
    51. if ([URL='http://www.php.net/isset']isset[/URL]($_GET['red_id'])) { //Если передана переменная на редактирование
    52. //Достаем запсись из БД
    53. $sql = [URL='http://www.php.net/mysql_query']mysql_query[/URL]("SELECT `Id`, `Date_reg`, `Date_rozd` FROM `klienty` WHERE `Id`=".$_GET['red_id'], $link); //запрос к БД
    54. $result = [URL='http://www.php.net/mysql_fetch_array']mysql_fetch_array[/URL]($sql); //получение самой записи
    55.  
    56. //Отрисовываем форму. Обратите внимание, что фигурную скобку условия if мы закроем только после формы.
    57. //Т.е. если переменная red_id не передана, то форма не отрисуется
    58. //И не важно, что посреди цикла мы закрываем тег PHP , его работа продолжается, пока скобка не закроется
    59. ?>
    60.  
    61. <table>
    62. <form action="" method="post">
    63. <tr>
    64. <td>Дата договора:</td>
    65. <td><input type="text" name="Date_reg" value="<?php echo ($result['Date_reg']); ?>"></td>
    66. <td></td>
    67. <td></td>
    68. </tr>
    69. <tr>
    70. <td>Дата рождения 1:</td>
    71. <td><input type="text" name="Date_rozd" size="15" value="<?php echo ($result['Date_rozd']); ?>"></td>
    72. <td></td>
    73. <td></td>
    74. </tr>
    75. <tr>
    76. <td colspan="2"><input type="submit" value="OK"></td>
    77. <td></td>
    78. <td></td>
    79. <td></td>
    80. </tr>
    81. </form>
    82. </table>
    83.  
    84. <?php
    85. }
    86. ?>
    87.  
    88. </body>
    89. </html>
     
    #1 LEXXEL, 26 авг 2018
    Последнее редактирование модератором: 26 авг 2018
  2. LEXXEL

    LEXXEL Новичок

    С нами с:
    25 авг 2018
    Сообщения:
    13
    Симпатии:
    1
    Неужели никто не знает на этом форуме как заставить этот скрипт работать?
    Или может кто скинет уже готовое другое решение?

    Один чел уже мне "помог" - взял деньги и написал решение:
    "44 строчка в редакторе кода на форуме, должно-быть href="../klient.html?red_id
    и в 43 строчке html (l пропущена)", а в конце еще вот: " @LEXXEL, решение есть практически у любого хостера и называется оно phpMyAdmin. Можно поставить и какую-нибудь более удобную и простую Web-оболочку. Или локально приложение-оболочку, открыв для нее доступ к БД извне. Можно пользоваться фришными CMS и не прыгать выше своей головы, а тупо перемешивать эту трясину, как делают миллионы. Иначе, да, нужно бабло."


    Послушай [deleted] и еще один твой друг с которым ты работаешь на пару - это простое кидалово, но знай потеряешь больше....
    Оплату на телефон [deleted] он получил, выдает смехотворные решения, слово не сдержал, а в итоге назвал заказчика неадекватным.
    Если кому интересно - могу прислать всю переписку.
    Деньги небольшие - но обидно, что из=за таких гавнюков общее впечатление портится об этом уважаемом форуме!
     
    #2 LEXXEL, 28 авг 2018
    Последнее редактирование модератором: 28 авг 2018
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    @LEXXEL, в коде полно косяков. К тому же одним файликом тут не обойдешься. Нужно комплексное решение.

    И ты в натуре неадекват, раз гонишь на меня. Кроме этого поста я никаких дел с тобой не имел. Ты кому-то заплатил 10к (в конце процитированного поста я еще писал, что у нас такие поделки стоят от 10к)?
    --- Добавлено ---
    Вот мой пост: https://php.ru/forum/threads/ne-redaktirujutsja-polja-bd-iz-formy.72357/#post-579786
    Не знаю, кто и где тебе еще это писал.
    --- Добавлено ---
    Хотя моего имени ты не упоминал. Может, кому-то было в лом тебя даже кидать собственными словами и этот кто-то скопипастил мой пост (частично). А ну-ка прямо скажи, по-твоему я тебя кинул или нет.
     
  4. LEXXEL

    LEXXEL Новичок

    С нами с:
    25 авг 2018
    Сообщения:
    13
    Симпатии:
    1
    Наверное этот [deleted] скопировал твой пост и отправил мне на почту. Тебя я не знаю.
    Да мне если честно не деньги ( копейки какие-то ) жалко, пусть этот мудак радуется что развел меня. Жизнь она ведь как - сегодня обманул, завтра ты в 10 раз потеряешь больше! Это закон жизни - правда я хотел получить другого типа урок. Такие уроды везде есть!

    Может все-таки найдется добрый человек...буду пока сам искать решение!
     
    #4 LEXXEL, 28 авг 2018
    Последнее редактирование модератором: 28 авг 2018
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Чем не устраивает phpMyAdmin, о которой я писал в упомянутом посте? Есть еще всякие adminer'ы и т.п.
    --- Добавлено ---
    Тут не в доброте дело, а в трудозатратах. Или, может, ты предлагаешь кому-то купить лицензию и подарить ее тебе? :)
     
  6. LEXXEL

    LEXXEL Новичок

    С нами с:
    25 авг 2018
    Сообщения:
    13
    Симпатии:
    1
    понимаешь, этот скрипт, что я выложил - он у меня работал, данные менялись. Потом я решил улучшить его, добавил модальное окно. Но забыл сделать перед этим копию. После этого он перестал работать - не пойму почему. Я бы бросил этот код и нашел бы новое решение - просто интересно в чем причина.
     
  7. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @LEXXEL, в твоём коде действительно ужасно много косяков. Решение за 50р о котором я говорил, это действительно несколько изменённых строк кода лишь для того чтобы он работал. Я не думал, что кто-то опустится до кидалова. Вы можете мне в личку прикрепить архив ваших файлов, я их гляну целиком. Просто у меня мало времени и я не могу обещать что сделаю это быстро.
     
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Сорри, но копаться в этой мешанине из устаревших ф-ций, разметки и запросов вряд ли у кого-нибудь появится желание.

    Если есть интерес именно к программированию, могу пригласить тебя БЕСПЛАТНО потестить один из наших простейших каркасов. Он автоматом делает предвыборку отдельных записей, если «правильно» структурировать БД, дает кое-какое понятие о разделении кода при обработке различных действий, стадий реализации отдельных действий (сначала работаем с БД и только потом делаем вывод) и т.п.
     
  9. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    @LEXXEL а можно больше подробностей? Переписка, куда деньги перевели, л чем договаривались и что в итоге получили.
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Да, мне тоже интересно. Например, откуда кидала узнал мыло ТСа. Вот я, например, его не знаю.
     
  11. LEXXEL

    LEXXEL Новичок

    С нами с:
    25 авг 2018
    Сообщения:
    13
    Симпатии:
    1
    Собственно все написано выше.
    Что получил взамен? Да ничего не получил, только оскорбления в свой адрес - за свои же деньги.....
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    @LEXXEL, от какого адресата было письмо? Надеюсь, не от меня :)
     
  13. LEXXEL

    LEXXEL Новичок

    С нами с:
    25 авг 2018
    Сообщения:
    13
    Симпатии:
    1
    Парни, не хочу больше занимать свое время этими мудаками.
    Если есть по делу - буду рад обсудить.
     
  14. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    В смысле мыло отправителя засветите.
    --- Добавлено ---
    P.S. Ну меня это тоже немного задевает, как ты понимаешь.
    --- Добавлено ---
    Благодаря твоим стараниям ;)
     
  15. LEXXEL

    LEXXEL Новичок

    С нами с:
    25 авг 2018
    Сообщения:
    13
    Симпатии:
    1
    оно уже написано, сразу после кода - [deleted]
     
    #15 LEXXEL, 28 авг 2018
    Последнее редактирование модератором: 28 авг 2018
    miketomlin нравится это.
  16. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Но все равно спасибо, что сообщил, а то так бы я и не знал, что настолько популярен, что уже мои посты начинают на цитаты расходиться :)
    --- Добавлено ---
    По делу я кое-что писал. Что еще можно сказать... Удаление крайне желательно перевесить на POST-запрос. При сохранении данные нужно экранировать. При выводе в контролы – кодировать HTML-сущности. И т.д. и т.п.
     
  17. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    @miketomlin твою цитату я не отправлял,
    это моя цитата:
    "44 строчка в редакторе кода на форуме, должно-быть href="../klient.html?red_id
    и в 43 строчке html (l пропущена)"
    Мне ТС отправил 200р, но не свой файл, ну и не адекватные требования типа:
    "Даже если там чего-то не хватает ( предположим) ! - ДОПИШИ ручками."
     
    miketomlin нравится это.
  18. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    @LEXXEL
    доказательства давай
    а пока их нет - я удалил всякое
     
    keren нравится это.
  19. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Я могу отправить его скрипт в рабочем виде.
    сообщения не добавлялись тк на 24 строчке нужны кавычки
    "'.$_POST['Date_rozd'].'"
     
    #19 keren, 28 авг 2018
    Последнее редактирование: 28 авг 2018