Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: почему не работает обновление информации?
 
 автор: alexh2006   (21.05.2006 в 20:35)   письмо автору
 
 

<?php
  
include "config.php";
// Проверяем введены ли обязательные поля 
  
if(empty($_POST['firm'])) links($_POST['status'],"Не указано название фирмы");
  if(empty(
$_POST['name'])) links($_POST['status'],"Не указано ФИО");
  if(empty(
$_POST['telephon'])) links($_POST['status'],"Не указан телефон");
  
  
//Заменяем одинарные ковычки обратными
  
$_POST['firm']=str_replace("'","'",$_POST['firm']);
  
$_POST['name']=str_replace("'","'",$_POST['name']);
  
$_POST['email']=str_replace("'","'",$_POST['email']);
  
$_POST['question']=str_replace("'","'",$_POST['question']);
  
  
//проверка статуса кнопок
  
if($_POST['security']=="on"$security="yes";
  else 
$security="no";
  if(
$_POST['fire']=="on"$fire="yes";
  else 
$fire="no";
  if(
$_POST['button']=="on"$button="yes";
  else 
$button="no";
  
  
// Формируем и выполняем SQL-запрос на обновление заказа
  
$query "UPDATE zakaz SET firm='".$_POST['firm']."',
                               name='"
.$_POST['name']."',
                             security='
$security',
                             fire='
$fire',
                             button='
$button',
                             area='"
.$_POST['area']."',
                             floor='"
.$_POST['floor']."',
                             email='"
.$_POST['email']."',
                             telephon="
.$_POST['telephon'].",
                             question='"
.$_POST['question']."'                            
            WHERE id_order="
.$_POST['id_order'];
  if(
mysql_query($query))
  {
    
// В случае успеха осуществляем автоматический переход на главную страницу администрирования
    
echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?start="
.$_POST['start']."'>
          </HEAD></HTML>"
;
  } else 
links($_POST['status'], "Ошибка при исправлении заказа");
  
// Вспомогательная функция для вывода ссылок возврата
  
function links($status$msg)
  {
    echo 
"<p>".$msg."</p>";
    exit();
  }
?>

   
 
 автор: himic   (21.05.2006 в 20:39)   письмо автору
 
   для: alexh2006   (21.05.2006 в 20:35)
 

Я думаю тебе просто надо было на словах объяснить в чём дело

   
 
 автор: alexh2006   (21.05.2006 в 20:41)   письмо автору
 
   для: himic   (21.05.2006 в 20:39)
 

не обновляет информацию в форме

   
 
 автор: himic   (21.05.2006 в 20:51)   письмо автору
 
   для: alexh2006   (21.05.2006 в 20:41)
 

Поставьте в мета тегах что нельзя кешировать страницы

   
 
 автор: alexh2006   (21.05.2006 в 21:12)   письмо автору
 
   для: himic   (21.05.2006 в 20:51)
 

не помогает

   
 
 автор: alexh2006   (22.05.2006 в 03:05)   письмо автору
 
   для: alexh2006   (21.05.2006 в 20:35)
 

выдаёт ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 11

   
 
 автор: Trianon   (22.05.2006 в 09:28)   письмо автору
 
   для: alexh2006   (22.05.2006 в 03:05)
 

Напечатайте текст запроса перед выполнением:

echo $query;
if(mysql_query($query))
...

   
 
 автор: alexh2006   (23.05.2006 в 01:45)   письмо автору
 
   для: Trianon   (22.05.2006 в 09:28)
 

UPDATE zakaz SET firm='Титан', name='впвапварп', security='yes', fire='no', button='yes', area='1000', floor='1', email='alex_h2003@mail.ru', telephon=2573567, question='проверка рапополпрлполррпороророрпопрарфырвр апр варапроапопаоапо ворапоап' WHERE id_order=You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 11

ятак понял что он переменную id_order не подставляет. Что делать?

   
 
 автор: Trianon   (23.05.2006 в 10:15)   письмо автору
 
   для: alexh2006   (23.05.2006 в 01:45)
 

Искать в форме поле с именем id_order.

   
 
 автор: alexh2006   (23.05.2006 в 12:04)   письмо автору
 
   для: Trianon   (23.05.2006 в 10:15)
 

его в форме нет это счётчик его нужно брать из БД

   
 
 автор: Trianon   (23.05.2006 в 12:10)   письмо автору
 
   для: alexh2006   (23.05.2006 в 12:04)
 

Тем не менее, Вы пытаетесь брать его из формы: WHERE id_order=".$_POST['id_order'];

Это не счетчик, а по всей видимости, первичный ключ. Т.е. поле, определяющее с какой именно записью таблицы Вы хотите работать. Так что передавать его в форме (в поле типа hidden) вполне оправданно.

   
 
 автор: alexh2006   (23.05.2006 в 12:32)   письмо автору
 
   для: Trianon   (23.05.2006 в 12:10)
 

всеровно не работает

   
 
 автор: Trianon   (23.05.2006 в 13:02)   письмо автору
 
   для: alexh2006   (23.05.2006 в 12:32)
 

значит Ваш скрипт "всеровно" генерирует id_order неправильно.
Тот, который создает текст формы.

   
 
 автор: alexh2006   (23.05.2006 в 13:17)   письмо автору
2.3 Кб
 
   для: Trianon   (23.05.2006 в 13:02)
 

можешь посмотреть! пожалуйста очень надо.

   
 
 автор: alexh2006   (23.05.2006 в 13:48)   письмо автору
 
   для: alexh2006   (23.05.2006 в 13:17)
 

<?php

include "config.php";

$action = "editorder.php";
// Извлекаем из таблицы zakaz запись, соответствующую
// исправляемой
$query = "SELECT * FROM zakaz
WHERE id_order=".$_GET['id_order'];
$zak = mysql_query($query);
if($zak)
{
$row = mysql_fetch_array($zak);
// Берём информацию для остаявшихся переменных из базы данных
$id_order = $row['id_order'];
$firm = $row['firm'];
$name = $row['name'];
if($row['security']=='yes') $security="checked";
else $security="";
if($row['fire']=='yes') $fire="checked";
else $fire="";
if($row['button']=='yes') $button="checked";
else $buttom="";
$area = $row['area'];
$floor = $row['floor'];
$email = $row['email'];
$telephon = $row['telephon'];
$question = $row['question'];


// Включаем HTML-форму в полях, которой будут размещены
// редактируемая информация из таблицы zakaz
include "addorderform.php";
} else puterror("Ошибка запроса к таблице заказов...");
?>

   
 
 автор: alexh2006   (23.05.2006 в 13:49)   письмо автору
 
   для: alexh2006   (23.05.2006 в 13:48)
 



<?php
    
include "../util/topadmin.php";
    if(!isset(
$action)) $action "editorder.php";
?>    
    <table>
        <tr>
            <td>
                <p class=boxmenu><a class=menu href="index.php">Вернуться в администрирование заказов</a></p>
            </td>
        </tr>
    </table>
    <FORM name="reg" action=<?php echo $action?> method="post">
    <TABLE width="570" border="0" cellspacing="0" cellpadding="0">
      <TR>
      <TD></TD>
      <TD><input type="hidden" value='<? echo $id_order?>'></TD>
      </TR>
      <TR>
        <TD width="270" height="40" align="left"><DIV class='infos'>*<STRONG>Наименование фирмы:</STRONG></DIV></TD>
        <TD align="right">
        <INPUT type="text" name="firm" value='<? echo $firm?>' style="width:300px; height:20px; border:1px solid black"></TD>
      </TR>
      <TR>
        <TD height="40" align="left"><DIV class='infos'>*<STRONG>ФИО контактного лица:</STRONG></DIV></TD>
        <TD align="right">
        <INPUT type="text" name="name" value='<? echo $name?>' style="width:300px; height:20px; border:1px solid black"></TD>
      </TR>
      <TR>
        <TD height="40" align="left"><DIV class='infos'><STRONG>Вид сигнализации:</STRONG></DIV></TD>
        <TD align="right">
         <SPAN style="font-size:12px; margin-right:20px">ОС:</SPAN><INPUT type="checkbox" name="security" <? echo $security?>>
         <SPAN style="font-size:12px; margin-right:20px">ПС:</SPAN><INPUT type="checkbox" name="fire" <? echo $fire?>>
         <SPAN style="font-size:12px; margin-right:20px">КТС:</SPAN><INPUT type="checkbox" name="button" <? echo $button?>>
        </TD>
      </TR>
       <TR>
        <TD height="40" align="left"><DIV class='infos'><STRONG>Общая площадь объектов, кв.м.:</STRONG></DIV></TD>
        <TD align="right"><INPUT type="text" name="area" value='<? echo $area?>' style="width:300px; height:20px; border:1px solid black"></TD>
      </TR>
      <TR>
        <TD height="40" align="left"><DIV class='infos'><STRONG>Этаж:</STRONG></DIV></TD>
        <TD align="right"><INPUT type="text" name="floor" value='<? echo $floor?>' style="width:300px; height:20px; border:1px solid black"></TD>
      </TR>
      <TR>
        <TD height="40" align="left"><DIV class='infos'><STRONG>E-mail:</STRONG></DIV></TD>
        <TD align="right"><INPUT type="text" name="email" value='<? echo $email?>' style="width:300px; height:20px; border:1px solid black"></TD>
      </TR>
      <TR>
        <TD height="40" align="left"><DIV class='infos'>*<STRONG>Телефон:</STRONG></DIV></TD>
        <TD align="right"><INPUT type="text" name="telephon" value='<? echo $telephon?>' style="width:300px; height:20px; border:1px solid black"></TD>
      </TR>
      <TR>
        <TD height="40" align="left"><DIV class='infos'><STRONG>Интересующий Вас вопрос:</STRONG></DIV></TD>
        <TD align="right"><TEXTAREA name="question" style="width:300px; height:80px; border:1px solid black"><? echo $question?></TEXTAREA></TD>
      </TR><TR>
        <TD height="40" colspan="2" align="right"><p><INPUT type="submit" value="Изменить" style="width:100px; height:20px; border:1px solid black; cursor:pointer"  >
        </p>            </TD>
      </TR>
    </TABLE>
    </FORM>

   
 
 автор: Trianon   (23.05.2006 в 14:16)   письмо автору
 
   для: alexh2006   (23.05.2006 в 13:49)
 

В скрытом поле Вы забыли указать его имя.
<TD><input type="hidden" value='<? echo $id_order?>'></TD>

надо поменять на

 <TD><input type="hidden" name=id_order value='<? echo $id_order?>'></TD> 

   
 
 автор: alexh2006   (23.05.2006 в 14:36)   письмо автору
 
   для: Trianon   (23.05.2006 в 14:16)
 

всеровно не работает!!!

   
 
 автор: alexh2006   (23.05.2006 в 14:41)   письмо автору
 
   для: alexh2006   (23.05.2006 в 14:36)
 

я сделал большое спасибо всем!!!!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования