Изменение данных mysql через формочку в php

Статус
В этой теме нельзя размещать новые ответы.

milanello

Создатель
Регистрация
28 Мар 2009
Сообщения
24
Реакции
1
вообщем у меня такая проблема
есть страничка пхп в которой выводятся данные из mysql таблицы.
данные такого типа:


<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/utPsgXOqUL4&hl=ru&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/utPsgXOqUL4&hl=ru&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

какой тип данных нужен для таблицы в mysql?
далее еще один вопрос
я хочу менять данные етой таблицы прямо на сайте через формочку,
тоисть ввел в формочку другой код и он заменил то что был ранее
вообщем если кто знает как ето сделать помогите плиз
 
Должен подойти VARCHAR нужной длины.

По второй части: Для просмотра ссылки Войди или Зарегистрируйся

PHP:
mysql_query(sprintf('UPDATE `table` SET `field`="%s" WHERE 1/*<condition>*/', mysql_escape_string($_GET['form_field'])));
 
тип данных бери text

выборку из юд делай так как тут



причем вместо id='$id', пиши ту переменную которую отсылаешь на обработчик.

потом выводи форму указывая в ней



вместо $sum['description'] пиши ту ячейку которую заменяешь. Теперь, в форме сможешь менять текст.

Данные из формы высылай в обработчик который впишит измененые данные в БД.



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

чтото у меня нечего не выходит,
незнаю даже что нитак склеил я то что ты мне накатал вставил свои данные но нечего не вышло
скорее всего натупил

PHP:
<?php 

$db = mysql_connect("localhost","бд","пароль");
mysql_select_db("бд",$db);
$result = mysql_query ("SELECT * FROM ekran WHERE kod='$kod'",$db);
$sum = mysql_fetch_array($result);
<textarea name=\"nazvanie\" id=\"1\" cols=\"50\" rows=\"10\">".$sum['kod']."</textarea>
$result = mysql_query("UPDATE ekran SET description='$kod' WHERE kod='$kod'");




?>
 
Тебе надо тут 3 файла PHP

Вот эти скрипты клей между <body></body>

Файл 1.php
PHP:
<?

$kod = 'Вставляешь в переменную данные';

echo"<a href=\"2.php?kod=".$kod."\">Я СЦЫЛКО</a>"; //Ссылка на форму 

?>

Файл 2.php
PHP:
<?

if (isset($_GET['kod'])) {$kod = $_GET['kod'];}

$db = mysql_connect("localhost","бд","пароль");
mysql_select_db("бд",$db);//Подключаешься к базе

$result = mysql_query ("SELECT * FROM ekran WHERE kod='$kod'",$db);
$sum = mysql_fetch_array($result);//Создаешь таблицу данных из бд

echo "
<form action=\"3.php\" method=\"get\" name=\"edit\" target=\"_self\">
<textarea name=\"kod\" id=\"kod\" cols=\"50\" rows=\"10\">".$sum['kod']."</textarea>
<input type=\"submit\" name=\"send\" id=\"send\" value=\"Впиши в БД\">
</form>";//Форма эдиции ячейки

?>

файл 3.php

PHP:
<?

if (isset($_GET['kod'])) {$kod = $_GET['kod'];}

$db = mysql_connect("localhost","бд","пароль");
mysql_select_db("бд",$db);//Подключаешься к базе

if (isset ($kod))//Если существует переменная $kod то...
	{
$result = mysql_query("UPDATE ekran SET kod='$kod' WHERE kod='$kod'");//Заменяешь ею ячейку kod в таблице ekran

if ($result == 'true') {echo "<p>Ваша программа успешно обновлена!</p>";}
	else {echo "<p>Ваша программа не обновлена!</p>";}

	}
	else
	{
	echo "<p>Вы ввели не всю информацию, поэтому программа не может быть обновлена!</p>";
	}//И проверка на результат

?>
 
все вписал в ети 3 файла пхп но они нечего не делают:(
изменил пароли на бд и логин и бд
в базе данных неменяет таблицу ekran в которой есть 1 пункт с двумя данными id и kod
kod ето текст мой которій нужно изменить
 
Проверь ещн раз, файлы должны выглядеть так

Файл 1.php
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
</head>

<body>
<?

$kod = '
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/utPsgXOqUL4&hl=ru&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/utPsgXOqUL4&hl=ru&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
';

echo"<a href=\"2.php?kod=".$kod."\">Я СЦЫЛКО</a>"; //Ссылка на форму 

?>
</body>
</html>

Файл 2.php
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
</head>

<body>
<?

if (isset($_GET['kod'])) {$kod = $_GET['kod'];}

$db = mysql_connect("localhost","бд","пароль");
mysql_select_db("бд",$db);//Подключаешься к базе

$result = mysql_query ("SELECT * FROM ekran WHERE kod='$kod'",$db);
$sum = mysql_fetch_array($result);//Создаешь таблицу данных из бд

echo "
<form action=\"3.php\" method=\"get\" name=\"edit\" target=\"_self\">
<textarea name=\"kod\" id=\"kod\" cols=\"50\" rows=\"10\">".$sum['kod']."</textarea>
<input type=\"submit\" name=\"send\" id=\"send\" value=\"Впиши в БД\">
</form>";//Форма эдиции ячейки

?>
</body>
</html>

файл 3.php

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
</head>

<body>
<?

if (isset($_GET['kod'])) {$kod = $_GET['kod'];}

$db = mysql_connect("localhost","бд","пароль");
mysql_select_db("бд",$db);//Подключаешься к базе

if (isset ($kod))//Если существует переменная $kod то...
	{
$result = mysql_query("UPDATE ekran SET kod='$kod' WHERE kod='$kod'");//Заменяешь ею ячейку kod в таблице ekran

if ($result == 'true') {echo "<p>Ваша программа успешно обновлена!</p>";}
	else {echo "<p>Ваша программа не обновлена!</p>";}

	}
	else
	{
	echo "<p>Вы ввели не всю информацию, поэтому программа не может быть обновлена!</p>";
	}//И проверка на результат

?>
</body>
</html>

Что выдает файл 3.php?

И еще можешь попробовать поменять
PHP:
$result = mysql_query("UPDATE ekran SET kod='$kod' WHERE kod='$kod'");

на
PHP:
$result = mysql_query("UPDATE ekran SET kod='$kod' WHERE id='1'");

Так как у тебя только 1 запись в БД и у нее в таблице ekran поле id равно 1 как я понял. Но должно работать, так как я выше написал.

PS.
В файле 2.php можешь также попробовать поменять
PHP:
if (isset($_GET['kod'])) {$kod = $_GET['kod'];}

на
PHP:
if (isset($_POST['kod'])) {$kod = $_POST['kod'];}

А то у меня чето из головы вылетело какой метод там получаеться, POST или GET :)
 
