Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 25

UPDATE в mysql через php

27.11.2014, 05:06. Показов 1901. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, возникла задача реализовать SQL запрос UPDATE через php, который, в свою очередь, должен брать значения из полей HTML страницы (выведенной в форме обычной таблицы). Я набросал примерно вот так код, который генерирует таблицу в той форме в которой я хочу, но вот как заставить php обработать данные из каждого текстового поля, при этом имея только одну кнопку на строку, я не могу придумать.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php      
    $db =  mysql_connect('127.0.0.1', 'root', '1234') or die("Could not connect: " . mysql_error());
    mysql_select_db("test", $db) or die("Could not connect: " . mysql_error()); 
        //Делаем выборку всего и вся в БД  
        if (isset($_GET['update'])){
            $select = mysql_query("SELECT * FROM clients INNER JOIN agreements ON clients.Agreement_number = agreements.Agreement_number INNER JOIN price ON clients.Agreement_number = price.Agreement_number");
                
            // выводим на страницу сайта заголовки HTML-таблицы
                
                echo '<table border="1" align="center">';
                echo '<thead>';
                echo '<tr>';
                echo '<th>№</th>';
                echo '<th>Название клиента</th>';
                echo '<th>Номер договора</th>';
                echo '<th>Дата подписания договора</th>';
                echo '<th>Дата окончания договора</th>';
                echo '<th>Цена</th>';
                echo '<th>Редактировать</th>';
                echo '</tr>';
                echo '</thead>';
                // выводим в HTML-таблицу все данные из БД
                echo '<tbody>'; 
                        while($data = mysql_fetch_array($select)){
                        echo '<tr align="center">';
                        echo '<td>' . $data['idAgreements'] . '</td>'; 
                        echo '<td> <input type="text" name="Name" method="get" value="' . $data['Name'] . '"></td>'; //Вставляем значение из массива в тег input
                        echo '<td> <input type="text" name="Agreement_number" method="get" value="' . $data['Agreement_number'] . '">'. '</td>';
                        echo '<td> <input type="date" name="Start_date" method="get" value="' . $data['Start_date'] . '">'. '</td>';
                        echo '<td> <input type="date" name="End_date" method="get"  value="' . $data['End_date'] . '">'. '</td>';
                        echo '<td> <input type="text" name="Price" method="get" value="' . $data['Price'] . '">'. ' $</td>';
                        echo '<td> 
                                <form>
                                    <input name="update_button" type="submit" value="Редактировать"> <?-- //Кнопка редактирования для каждой строки -->
                                    <input type="hidden" name="update_row" value="'.$data['idClients'].'">
                                </form>
                            </td>';
                        echo '</tr>';
                        }
                echo '</tbody>';
                echo '</table>';
                
                echo('<a href="sql.html"> Назад</a>');
 
                        
                } //update содержимого
                    elseif($_GET['update_row']){
                    mysql_query("UPDATE clients SET Name =" .intval($_GET['Name'])." ",$db) or die("Could not connect: " . mysql_error()); //В идеале здесь в одном запросе должны быть названия всех столбцов из всех таблиц
                    
                    echo ("Строка изменена");
                    echo('<a href="sql.html"> Назад</a>');
            } 
        
 
?>
Сейчас в таблицу clients в столбец Name вносится значение "0", вероятнее всего потому что пробег по массиву ничего не даёт.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.11.2014, 05:06
Ответы с готовыми решениями:

Update query Php Mysql
Подскажите, где ошибка, не хочет изменять изменения, вносит их в таблицу &lt;form action=&quot;&quot; method=&quot;post&quot;&gt; ...

[PHP + MYSQL] Трабл с UPDATE
Доброй ночи, уважаемые форумчане! Столкнулся с такой проблемой, уже все что можно перерыл... Не работает UPDATE, ну, ни в какую не...

Как сделать update mysql php
Таблицы БД id,namelinks,psevdonim,title,namezagolovok,contents Форма html &lt;form method=&quot;post&quot; action=&quot;save&quot;&gt; Название меню...

5
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
27.11.2014, 09:15
Цитата Сообщение от LexzCQ Посмотреть сообщение
в столбец Name вносится значение "0", вероятнее всего потому что пробег по массиву ничего не даёт
вероятнее всего что вы заключаете строку в функцию intval которая возвращает число
Цитата Сообщение от LexzCQ Посмотреть сообщение
mysql_query("UPDATE clients SET Name =" .intval($_GET['Name'])." ",$db)
0
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 25
27.11.2014, 14:33  [ТС]
Поменял на mysql_query("UPDATE clients SET Name =" .strval($_GET['Name'])." ",$db) и всё равно ничего не произошло, осталась та же ошибка:

PHP
1
Notice: Undefined index: Name in C:\xampp\htdocs\update.php on line 48
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
27.11.2014, 16:19
Цитата Сообщение от LexzCQ Посмотреть сообщение
осталась та же ошибка
вы ни о какой ошибке не говорили.
Судя по предупреждению элемент массива $_GET['Name'] не существует, значит форма его не отправляет. А не отправляет потому, что у вас в форме только два элемента submit и hidden.. Кстати, input-ы не имеют атрибута method
0
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 25
28.11.2014, 14:36  [ТС]
Я правильно понимаю, для каждой ячейки нужно сделать input с типом hidden?
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
28.11.2014, 14:45
Цитата Сообщение от LexzCQ Посмотреть сообщение
Я правильно понимаю, для каждой ячейки нужно сделать input с типом hidden?
нет не правильно, просто тег <form > надо поднять выше <input > которые хотите передовать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.11.2014, 14:45
Помогаю со студенческими работами здесь

PHP + MYSQL Если есть - Update Иначе Добавить
Суть проблемы вот чём: Нужно добавить на склад определенный тип алкогольного напитка, если на складе он уже есть, то его количество + то,...

Ошибка при update php + mysql
$sql = &quot;UPDATE `users` SET `name`=`{$name}`,`surname`=`{$surname}`,`date_besd`=`{$databir}` WHERE `login`=$login&quot;; - запрос. Ответ: ...

Ошибка PHP + MySQL. Не работает запрос UPDATE
Здраствуйте. При написании страници для редакторования собержимого базы SQL столкнулся с проблемой. По началу код запроса на обновление...

В PHP-коде не выполняются mysql-запросы DELETE и UPDATE
Доброго времени суток, собирая своего &quot;франкенштейна&quot; по кусочкам, наткнулся на такую проблему: Есть два php-файла: ...

Как mysql update выполнить через время после запроса?
у меня есть запрос который должен по истечению минуты только выполнять update а оно сразу выполняет игнорируя time ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru