powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Удалить строку из таблицы и заменить аргумент в ДБ.
8 сообщений из 8, страница 1 из 1
Удалить строку из таблицы и заменить аргумент в ДБ.
    #38686819
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, задача сложная, но мне кажется решаемая. Есть примерное направление решения... но нужна подсказака.
По порядку.
Есть - БД MYSQL - РНР страница которая отображает запрос из БД.

Страница:


В БД есть таблица. Все что вывидите на экране - это одна таблица. У задания есть уникальный ID.
Вот таблица:


Каждую минуту страница обновляется и загружаются новые задания в таблицу на страницу. Все работает отлично. По умолчанию в последней колонке (finished) стоит 0 (ноль) - помечено как невыполненое задание, соответственно загружется в таблицу.

ЗАДАЧА - после того как задание выполнено - (не важно что было написано на экране), кликаем на кнопку accept - и это задание исчезает с экрана (из таблицы строка), в БД помечается как 1 (один). Соответственно при перезагрузке страницы оно больше не вывоится на экран.

Пробема - как это все выполнить? И самое важное, что бы в поночь ежедневно, точнее в 00-01 все 1-ки (еденички) поменялись на 0-ли (нули). Так как в новый день нужно, ежедневные задания к примеру, загружать по новой. Для этого я понимаю нужен дополнительный запрос в БД проверка и если найдена еденичка - менятеся на ноль.

По возможности реализовать все старым "дедовским" способом, ajax пока не знаю и не изучал. Как мне уже подсказали, нужно задекларироват id задания вместе с кнопкой, что бы была проверка и пометка правильного задания как finished 1.

Вот место в таблице где декларируется кнопка:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
while($row = mysqli_fetch_array($result))
			{		
				echo "<tr>";
				echo "<td width=50%>" . "<p class='sansserif'>" . $row['description'] . "</p>" . "</td>";
			    echo "<td width=21%>" . "<center>" . "<p class='sansserif'>". date('l jS \of F Y ') . "</p>" . "</center>" . "</td>";
				echo "<td width=18%>" . "<center>" . "<p class='sansserif'>" . $row['start_time'] . "</p>" . "</center>" .  "</td>";
				echo "<td width=11%>" . "<img src = image/sign.png>" . "</td>";
				echo "</tr>";
			}



Соответственно мне нужна форма для субмита:

Код: html
1.
2.
3.
4.
<form action=" " method="POST">
	<input type="submit" name="delete_task" value="sign.png" />
	<input type="hidden" name="my_secret_field" value="вот тут id моего задания "/>
</form>



и конечно форма проверки и отправки для замены нуля на еденичку. С выводом ошибок...

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?php

	ini_set('display_errors','On');
	error_reporting(E_ALL|E_STRICT);

	$delete_task = isset($_POST['delete_task'])?($_POST['delete_task']):''; // Тут неверно походу, так как $delete_task - не декларировали. 
	
	if (isset($_POST['delete_task']) ) {
	
	
  тут уже проверяем скрытое поле, тут же валидация и проверка её существования в БД.
  ну и если всё ок то обновляем поле finished на 1 где id =з начение скрытого поля
}

?>



Помогите дособрать до кучи все.
...
Рейтинг: 0 / 0
Удалить строку из таблицы и заменить аргумент в ДБ.
    #38686829
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока писал возникла идея.

Когда кликаем на кнопку, при соблюдении всех условий - она меняется на "зеленую" (как пример), и максимумчерез минуту послеобновления экрана эта запись исчезнет, так как в БД 0 поменяется на 1.
...
Рейтинг: 0 / 0
Удалить строку из таблицы и заменить аргумент в ДБ.
    #38686904
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты пока будешь реализовывать свою мега идею ,на каждый шаг будешь тему делать???

сделал бы одну общую, с названием задачи в теме... а то лично я уже даже не читаю твои посты, так как воспринимаеться как спам.
...
Рейтинг: 0 / 0
Удалить строку из таблицы и заменить аргумент в ДБ.
    #38686911
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex564657498765453,
В принцыпе это последний шаг.
Реализовываю, что то сам, что то спрашиваю.
...
Рейтинг: 0 / 0
Удалить строку из таблицы и заменить аргумент в ДБ.
    #38688277
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может кто знает, как добавить кнопку в таблицу, если:

Код: html
1.
2.
3.
4.
<form action=" " method="POST">
	<input type="image" name="delete_task" src="image/sign.png" value="submit"/>
	<input type="hidden" name="my_secret_field" value="id"/>
</form>



в эту строчку:

echo "<td width=11%>" . сюда кнопку . сюда secret field . $delete_task . "</td>";
...
Рейтинг: 0 / 0
Удалить строку из таблицы и заменить аргумент в ДБ.
    #38689281
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил обратную смену 1 на 0 (ноль).
Все реализовывается через event. Не так сложно оказалось:


Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE EVENT IF NOT EXISTS название_эвента_тут
ON SCHEDULE EVERY 1 DAY                  -- будет запускаться каждый день
STARTS  '2014-07-04 00:00:00'             -- как пример, с какого дня начинать и время
ON COMPLETION PRESERVE ENABLE
DO
    update tasks 
    set finished = replace (finished, '1', '0')     -- что делает



Не забудте так же в MyPhpAdmin - включить кнопку ON. Даже еcли вы создадите эвент, он будет OFF.
Решать по другому, наверное можно, но уже сама БД будет сделать за тем, что сделать вне зависимости от того перегружена страница или нет. За счет этого решения мы избавляемся от необходимости перегружать страницу, или вообще ее запускать.
...
Рейтинг: 0 / 0
Удалить строку из таблицы и заменить аргумент в ДБ.
    #38689793
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решено, код если кому понадобится.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
$delete_task = isset($_POST['my_secret_field'])?($_POST['my_secret_field']):'';
    
            if (isset($_POST['my_secret_field']) ) {
                
            if (empty($delete_task)){echo "Task do not exist"; exit;}
            
            $result2 = mysqli_query($con, "update tasks set finished = 1  where id = '". $_POST['my_secret_field'] ."' ");
            }



ну и конечно ячейка с кнопкой.

Код: php
1.
2.
3.
echo '<td width="11%"><form action=" " method="POST">
       					<input type="image" name="delete_task" src="image/sign.png" value="submit"/>
       					<input type="hidden" name="my_secret_field" where value="'.$row['id'].'" /></form></td>';
...
Рейтинг: 0 / 0
Удалить строку из таблицы и заменить аргумент в ДБ.
    #38689887
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mc Doc,

это ни кому ни панадобится

Модератор:
MikkiMouse , прочтите еще раз правила форума. В частности:
http://www.sql.ru/forum/rules.aspx Содержание сообщений
Запрещается:

"Коверканье" слов русского языка.

Рекомендуется:

Использовать хотя бы основные правила русского языка при составлении сообщений.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Удалить строку из таблицы и заменить аргумент в ДБ.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]