[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление записи в БД
Ramzil_Nixon
Что тут не правильно?

	$query = ("UPDATE $news SET title='".$_POST['title']"', content='".$_POST['content']."' WHERE id=".$_POST

['id']."");
mysql_query($query);




Спустя 3 минуты, 38 секунд (24.10.2011 - 10:29) Игорь_Vasinsky написал(а):
$query = ("UPDATE `".$news."` SET `title` = '".mysql_escape_string($_POST['title'])."', 
`content`='"
.mysql_escape_string($_POST['content'])."'
WHERE `id`="
.(int)$_POST['id']) or die(mysql_error());

Спустя 3 минуты, 6 секунд (24.10.2011 - 10:33) Ramzil_Nixon написал(а):
Игорь_Vasinsky
<?php
include '../open_bd.php'; // Открываем базу
include '../table_name.php'; // Подключаем переменные с таблицами
$query = ("SELECT * FROM $news WHERE id = ".(int)$_GET['id'].""); // Запрашиваем все новости
$res = mysql_query($query) or die(mysql_error()); // Выполняем запрос
while($row = mysql_fetch_array($res))
{
echo "<form action='edit.php' method='post'>";
echo "Оглавление:<br><input name='title' type='text' value='".$row['title']."' size='67'><br>";
echo "Текст:<br><textarea name='content' rows='5' cols='67'>".$row['content']."</textarea></br>";
echo "<input type='submit' name='news' value='Изменить'>";
echo "</form>";
}
$query = ("UPDATE `".$news."` SET `title` = '".$_POST['title']."', `content`='".$_POST['content']."' WHERE `id`=".$_POST
['id']) or die(mysql_error());
mysql_query($query);
?>


Что то не редактирует

Спустя 2 минуты, 10 секунд (24.10.2011 - 10:35) Игорь_Vasinsky написал(а):
На время отладки в начале кода
error_reporting(E_ALL);


а mysql_query($query) что говорит?

Спустя 56 секунд (24.10.2011 - 10:36) Ramzil_Nixon написал(а):
Цитата
а mysql_query($query) что говорит?

Никаких ошибок не выводит

Спустя 3 минуты, 15 секунд (24.10.2011 - 10:39) Игорь_Vasinsky написал(а):
значить обновляет wink.gif

Спустя 2 минуты, 9 секунд (24.10.2011 - 10:41) Ramzil_Nixon написал(а):
Может где то опечатался? blink.gif

Спустя 50 секунд (24.10.2011 - 10:42) Ramzil_Nixon написал(а):
		echo "</form>";
}


Ошибку показывает на этой фигурной скобке.


Спустя 2 минуты, 25 секунд (24.10.2011 - 10:44) Игорь_Vasinsky написал(а):
При отладке

1. error_reporting
2. echo '<pre>' . print_r($_POST, 1) . '</pre>';
3. or die(mysql_error());

Цитата
Ошибку показывает на этой фигурной скобке.


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

Спустя 58 секунд (24.10.2011 - 10:45) m4a1fox написал(а):
ЭЭЭЭЭЭЭ..... .мне одному кажется что это не правильно?

<?php
include '../open_bd.php'; // Открываем базу
include '../table_name.php'; // Подключаем переменные с таблицами
$query = ("SELECT * FROM $news WHERE id = ".(int)$_GET['id'].""); // Запрашиваем все новости
$res = mysql_query($query) or die(mysql_error()); // Выполняем запрос
while($row = mysql_fetch_array($res))
{
echo "<form action='edit.php' method='post'>";
echo "Оглавление:<br><input name='title' type='text' value='".$row['title']."' size='67'><br>";
echo "Текст:<br><textarea name='content' rows='5' cols='67'>".$row['content']."</textarea></br>";
echo "<input type='submit' name='news' value='Изменить'>";
echo "</form>";
}
$query = ("UPDATE `".$news."` SET `title` = '".$_POST['title']."', `content`='".$_POST['content']."' WHERE `id`=".$_POST
['id']) or die(mysql_error());
mysql_query($query);
?>

