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

Обработка событий и БД

13.10.2012, 21:01. Показов 1684. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
<?php
include ('db_login.php');
$connection=mysql_connect($db_host, $db_username, $db_password);
if(!connection){
die(mysql_error());
}
$db_select=mysql_select_db($db_database);
echo mysql_error();
$typedb="SELECT * FROM images";
echo mysql_error();
$result=mysql_query($typedb);
if(!result)
{
die(mysql_error());
}
$self= htmlentities($_SERVER['PHP_SELF']);
$i=0;
$ar[100];
$arform[100];
//$ar[$i]="UPDATE images SET discript='Ololo' WHERE image_id=$i";
//$tpain
while($result_row=mysql_fetch_row(($result)))
{
$i++;
echo 'pathlink: '.$result_row[0].'<br/>';
echo 'discription: '.$result_row[1].'<br/>';
echo 'image_id: '.$result_row[2].'<br/>';
echo '<br/>';
 
echo ('
<form action="'.$self.'" method="GET">
<input type ="submit" name="$i" id="submit" value ="Do"/>
</form>');
$submit=$_GET['$i'];
if(isset($submit))  
{  
$ar[$i]="UPDATE images SET discript='Ololo' WHERE image_id=$i";
echo $ar[$i];
echo "<br/>";
echo "<br/>";
}    
}
 
mysql_close($connection);
?>

В общем, все работает, но не так, как я хотел. Этот сценарий выводит кнопку после вывода данных из таблицы(после каждой записи). При нажатии определенной кнопки должно вывести сообщение-запрос.
Так вот. Мне нужно, чтобы это сообщение выводилось только после той кнопки, на которую я нажал, а не после всех кнопок.
Короче, выручайте.

Вот как сейчас работает.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2012, 21:01
Ответы с готовыми решениями:

Обработка 2х событий при отправке формы
Здравствуйте. Имеется следующая проблема в задаче. При нажатии на клавишу в окне браузера...

Обработка событий. Механизм делегирования событий
Разработать учебную программу. Основная ее задача – разработка упрощенной имитации поведения...

Обработка событий
Напишите функции-обработчики для следующих событий: onAbort Когда пользователь прекращает загрузку...

Обработка событий
Добрый день, прошу помочь в таком вопросе: у меня на форме компонент picturebox и несколько...

9
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 21:21 2
HTML5
1
<input type ="submit" name="$i" id="submit" value ="Do"/>
надо так
HTML5
1
<input type ="submit" name="'.$i.'" id="submit" value ="Do"/>
Это
PHP
1
$submit=$_GET['$i'];
надо так
PHP
1
$submit=$_GET[$i];
Зачем тут вообще апострофы?)
1
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
13.10.2012, 22:04  [ТС] 3
Спасибо.

Добавлено через 40 минут
Вот теперь еще вопрос.

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
56
57
<?php
include ('db_login.php');
$connection=mysql_connect($db_host, $db_username, $db_password);
if(!connection){
die(mysql_error());
}
$db_select=mysql_select_db($db_database);
echo mysql_error();
$typedb="SELECT * FROM images";
echo mysql_error();
$result=mysql_query($typedb);
if(!result)
{
die(mysql_error());
}
$self= htmlentities($_SERVER['PHP_SELF']);
$dquery=$_GET["dquery"];
$i=0;
$ar[100];
$arform[100];
//$ar[$i]="UPDATE images SET discript='Ololo' WHERE image_id=$i";
//$tpain
while($result_row=mysql_fetch_row(($result)))
{
$i++;
echo 'pathlink: '.$result_row[0].'<br/>';
echo 'discription: '.$result_row[1].'<br/>';
echo 'image_id: '.$result_row[2].'<br/>';
echo '<br/>';
 
echo ('
<form action="'.$self.'" method="GET">
 
<input type ="submit" name="'.$i.'" id="submit" value ="Do"/>
 
</form>');
$submit=$_GET[$i];
if(isset($submit))  
{
if($dquery === NULL)
{
echo ('
<form action="'.$self.'" method="GET">
<label>Type 1st name: <input type ="text" name="dquery "/></label>
<br/>
<input type ="submit" value ="Do inserting"/>
</form>'); 
}
else
{
echo "<strong><h1>Summoned</h1></strong><br/>";//ветвь не запускается
}
}    
}
 
mysql_close($connection);
?>
Почему не выводит сообщение "Summoned"? Как будто не выполняется условие , что в $dquery не NULL после ввода.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 22:18 4
Цитата Сообщение от babobka Посмотреть сообщение
name="dquery "
зачем тут пробел? у вас имя переменно тоже будет с пробелом передаватся, а в пхп заменится символом подчёркивания.
и зачем пробел перед равно в атрибутах тегов?

ps не пишите в личку, когда мне делать нечего и так помогу, от написания в личку пользы не будет
0
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
13.10.2012, 22:24  [ТС] 5
Блин, поменял, но ветвь все равно не запускается.

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
56
57
<?php
include ('db_login.php');
$connection=mysql_connect($db_host, $db_username, $db_password);
if(!connection){
die(mysql_error());
}
$db_select=mysql_select_db($db_database);
echo mysql_error();
$typedb="SELECT * FROM images";
echo mysql_error();
$result=mysql_query($typedb);
if(!result)
{
die(mysql_error());
}
$self= htmlentities($_SERVER['PHP_SELF']);
$dquery=$_GET["dquery"];
$i=0;
$ar[100];
$arform[100];
//$ar[$i]="UPDATE images SET discript='Ololo' WHERE image_id=$i";
//$tpain
while($result_row=mysql_fetch_row(($result)))
{
$i++;
echo 'pathlink: '.$result_row[0].'<br/>';
echo 'discription: '.$result_row[1].'<br/>';
echo 'image_id: '.$result_row[2].'<br/>';
echo '<br/>';
 
echo ('
<form action="'.$self.'" method="GET">
 
<input type="submit" name="'.$i.'" id="submit" value ="Do"/>
 
</form>');
$submit=$_GET[$i];
if(isset($submit))  
{
if($dquery === NULL)
{
echo ('
<form action="'.$self.'" method="GET">
<label>Type 1st name: <input type="text" name="dquery"/></label>
<br/>
<input type="submit" value ="Do inserting"/>
</form>'); 
}
else
{
echo "<strong><h1>Summoned</h1></strong><br/>";//ветвь все равно не запускается
}
}    
}
 
mysql_close($connection);
?>
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 22:29 6
Я не понял, вы какую форму отправляете?
в этой
PHP
1
2
3
4
5
6
echo ('
<form action="'.$self.'" method="GET">
 
<input type="submit" name="'.$i.'" id="submit" value ="Do"/>
 
</form>');
нет поля dquery

а в этой
PHP
1
2
3
4
5
6
echo ('
<form action="'.$self.'" method="GET">
<label>Type 1st name: <input type="text" name="dquery"/></label>
<br/>
<input type="submit" value ="Do inserting"/>
</form>');
на оборот нет поля $i

у вас оба условия не могут выполниться
1
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
13.10.2012, 23:07  [ТС] 7
PHP
1
2
3
4
5
6
echo ('
<form action="'.$self.'" method="GET">
<label>Type 1st name: <input type="text" name="dquery"/></label>
<br/>
<input type="submit" value ="Do inserting"/>
</form>');
отправляется здесь.


PHP
1
2
3
4
5
<form action="'.$self.'" method="GET">
 
<input type="submit" name="'.$i.'" id="submit" value ="Do"/>
 
</form>
здесь проверяется была ли нажата кнопка "Do", если да, то запускается форма для ввода $dquery(которая выше)



Но что делать теперь?


О, нет. Разобрался. Спасибо.

Добавлено через 22 минуты
Ну, я уже заколебал, наверное, но все равно.
Все работает. Запросы исполняются, но после выполнения (появления сообщения Summoned) , выводит ошибку
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/u2009220/data/www/babobka.ru/testing.php on line 23

Вот теперешний код
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
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
include ('db_login.php');
$connection=mysql_connect($db_host, $db_username, $db_password);
if(!connection){
die(mysql_error());
}
$db_select=mysql_select_db($db_database);
echo mysql_error();
$typedb="SELECT * FROM images";
echo mysql_error();
$result=mysql_query($typedb);
if(!result)
{
die(mysql_error());
}
$self= htmlentities($_SERVER['PHP_SELF']);
$dquery=$_GET["dquery"];
$i=0;
$ar[100];
$arform[100];
//$ar[$i]="UPDATE images SET discript='Ololo' WHERE image_id=$i";
//$tpain
while($result_row=mysql_fetch_row(($result)))
{
$i++;
echo 'pathlink: '.$result_row[0].'<br/>';
echo 'discription: '.$result_row[1].'<br/>';
echo 'image_id: '.$result_row[2].'<br/>';
echo '<br/>';
 
echo ('
 
<form action="'.$self.'">
<input type="submit" name="'.$i.'" id="submit" value ="Do"/>
</form>
 
');
$submit=$_GET[$i];
if(isset($submit))  
{
if($dquery === NULL)
{
echo ('
<form action="'.$self.'" method="GET">
<label>Type 1st name: <input type="text" name="dquery"/></label>
<br/>
<input type="submit" name="'.$i.'" id="submit" value ="Do"/>
</form>'); 
}
else
{
 
echo "<strong><h1>Summoned</h1></strong><br/>";//ветвь не запускается
$newquery="UPDATE images SET discript='$dquery' WHERE image_id=$i";
//header('Location: http://babobka.ru/testing.php');
//echo mysql_error();
$result=mysql_query($newquery);
//if(!result)
//{
//die(mysql_error());
 
//}
}
}    
}
 
mysql_close($connection);
?>
Самое удивительное, что все работает.

Добавлено через 11 минут
Как хотя бы средиректиться до того, как сообщение об ошибке вылезет?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 23:27 8
Цитата Сообщение от babobka Посмотреть сообщение
$result=mysql_query($newquery);
вы в цикле ещё раз этой же переменнйо значение переписываете.

разные переменные укажите
1
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
13.10.2012, 23:34  [ТС] 9
Большое спасибо. Последний вопрос.
Почему редирект не работает?
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
include ('db_login.php');
$connection=mysql_connect($db_host, $db_username, $db_password);
if(!connection){
die(mysql_error());
}
$db_select=mysql_select_db($db_database);
echo mysql_error();
$typedb="SELECT * FROM images";
echo mysql_error();
$result=mysql_query($typedb);
if(!result)
{
die(mysql_error());
}
$self= htmlentities($_SERVER['PHP_SELF']);
$dquery=$_GET["dquery"];
$i=0;
$ar[100];
$arform[100];
//$ar[$i]="UPDATE images SET discript='Ololo' WHERE image_id=$i";
//$tpain
while($result_row=mysql_fetch_row(($result)))
{
echo mysql_error();
$i++;
 
//<img src="$result_row[0]" border="0" />;
echo "<img src='$result_row[0]'  />";
echo '<br/>';
echo $result_row[1];
echo '<br/>';
//echo 'image_id: '.$result_row[2].'<br/>';
echo '<br/>';
 
echo ('
 
<form action="'.$self.'">
<input type="submit" name="'.$i.'" id="submit" value ="Change discription"/>
</form>
 
');
$submit=$_GET[$i];
if(isset($submit))  
{
if($dquery === NULL)
{
echo ('
<form action="'.$self.'" method="GET">
<label><input type="text" name="dquery"/></label>
<br/>
<input type="submit" name="'.$i.'" id="submit" value ="Apply"/>
</form>'); 
}
else
{
echo "<strong><h1>Summoned</h1></strong><br/>";
$newquery="UPDATE images SET discript='$dquery' WHERE image_id=$i";
 
echo mysql_error();
$result2=mysql_query($newquery);
if(!result2)
{
die(mysql_error());
 
}
header('Location: http://babobka.ru/testing.php');//редирект
}
}    
}
 
mysql_close($connection);
?>
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 23:56 10
Отправлять заголовки браузеру, можно тольок до вывода любого текста в браузер.
Даже один пробел если вывести - заголовки отправить нельзя, так как они уже были отправлены и пошел вывод контента.
У вас редирект отправляется после вывода формы.
1
13.10.2012, 23:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2012, 23:56
Помогаю со студенческими работами здесь

Обработка событий
Возможно ли производить обработку событий без использования GUIDE, например, по нажатию клавиши...

Обработка событий
Добрый день. В ходе знакомства с java я добрался до обработки событий. Подскажите, пожалуйста, как...

Обработка событий
Добрый день подскажите пожалуйста, хочу что бы при нажатии кнопки менялся текст в поле как ...

Обработка событий
Здравствуйте, подскажите пожалуйста каким образом можно изменить цвет для всех тегов &lt;p&gt; Зарисовки...

Обработка событий
Здравствуйте. Помогите в обработке событий. Нужно создать приложение которое рисует равносторонний...

Обработка событий
Здравствуйте, уважаемые форумчане. Если приложение состоит из двух форм, можно ли сделать так,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru