Проблем с редактиране на поле.

  • Автор Автор Anonymous
  • Начална дата Начална дата
A

Anonymous

Guest
Изписва, че данните са запазени, но не са!

PHP:
<?
include "include/Config.php";

$id = $_GET['id'];
$query = "SELECT * FROM phps_actiontypes WHERE id='$id'";
$result = mysql_query($query);
$raw=mysql_fetch_array($result);
$actiontype_desc_other=$raw[actiontype_desc_other];



if($_POST['edit'])
{
$raw[actiontype_desc_other] = $_POST['actiontype_desc_other'];



if($raw[actiontype_desc_other] == null)
{
echo 'Моля въведете нещо!<br/>';
}
else
{
$sqler = mysql_query("UPDATE phps_actiontypes SET actiontype_desc_other='$raw[actiontype_desc_other]' WHERE id='$id'");
echo '<font color="red"><b>Успешно променено!</b></font>';
}
}
$sql = mysql_query("SELECT * FROM phps_actiontypes WHERE actiontype_desc_other='$raw[actiontype_desc_other]'");
$row = mysql_fetch_array($sql); 

?>


Аз ли съм заспал, или грешката е в кода?


Тоест искам да взима id-то от линка, и да извежда информацията от id-то в полета в value-то. И искам след редакция в полето, новата информация да се записва.

То с нашарен код за 3 минути в 4 през ноща, докато си на две бири не става добре! :X
 
сложи накрая or die(mysql_error()) и кажи какво изкарва

пробвай така

PHP:
include "include/Config.php";

$id = $_GET['id'];
$query = "SELECT * FROM phps_actiontypes WHERE id='$id'";
$result = mysql_query($query);
$raw = mysql_fetch_array($result);
$actiontype_desc_other = $raw[actiontype_desc_other];
if (isset($_POST['edit'])) {
    $actiontype_desc_other = $_POST['actiontype_desc_other'];
    if ($actiontype_desc_other == null) {
        echo 'Моля въведете нещо!<br/>';
    } else {
        $sqler = mysql_query("UPDATE phps_actiontypes SET actiontype_desc_other='$actiontype_desc_other' WHERE id='$id'");
        echo '<font color="red"><b>Успешно променено!</b></font>';
    }
}

изтрих ти последната заявка, защото никъде не виждам да я използваш
 
PHP:
<?
include "include/Config.php";

$id = $_GET['id'];
$query = "SELECT * FROM phps_actiontypes WHERE id='$id'";
$result = mysql_query($query);
$raw=mysql_fetch_array($result);
$actiontype_desc_other=$raw[actiontype_desc_other];



if(isset($_POST['edit']))
{
if($raw[actiontype_desc_other] == null)
{
echo 'Моля въведете нещо!<br/>';
}
else
{
$sqler = mysql_query("UPDATE phps_actiontypes SET actiontype_desc_other='$_POST[actiontype_desc_other]' WHERE id='$id'");
echo '<font color="red"><b>Успешно променено!</b></font>';
}
}
$sql = mysql_query("SELECT * FROM phps_actiontypes WHERE actiontype_desc_other='$raw[actiontype_desc_other]'");
$row = mysql_fetch_array($sql); 

?>
 
Пак изкарва, че е обновено, но в таблицата не е.
 
nfarkt каза:
Пак изкарва, че е обновено, но в таблицата не е.
PHP:
<?
include "include/Config.php";

$id = $_GET['id'];
$query = "SELECT * FROM phps_actiontypes WHERE id='$id'";
$result = mysql_query($query);
$raw=mysql_fetch_array($result);
$actiontype_desc_other=$raw[actiontype_desc_other];



if(isset($_POST['edit']))
{
$new = htmlspecialchars(addslashes($_POST[actiontype_desc_other]));
if($new == null)
{
echo 'Моля въведете нещо!<br/>';
}
else
{
$sqler = mysql_query("UPDATE phps_actiontypes SET actiontype_desc_other='$new' WHERE id='$id'") or die (mysql_error());
echo '<font color="red"><b>Успешно променено!</b></font>';
}
}
$sql = mysql_query("SELECT * FROM phps_actiontypes WHERE actiontype_desc_other='$raw[actiontype_desc_other]'");
$row = mysql_fetch_array($sql); 

?>
 
Код:
$sqler = mysql_query("UPDATE `phps_actiontypes` SET `actiontype_desc_other`='$new' WHERE `id`=".$id) or die (mysql_error());
 
PHP:
<?
include "include/Config.php";

$id = $_GET['id'];
$query = "SELECT * FROM phps_actiontypes WHERE id='$id'";
$result = mysql_query($query);
$raw=mysql_fetch_array($result);
$actiontype_desc_other=$raw[actiontype_desc_other];



if(isset($_POST['edit']))
{
$new = htmlspecialchars(addslashes($_POST[actiontype_desc_other]));
if($new == null)
{
echo 'Моля въведете нещо!<br/>';
}
else
{
$sqler = mysql_query("UPDATE `phps_actiontypes` SET `actiontype_desc_other` = '$new' WHERE `id` = '$id'") or die (mysql_error());
if(mysql_affected_rows() == 0) {
echo '<font color="red"><b>Промените НЕ бяха запазени.</b></font>'; }
else {
echo '<font color="red"><b>Успешно променено.</b></font>'; }
}
}
$sql = mysql_query("SELECT * FROM `phps_actiontypes` WHERE `actiontype_desc_other` = '$raw[actiontype_desc_other]'");
$row = mysql_fetch_array($sql); 

?>
Тъй? Реално ти правиш заявка и след това казваш, че всичко е ОК, без да провериш дали наистина е така. Ако не съм сбъркал нещо, сега трябва да ти пише, че всичко е наред, само ако наистина заявката е засегнала някой запис в БД.
 

Back
Горе