Спустя 2 минуты, 40 секунд (24.10.2011 - 10:48) Ramzil_Nixon написал(а):
Игорь_Vasinsky
	while($row = mysql_fetch_array($res))
{
echo "<form action='edit.php' method='post'>";
echo "Оглавление:<br><input name='title' type='text' value='".$row['title']."' size='67'><br>";
echo "Текст:<br><textarea name='content' rows='5' cols='67'>".$row['content']."</textarea></br>";
echo "<input type='submit' name='news' value='Изменить'>";
echo "</form>";
}


Открыто и закрыто.
К тому же в этом коде я пока что только одну пару { } использую

Спустя 14 секунд (24.10.2011 - 10:48) Игорь_Vasinsky написал(а):
while($row = mysql_fetch_array($res))
{
echo "<form action='edit.php' method='post'>";
echo "Оглавление:<br><input name='title' type='text' value='".$row['title']."' size='67'><br>";
echo "Текст:<br><textarea name='content' rows='5' cols='67'>".$row['content']."</textarea></br>";
echo "<input type='submit' name='news' value='Изменить'>";
echo "</form>";
}


деиствительно что за лабуда? у тя в цикле будет стока форм - скока строк.

теги form + submit - выноси из цикла

Спустя 1 минута, 16 секунд (24.10.2011 - 10:49) Ramzil_Nixon написал(а):
Игорь_Vasinsky
Цитата
деиствительно что за лабуда? у тя в цикле будет стока форм - скока строк.

теги form - выноси из цикла

Щас попробую

Спустя 1 минута, 6 секунд (24.10.2011 - 10:51) Ramzil_Nixon написал(а):
Игорь_Vasinsky
Выносил. Но теперь не появляется в форме текст которую я хочу редактировать

Спустя 10 секунд (24.10.2011 - 10:51) m4a1fox написал(а):
А я за шо и говорю! smile.gif

Спустя 42 секунды (24.10.2011 - 10:51) m4a1fox написал(а):
Ramzil_Nixon
Цитата
Выносил. Но теперь не появляется в форме текст которую я хочу редактировать

Конечно не появляется! Вы логику напутали полностью! Смешали людей с яблоками!

Спустя 39 секунд (24.10.2011 - 10:52) Ramzil_Nixon написал(а):
m4a1fox
Не по прежнему не редактирует.

Спустя 16 секунд (24.10.2011 - 10:52) Michael написал(а):
А откуда у тебя берется $_POST['id'] для условия:
"... WHERE `id`=".$_POST['id']

Нету.
Выводи еще в форму его:
echo "<input type='hidden' name='id' value='" . $row['id'] . "'>";

Спустя 3 минуты, 40 секунд (24.10.2011 - 10:56) Ramzil_Nixon написал(а):
Michael
WHERE id = ".(int)$_GET['id']."

Из ссылки береться.

Спустя 1 минута, 59 секунд (24.10.2011 - 10:58) Ramzil_Nixon написал(а):
Michael
Спасибо, заработало! biggrin.gif

Спустя 2 минуты, 42 секунды (24.10.2011 - 11:01) m4a1fox написал(а):
ИМХО вот так как минимум чуточку правильнее

<?php
include '../open_bd.php'; // Открываем базу
include '../table_name.php'; // Подключаем переменные с таблицами
$query = ("SELECT * FROM $news WHERE id = '".(int)$_GET['id']."' "); // Запрашиваем все новости
$row = mysql_query($query) or die(mysql_error()); // Выполняем запрос
$res = mysql_assoc($row);
if(isset($_POST['edit'])){
$title = !empty($_POST['title'])?htmlspecialchars(trim($_POST['title'])):NULL;
$content = !empty($_POST['content'])?htmlspecialchars(trim($_POST['content'])):NULL;

if($title !== NULL && $content !== NULL){
$query = ("UPDATE `".$news."`
SET `title` = '"
.mysql_real_escape_string($title)"',
`content`='"
.mysql_real_escape_string($content)."'
WHERE `id`="
.$_POST['id'])
or die(mysql_error());
mysql_query($query);
}
}

?>



<form action="" method="post">
<input
type="hidden" name="id" value="<?php echo $_GET['id'];?>" />
Оглавление:<br /><input name="title" type="text" value="<?php echo $res['title'];?>" size="67" /><br />
Текст:<br /><textarea name="content" rows="5" cols="67">"<?php echo $res['content'];?>"</textarea><br />
<input
type="submit" name="edit" value="Изменить" />
</form>


Спустя 1 минута, 21 секунда (24.10.2011 - 11:02) Игорь_Vasinsky написал(а):
не всю блин форму

а

echo "<form action='edit.php' method='post'>";


цикл
цикл

echo "<input type='submit' name='news' value='Изменить'>";
echo "</form>";

Спустя 8 минут, 41 секунда (24.10.2011 - 11:11) m4a1fox написал(а):
А! Ну кому как удобнее! smile.gif Дело привычки я думаю!

Спустя 2 минуты, 27 секунд (24.10.2011 - 11:13) Ramzil_Nixon написал(а):
запуск
if()
{
}
else
{
}


с нажатии кнопки, это реализуемо?

Спустя 1 минута, 48 секунд (24.10.2011 - 11:15) m4a1fox написал(а):
Ramzil_Nixon
Ты не внимателен! Я уже написал тебе как с нажатием это делать!

Спустя 16 минут, 48 секунд (24.10.2011 - 11:32) Ramzil_Nixon написал(а):
m4a1fox
я это заметил,
мне надо вывести сообщение о успешном или в ошибочной записи.

		if($result == NULL)
{
echo "<div class='message_error'>Ошибка редактирования</div>";
}
else
{
echo "<div class='message_ok'>Отредактировано</a>";
}


я написал так. и у меня весит сразу же после нажатие на "Ред" сообщение "Отредактировано"

Спустя 3 минуты, 15 секунд (24.10.2011 - 11:35) m4a1fox написал(а):
Ramzil_Nixon
Цитата
я написал так. и у меня весит сразу же после нажатие на "Ред" сообщение "Отредактировано"

Значит не правильно написал!!!!! Так, давай уже учиться, а не тупо копипастить... скажи, как php должен понять, что редактирование прошло успешно?

Спустя 6 минут, 9 секунд (24.10.2011 - 11:41) Ramzil_Nixon написал(а):
m4a1fox
Спасибо огромное за помощь!!

Спустя 1 минута, 13 секунд (24.10.2011 - 11:42) m4a1fox написал(а):
Ramzil_Nixon
Получилось? wink.gif

Спустя 4 минуты, 56 секунд (24.10.2011 - 11:47) Ramzil_Nixon написал(а):
да

Спустя 8 минут, 4 секунды (24.10.2011 - 11:55) Ramzil_Nixon написал(а):
	if ($res['title'] == $_POST['title'] or $res['content'] == $_POST['content'])

так будет правильно? я хочу проверку сделать, изменил ли что нибудь пользователь

Спустя 21 минута, 54 секунды (24.10.2011 - 12:17) m4a1fox написал(а):
Ramzil_Nixon
Цитата
if ($res['title'] == $_POST['title'] or $res['content'] == $_POST['content'])

И что эта строчка тебе даст?

Спустя 3 минуты, 28 секунд (24.10.2011 - 12:21) Ramzil_Nixon написал(а):
m4a1fox
да ничего не даст, я проверил уже.


Спустя 15 минут, 55 секунд (24.10.2011 - 12:37) m4a1fox написал(а):
а если я пробел занесу?

Спустя 40 секунд (24.10.2011 - 12:37) Ramzil_Nixon написал(а):
m4a1fox
Какой пробел?

Спустя 36 секунд (24.10.2011 - 12:38) m4a1fox написал(а):
&nbsp;


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

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.