проверил но всеравно неменяет:(
 
А попробовал поменять тамте 2 штуки что в конце моего предыдущего поста написаны? Если не поможет, жди до завтра, может кто нибудь более головастый поможет.

PS. У меня это работает.

PS2. ячейка id у тебя первичная и auto-increment?

Усли нет - попробуй поменять в 2.php
PHP:
echo " 
<form action=\"3.php\" method=\"get\" name=\"edit\" target=\"_self\"> 
<textarea name=\"kod\" id=\"kod\" cols=\"50\" rows=\"10\">".$sum['kod']."</textarea> 
<input type=\"submit\" name=\"send\" id=\"send\" value=\"Впиши в БД\"> 
</form>";//Форма эдиции ячейки

на
PHP:
echo " 
<form action=\"3.php\" method=\"get\" name=\"edit\" target=\"_self\"> 
<input type=\"hidden\" name=\"id\" id=\"id\" value=\"".$sum['id']."\">
<textarea name=\"kod\" id=\"kod\" cols=\"50\" rows=\"10\">".$sum['kod']."</textarea> 
<input type=\"submit\" name=\"send\" id=\"send\" value=\"Впиши в БД\"> 
</form>";//Форма эдиции ячейки

а в 3.php добавь после
PHP:
if (isset($_GET['kod'])) {$kod = $_GET['kod'];}

следущее:
PHP:
if (isset($_GET['id'])) {$id = $_GET['id'];}

и поменяй
PHP:
$result = mysql_query("UPDATE ekran SET kod='$kod' WHERE kod='$kod'")

на
PHP:
$result = mysql_query("UPDATE ekran SET kod='$kod' WHERE id='$id'")


Можно также изменить ваще эти файлы немного :) Но это последнее что мне в голову приходит

Файл 1.php
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
</head>

<body>
<?

echo"<a href=\"2.php?id=1\">Я СЦЫЛКО</a>"; //Ссылка на форму 

?>
</body>
</html>

Файл 2.php
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
</head>

<body>
<?

if (isset($_GET['id'])) {$id = $_GET['id'];}
if (isset($_POST['id'])) {$id = $_POST['id'];}//В это так на всякий пожарный :)

$db = mysql_connect("localhost","бд","пароль");
mysql_select_db("бд",$db);//Подключаешься к базе

$result = mysql_query ("SELECT * FROM ekran WHERE id='$id'",$db);
$sum = mysql_fetch_array($result);//Создаешь таблицу данных из бд

echo "
<form action=\"3.php\" method=\"get\" name=\"edit\" target=\"_self\">
<input type=\"hidden\" name=\"id\" id=\"id\" value=\"".$sum['id']."\">
<textarea name=\"kod\" id=\"kod\" cols=\"50\" rows=\"10\">".$sum['kod']."</textarea>
<input type=\"submit\" name=\"send\" id=\"send\" value=\"Впиши в БД\">
</form>";//Форма эдиции ячейки

?>
</body>
</html>

файл 3.php

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Документ без названия</title>
</head>

<body>
<?

if (isset($_GET['kod'])) {$kod = $_GET['kod'];}
if (isset($_GET['id'])) {$id = $_GET['id'];}

$db = mysql_connect("localhost","бд","пароль");
mysql_select_db("бд",$db);//Подключаешься к базе

if (isset ($kod) && ($id))//Если существует переменная $kod и переменная $id то...
	{
$result = mysql_query("UPDATE ekran SET id='$id',kod='$kod' WHERE id='$id'");//Заменяешь ею ячейку kod в таблице ekran

if ($result == 'true') {echo "<p>Ваша программа успешно обновлена!</p>";}
	else {echo "<p>Ваша программа не обновлена!</p>";}

	}
	else
	{
	echo "<p>Вы ввели не всю информацию, поэтому программа не может быть обновлена!</p>";
	}//И проверка на результат

?>
</body>
</html>
 
дружище ты просто супер,
последнее заработало,
теперь буду ковыртся чтобы сделать ето для 8 таких штук
тоесть 8 кодов сменить надо

вот ета последняя капля вышла правильной:)
ты хорошо разбираешся в етих делах

вопрос, я ето буду на движке ДЛЕ делать,
как сделать чтобы ссылка 1.пхп была видна только некоторым групам
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху