За последние 24 часа нас посетили 18859 программистов и 1638 роботов. Сейчас ищет 951 программист ...

Не обновляется БД

Тема в разделе "PHP для новичков", создана пользователем writer, 23 авг 2012.

  1. writer

    writer Активный пользователь

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    Писал топик уже на эту тему но понял что код был совершенно не тем. теперь вроде более менее разобрался но все равно не пашет(
    Это обработчик
    Код (Text):
    1. <?php
    2. // данные доступа к базе данных
    3. $db_host="127.0.0.1";   // обычно не нужно изменять
    4. $db_user="root";    // имя пользователя БД
    5. $db_password="";    // пароль БД
    6. $db_name = "zakaz";  // имя БД
    7. $table_name = "formzakaz";   // имя таблицы статистики
    8.  
    9.  
    10.  
    11.  
    12. // соединение с БД
    13. mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());
    14. mysql_select_db($db_name) or die (mysql_error());
    15. mysql_query("SET NAMES 'cp1251'");
    16. mysql_query("SET CHARACTER SET 'cp1251'");
    17.  
    18. // Выполняем запрос: выбрать ID пользователей, которые посетили приложение более 10 раз
    19.  
    20. $sql = mysql_query($query);
    21.  
    22. $id = htmlspecialchars($_GET["id"]);
    23. if($id) {
    24.     $sql = ("UPDATE formzakaz  SET * WHERE id = $id");
    25.     mysql_query($sql);
    26. }
    27. if(!$sql) echo 'Запись не добавлена';
    28. if($sql) echo '<script type="text/javascript">
    29.     alert("Запись успешно добавлена!");
    30. </script>';
    31. $back = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'admin.php';
    32. header("Location: {$back}");?>
    Сама форма
    Код (Text):
    1. <?php
    2.  
    3.  
    4.  
    5.  
    6.  
    7. // данные доступа к базе данных
    8. $db_host="127.0.0.1";   // обычно не нужно изменять
    9. $db_user="root";    // имя пользователя БД
    10. $db_password="";    // пароль БД
    11. $db_name = "zakaz";  // имя БД
    12. $table_name = "formzakaz";   // имя таблицы статистики
    13.  
    14.  
    15.  
    16.  
    17. // соединение с БД
    18. mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());
    19. mysql_select_db($db_name) or die (mysql_error());
    20. mysql_query("SET NAMES 'cp1251'");
    21. mysql_query("SET CHARACTER SET 'cp1251'");
    22.  
    23. // Выполняем запрос: выбрать ID пользователей, которые посетили приложение более 10 раз
    24. $query = 'SELECT * FROM `'.$table_name.'` WHERE `id`;';
    25. $sql = mysql_query($query);
    26.  
    27. // обрабатываем полученный результат
    28. // если нужно, то узнаем количество выбранных значений
    29. $td = '</td><td id="tho">';
    30. $tda = '</td><td id="admin">';
    31. $num_rows = mysql_num_rows($sql);
    32.  
    33.  echo '<div id="lost">
    34. <table>
    35. <tr><td id="one">№</td><td id="tho">IP уличные</td><td id="tho">IP в помещении</td><td id="tho">Аналоговые уличные</td><td id="tho">Аналоговые в помещении</td><td id="tho">кол-во кабеля</td><td id="tho">кол-во микрофонов</td><td id="tho">хар-ки помещения</td><td id="tho">описание помещения</td><td id="tho">дата подачи</td><td id="tho">дата сдачи</td><td id="tho">город</td><td id="admin">Имя</td><td id="admin">Фамилия</td><td id="admin">Отчество</td><td id="admin">Почта</td><td id="admin">адресс</td><td id="admin">телефон</td><td id="admin">название</td><td id="admin">фирмы</td><td>Статус</td><td id="admin"><img src="..\img\deletered.png" Width="25" Height="25" ></td><td>Редактировать</td>
    36. </tr>';
    37. // выводим данные
    38. while ($sql_data = mysql_fetch_array($sql)) {
    39. if($sql_data['status'] == 1) // Статус заявки выполнен
    40.      {
    41.            $fon = 'style="background-color: "';
    42.            
    43.      }
    44.      else
    45.      {
    46.            $fon = 'style="background-color:IndianRed  "';
    47.      }
    48.      
    49.     echo ' <tr '.$fon.' ><td id="one">'.$sql_data['id'].$td.'
    50.     <input type="text" style="width:40px; "name="IPul" value="'.$sql_data['IPul'].'" ></input>
    51.     '.$td.'<input type="text" name="IPpom" value="'.$sql_data['IPpom'].'" ></input>
    52.     '.$td.'<input type="text" name="Analogul" value="'.$sql_data['Analogul'].'" ></input>
    53.     '.$td.'<input type="text" name="Analogpom" value="'.$sql_data['Analogpom'].'" ></input>
    54.     '.$td.'<input type="text" name="kabel" value="'.$sql_data['kabel'].'" ></input>
    55.     '.$td.'<input type="text" name="micro" value="'.$sql_data['micro'].'" ></input>
    56.     '.$td.'<input type="text" name="pomenie" value="'.$sql_data['pomenie'].'" ></input>
    57.     '.$td.'<input type="text" name="rabota" value="'.$sql_data['rabota'].'" ></input>
    58.     '.$td.'<input type="text" name="datareal" value="'.$sql_data['datareal'].'" ></input>
    59.     '.$td.'<input type="text" name="dataold" value="'.$sql_data['dataold'].'" ></input>
    60.     '.$td.'<input type="text" name="city" value="'.$sql_data['city'].'" ></input>
    61.     '.$tda.'<input type="text" name="name" value="'.$sql_data['name'].'" ></input>
    62.     '.$tda.'<input type="text" name="firstname" value="'.$sql_data['firstname'].'" ></input>
    63.     '.$tda.'<input type="text" name="lastname" value="'.$sql_data['lastname'].'" ></input>
    64.     '.$tda.'<input type="text" name="email" value="'.$sql_data['email'].'" ></input>
    65.     '.$tda.'<input type="text" name="adress" value="'.$sql_data['adress'].'" ></input>
    66.     '.$tda.'<input type="text" name="tel" value="'.$sql_data['tel'].'" ></input>
    67.     '.$tda.'<input type="text" name="namefirm" value="'.$sql_data['namefirm'].'" ></input>
    68.     '.$tda.'<input type="text" name="lico" value="'.$sql_data['lico'].'" ></input>
    69.     '.$tda.'<select size="1" name="status">
    70. <option value="0">на модерацию</option>
    71. <option value="1">проверена</option>
    72. <option value="2">выполнена</option>
    73. </select>
    74.     '.$tda.'<a href="del.php?id=' . $sql_data['id'] . '"><img src="..\img\deletered.png" Width="25" Height="25" ></a></td><td><a href="admintenderaction.php?id=' . $sql_data['id'] . '">Редактировать</a></td></tr>';
    75. }
    76. $fon = $sql_data['status'];
    77.  
    78.  
    79.  
    80.  echo '
    81. </form>
    82. </table>
    83. </div id="lost">
    84. </body>
    85. </html>';
    86. ?>
    Ошибок не выдает ну как собственно и не меняет данных в БД
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Слушай, ну тут у тебя такие глупости написаны, особенно в обработчике - что сложно догадаться, что там вообще должно быть. Возьми книжку какую-нибудь, типа самоучитель PHP-MySQL для новичков, прочитай.
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    А по моему, я дал тебе полную реализацию для работы с базой.
    Новичок там поймет в легкую!

    Ты глаза открой =)


    И хватит одинаковые не уместные темы штопать.
     
  4. writer

    writer Активный пользователь

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    спасибо.я уже перечитал все. текст переверстал раз на 40 без преувеличения. в гугле до 40 ой страницы дошел. в книге по мускулу тоже прочитал все. с примерами своими сверялся. я сюда пишу уже в последнюю очередь за помощью,потому что самая лучшая помощь это тех кто знает...и что мне советуют.почитай книжку. Спасибо.
    Your теб низкий поклон,но даже с тем что дал я уже перековырялся тоже на раз 10 и толку нету.

    Добавлено спустя 23 минуты 6 секунд:
    мне логика действий моих нужна. а вернее что не так как надо.
    Я соединяюсь с базой данных
    Вывожу таблицу со значениями нужными в инпуты.
    при нажатии редактировать данные что есть в форме отправляются в обработчик события
    В обработчике подключение к БД
    запрос на обновление БД и поля прописаны согласно стандарту
    Код (Text):
    1. $sql = ("UPDATE `formzakaz`  SET lico='$lico',
    2. namefirm = '$namefirm',
    3. adress = '$adress',
    4. tel = '$tel',
    5. email = '$email',
    6. name ='$name',
    7. firstname ='$firstname',
    8. lastname ='$lastname',
    9. IPul = '$IPul',
    10. IPpom = '$IPpom',
    11. Analogul ='$Analogul',
    12. Analogpom ='$Analogpom',
    13. micro = '$micro',
    14. kabel = '$kabel',
    15. datareal ='$datareal',
    16. dataold ='$dataold',
    17. rabota = '$rabota',
    18. pomenie ='$pomenie',
    19. city = '$city',status='$status'  WHERE id = '$id'");
    в каком месте ошибка? не пишите код. просто скажите в каком месте копать
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ну вот сейчас, в последнем твоём сообщении - UPDATE запрос выглядит верно. А в первом сообщении в этой теме, на который я тебе посоветовал книжку почитать - было написано не пойми что и согласно какому такому стандарту - остаётся загадкой...
    Сейчас UPDATE запрос выглядит верно. Однако не известно, обрабатываешь ли ты данные с помощью mysql_real_escape_string (для переменных с текстом) или int (для целых чисел)? Во-первых, обрабатывать нужно, чтобы не взломали. Во-вторых, если сейчас в какой-нибудь из переменных встретиться символ ' (одинарная кавычка) - запрос не выполнится (будет ошибка синтаксиса SQL). Ну и кроме того, видно что текст запроса ты составил тут вроде верно, но не видно - а отправил ли ты его к серверу б.д. (mysql_query())?
     
  6. writer

    writer Активный пользователь

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    Код (Text):
    1. <?php
    2. // данные доступа к базе данных
    3. $db_host='127.0.0.1';
    4.     $db_login='root';
    5.     $db_pass='';
    6.     $db_name='zakaz';
    7.     $table = 'formzakaz';
    8.     $db = mysql_connect($db_host,$db_login,$db_pass);
    9.     $connect=false;
    10. if(!$connect=mysql_connect('127.0.0.1','root','')) {
    11.     exit(mysql_error().' <> '.mysql_errno());
    12. } else if(!mysql_select_db('formzakaz',$connect)) {
    13.     exit(mysql_error().' <> '.mysql_errno());
    14. } else {
    15. mysql_set_charset('cp1251',$db);
    16. } function query($query) {
    17. global $connect;
    18.     if($connect && ''!=$query) {
    19.         return mysql_query($query,$connect)or exit(mysql_error().'<br>'.mysql_errno());
    20.     }
    21. return false;
    22. }
    23. $id = htmlspecialchars($_GET["id"]);
    24.  
    25.  
    26. $sql = mysql_query("UPDATE `formzakaz`  SET lico='$lico',
    27. namefirm = '$namefirm',
    28. adress = '$adress',
    29. tel = '$tel',
    30. email = '$email',
    31. name ='$name',
    32. firstname ='$firstname',
    33. lastname ='$lastname',
    34. IPul = '$IPul',
    35. IPpom = '$IPpom',
    36. Analogul ='$Analogul',
    37. Analogpom ='$Analogpom',
    38. micro = '$micro',
    39. kabel = '$kabel',
    40. datareal ='$datareal',
    41. dataold ='$dataold',
    42. rabota = '$rabota',
    43. pomenie ='$pomenie',
    44. city = '$city',status='$status'  WHERE id = '$id'");
    45.  
    46.     mysql_query($sql);
    47.  
    48. if(!$sql) echo 'Запись не добавлена';
    49. if($sql) echo '<script type="text/javascript">
    50.     alert("Запись успешно добавлена!");
    51. </script>';
    52. $back = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'admin.php';
    53. header("Location: {$back}");
    54.  
    55.  
    56. ?>
    ну пока защитой не занимаюсь. мне пока надо научится с БД работать.
     
  7. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ну давай разберём твой скрипт.
    Сначала ты определяешь переменные для доступа к б.д. - это нормально.
    Далее ты создаёшь подключение к б.д. и указатель на это подключение записываешь в переменную $db:
    Код (PHP):
    1. $db = mysql_connect($db_host,$db_login,$db_pass); 
    Это тоже нормально. Дальше начинается непонятное. Ты создаёшь переменную $connect и присваиваешь ей значений false. Зачем? Эта строка не нужна, ведь в следующей строке ты переопределяешь переменную $connect. Ты зачем-то создаёшь ещё одно подключение к б.д. и указатель на него записываешь в переменную $connect. Зачем тебе два одинаковых подключения к базе? Одно из них - лишнее.
    Дальше ты пытаешься выбрать базу данных 'formzakaz', но вот в самом начале скрипта я вижу такие переменные:
    Код (PHP):
    1. $db_host='127.0.0.1';
    2. $db_login='root';
    3. $db_pass='';
    4. $db_name='zakaz';
    5. $table = 'formzakaz'; 
    Исходя из этих переменных, могу предположить, что база данных у тебя называется 'zakaz', а 'formzakaz' - это название таблицы. Но тебе видней. Только тогда не понятно, почему ты именно так назвал переменные. И ещё непонятно, почему ты их не используешь, а пишешь ещё раз название базы данных при обращении к mysql_select_db()?
    Далее ты определяешь функцию query():
    Код (PHP):
    1. function query($query) {
    2.     global $connect;
    3.     if($connect && '' != $query) {
    4.         return mysql_query($query, $connect) or exit(mysql_error().'<br>'.mysql_errno());
    5.     }
    6.     return false;
    7. } 
    Но не понятно, зачем? Ты нигде её не используешь. Выходит, это тоже лишнее и не нужное в твоём случае.
    Дальше ты получаешь из массива $_GET элемент id, обрабатываешь его функцией htmlspecialchars и присваиваешь переменной $id. А что такое id у тебя? Обычно id - это целое число. Тогда в функции htmlspecialchars тут смысла нет, а для безопасности можно привести эту переменную к типу int.
    Код (PHP):
    1. $id = (int) $_GET['id']; 
    Кстати, ты не проверяешь, а пришла ли вообще переменная id в твой скрипт.
    Дальше ты делаешь запрос к базе. При этом ты используешь кучу разных переменных, но ни одна из них (кроме $id) не определена. Что содержится в переменных $namefirm, $adress, $tel и т.д.? А ничего в них не содержится, вообще нет таких переменных, т.к. ты нигде не создавал их и не присваивал им значений.
    Предполагаю, что эти значения должны приходить в твой скрипт из формы? Тогда, если форма отправлена методом GET - все эти значения будут в массиве $_GET. Если методом POST - то в массиве $_POST. И оттуда их и нужно получать.
    Код (PHP):
    1. $lico = $_POST['lico'];
    2. $namefirm = $_POST['namefirm'];
    3. $adress = $_POST['adress'];
    4. // ...
    5. $sql = "UPDATE `formzakaz`
    6.     SET lico = '$lico',
    7.     namefirm = '$namefirm',
    8.     adress = '$adress',
    9.     ...
    10.     WHERE `id` = {$id}"; 
    Теперь смотрим дальше. Ты делаешь запрос к базе и результат выполнения этого запроса присваиваешь переменной $sql. А потом зачем-то ещё раз делаешь запрос к базе, только вместо текста запроса - передаёшь в функцию mysql_query результат выполнения предыдущего запроса :D Это ошибка и вообще не нужно :)
    Дальше ты проверяешь, выполнился ли запрос и, если да - ты выводишь JavaScript alert, что запись обновлена, а если нет - то сообщаешь об этом. А после этого - пытаешься отправить заголовок переадресации функцией header(). Это неправильно. Сперва нужно отправлять заголовки, а только потом уже выводить какой-либо ещё текст. А в твоём случае вообще не понимаю, зачем нужен этот текст, если в конце всё равно идёт переадресация на другую страницу. Пользователь этого текста не должен будет увидеть.

    В конечном итоге получилось нечто такое:
    Код (PHP):
    1. <?php
    2. // данные доступа к базе данных
    3. $db_host = '127.0.0.1';
    4. $db_login = 'root';
    5. $db_pass = '';
    6. $db_name = 'zakaz';
    7. $table = 'formzakaz';
    8. $db = mysql_connect($db_host, $db_login, $db_pass) or exit(mysql_error());
    9. mysql_select_db($db_name, $db) or exit(mysql_error());
    10. mysql_set_charset('cp1251', $db);
    11.  
    12. $id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
    13. if(!$id)
    14.     exit('ID не указан!');
    15.  
    16. $sql = "UPDATE `formzakaz` SET
    17.     `lico` = '" . mysql_real_escape_string($_POST['lico'], $db) . "',
    18.     `namefirm` = '" . mysql_real_escape_string($_POST['namefirm'], $db) . "',
    19.     `adress` = '" . mysql_real_escape_string($_POST['adress'], $db) . "',
    20.     `tel` = '" . mysql_real_escape_string($_POST['tel'], $db) . "',
    21.     `email` = '" . mysql_real_escape_string($_POST['email'], $db) . "',
    22.     `name` = '" . mysql_real_escape_string($_POST['name'], $db) . "',
    23.     `firstname` = '" . mysql_real_escape_string($_POST['firstname'], $db) . "',
    24.     `lastname` = '" . mysql_real_escape_string($_POST['lastname'], $db) . "',
    25.     `IPul` = '" . mysql_real_escape_string($_POST['IPul'], $db) . "',
    26.     `IPpom` = '" . mysql_real_escape_string($_POST['IPpom'], $db) . "',
    27.     `Analogul` = '" . mysql_real_escape_string($_POST['Analogul'], $db) . "',
    28.     `Analogpom` = '" . mysql_real_escape_string($_POST['Analogpom'], $db) . "',
    29.     `micro` = '" . mysql_real_escape_string($_POST['micro'], $db) . "',
    30.     `kabel` = '" . mysql_real_escape_string($_POST['kabel'], $db) . "',
    31.     `datareal` = '" . mysql_real_escape_string($_POST['datareal'], $db) . "',
    32.     `dataold` = '" . mysql_real_escape_string($_POST['dataold'], $db) . "',
    33.     `rabota` = '" . mysql_real_escape_string($_POST['rabota'], $db) . "',
    34.     `pomenie` = '" . mysql_real_escape_string($_POST['pomenie'], $db) . "',
    35.     `city` = '" . mysql_real_escape_string($_POST['city'], $db) . "',
    36.     `status` = '" . mysql_real_escape_string($_POST['status'], $db) . "'
    37. WHERE `id` = {$id}";
    38.  
    39. $res = mysql_query($sql, $db) or exit(mysql_error());
    40.  
    41. $back = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'admin.php';
    42. header("Location: {$back}");
    43.  
    44. if($res) {
    45.     echo '<script type="text/javascript">
    46.     alert("Запись успешно обновлена!");
    47. </script>';
    48. } else {
    49.     echo 'Запись не обновлена';
    50. }
    51. ?>
    Я там добавил кучу mysql_real_escape_string для каждой переменной - это чтобы если пользователь введёт в какое-нибудь из полей символ ' (одинарная кавычка) - запрос не обламывался. Но вообще, когда полей много - пожалуй, удобнее создать массив с названиями переменных и обработать входящие данные в цикле. По крайней мере писать меньше :)
     
  8. writer

    writer Активный пользователь

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    Огромное спасибо! Я щас понимаю что там бред))) у меня просто получается всегда обучение не как у всех нормальных людей. я по армейской системе все делаю) по пути разберусь) вот на данный момент читаю мануалы по пхп и мускулу и применяю на сайте. как только связался с БД начался стопор хотя я реально многое понимать начал. Тебе за этот пост так вообще огромнейшее спасибо! Понял где ошибки. Почему их надо исправлять и многие другие вещи. это неоценимая информация для меня,потому как везде пишут КАК надо делать а не КАК и ПОЧЕМУ именно так.

    Добавлено спустя 19 минут 19 секунд:
    Код (Text):
    1. <?php
    2.  
    3.  
    4.  
    5.  
    6.  
    7. // данные доступа к базе данных
    8. $db_host="127.0.0.1";   // обычно не нужно изменять
    9. $db_user="root";    // имя пользователя БД
    10. $db_password="";    // пароль БД
    11. $db_name = "zakaz";  // имя БД
    12. $table_name = "formzakaz";   // имя таблицы статистики
    13.  
    14.  
    15.  
    16.  
    17. // соединение с БД
    18. mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());
    19. mysql_select_db($db_name) or die (mysql_error());
    20. mysql_query("SET NAMES 'cp1251'");
    21. mysql_query("SET CHARACTER SET 'cp1251'");
    22.  
    23. // Выполняем запрос: выбрать ID пользователей, которые посетили приложение более 10 раз
    24. $query = 'SELECT * FROM `'.$table_name.'` WHERE `id`;';
    25. $sql = mysql_query($query);
    26.  
    27. // обрабатываем полученный результат
    28. // если нужно, то узнаем количество выбранных значений
    29. $td = '</td><td id="tho">';
    30. $tda = '</td><td id="admin">';
    31. $num_rows = mysql_num_rows($sql);
    32.  
    33.  
    34. $fon = 'status';
    35.  echo '<div id="lost">
    36. <table>
    37. <tr><td id="one">№</td><td id="tho">IP уличные</td><td id="tho">IP в помещении</td><td id="tho">Аналоговые уличные</td><td id="tho">Аналоговые в помещении</td><td id="tho">кол-во кабеля</td><td id="tho">кол-во микрофонов</td><td id="tho">хар-ки помещения</td><td id="tho">описание помещения</td><td id="tho">дата подачи</td><td id="tho">дата сдачи</td><td id="tho">город</td><td id="admin">Имя</td><td id="admin">Фамилия</td><td id="admin">Отчество</td><td id="admin">Почта</td><td id="admin">адресс</td><td id="admin">телефон</td><td id="admin">название</td><td id="admin">фирмы</td><td>Статус</td><td id="admin"><img src="..\img\deletered.png" Width="25" Height="25" ></td><td>Редактировать</td>
    38. </tr>';
    39. // выводим данные
    40. while ($sql_data = mysql_fetch_array($sql)) {
    41. if($sql_data['status'] == 1) // Статус заявки выполнен
    42.      {
    43.            $fon = 'style="background-color: "';
    44.      }
    45.      elseif($sql_data['status'] == 0)
    46.      {
    47.            $fon = 'style="background-color:IndianRed  "';
    48.      }
    49.       else {
    50.     $fon = 'style="background-color:BlanchedAlmond   "';
    51. }
    52.     echo ' <tr '.$fon.' ><td id="one">'.$sql_data['id'].$td.'
    53.     <input type="text" style="width:40px; "name="IPul" value="'.$sql_data['IPul'].'" ></input>
    54.     '.$td.'<input type="text" name="IPpom" value="'.$sql_data['IPpom'].'" ></input>
    55.     '.$td.'<input type="text" name="Analogul" value="'.$sql_data['Analogul'].'" ></input>
    56.     '.$td.'<input type="text" name="Analogpom" value="'.$sql_data['Analogpom'].'" ></input>
    57.     '.$td.'<input type="text" name="kabel" value="'.$sql_data['kabel'].'" ></input>
    58.     '.$td.'<input type="text" name="micro" value="'.$sql_data['micro'].'" ></input>
    59.     '.$td.'<input type="text" name="pomenie" value="'.$sql_data['pomenie'].'" ></input>
    60.     '.$td.'<input type="text" name="rabota" value="'.$sql_data['rabota'].'" ></input>
    61.     '.$td.'<input type="text" name="datareal" value="'.$sql_data['datareal'].'" ></input>
    62.     '.$td.'<input type="text" name="dataold" value="'.$sql_data['dataold'].'" ></input>
    63.     '.$td.'<input type="text" name="city" value="'.$sql_data['city'].'" ></input>
    64.     '.$tda.'<input type="text" name="name" value="'.$sql_data['name'].'" ></input>
    65.     '.$tda.'<input type="text" name="firstname" value="'.$sql_data['firstname'].'" ></input>
    66.     '.$tda.'<input type="text" name="lastname" value="'.$sql_data['lastname'].'" ></input>
    67.     '.$tda.'<input type="text" name="email" value="'.$sql_data['email'].'" ></input>
    68.     '.$tda.'<input type="text" name="adress" value="'.$sql_data['adress'].'" ></input>
    69.     '.$tda.'<input type="text" name="tel" value="'.$sql_data['tel'].'" ></input>
    70.     '.$tda.'<input type="text" name="namefirm" value="'.$sql_data['namefirm'].'" ></input>
    71.     '.$tda.'<input type="text" name="lico" value="'.$sql_data['lico'].'" ></input>
    72.     '.$tda.'<select size="1" name="status">
    73. <option value="0">на модерацию</option>
    74. <option value="1">проверена</option>
    75. <option value="2">выполнена</option>
    76. </select>
    77.     '.$tda.'<a href="del.php?id=' . $sql_data['id'] . '"><img src="..\img\deletered.png" Width="25" Height="25" ></a></td><td><a href="admintenderaction.php?id=' . $sql_data['id'] . '">Редактировать</a></td></tr>';
    78. }if(!$sql_data) echo '<script type="text/javascript">
    79.     alert("Запись не добавлена!");
    80. </script>';
    81. if($sql_data) echo '<script type="text/javascript">
    82.     alert("Запись успешно добавлена!");
    83. </script>';
    84.  
    85.  
    86.  
    87.  echo '
    88. </form>
    89. </table>
    90. </div id="lost">
    91. </body>
    92. </html>';
    93. ?>
    вот полный текст формы
    Показывает после нажатия на редактировать что функций не существует.
    я их вытаскивал из БД в инпуты. По Сути функции то ведь вызваны уже. НЕ работает. Прописывал их
    $city = $_POST['city']; типа такого все. Не работает. Прописывал без ПОСТ. $city = 'city'; Аналогично...
    Прописывал В обработчике обоими способами. В УПДАДЕ прописывал тоже всяко. он их не видит.
    ID прописывал так потому что это для меня был самый простой способ достать его из адресной строки и как то работать с ним. Ну этот способ меня спас когда мне надо было достать какие то строки из другой таблицы ,которые были привязаны к id из другой таблицы.
    Щас сижу читаю php мануал .надеюсь что вычитаю
     
  9. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    У тебя на редактирование сейчас - просто ссылка. Вот эта:
    Код (Text):
    1. <a href="admintenderaction.php?id=' . $sql_data['id'] . '">Редактировать</a>
    Когда ты на неё нажимаешь - запустится скрипт admintenderaction.php и в него будет передана только только переменная id. С инпутами это вообще никак не связано. Ни один из них в скрипт не попадёт.
    Тебе нужно создавать для каждой строки форму. И для редактирования использовать submit-кнопку, которая будет отправлять значения всех этих инпутов в твой скрипт. Похоже, ты ещё и html знаешь не очень. В общем, это должно быть примерно так:
    Код (PHP):
    1. while($sql_data = mysql_fetch_array($sql)) {
    2.     echo '<form method="post" action="admintenderaction.php?id=' . $sql_data['id'] . '">' .
    3.         '<tr ' . $fon . '><td>' . $sql_data['id'] . '</td>' .
    4.         '<td><input type="text" name="IPul" value="' . $sql_data['IPul'] . '" /></td>' .
    5.         '<td><input type="text" name="IPpom" value="' . $sql_data['IPpom'] . '" /></td>' .
    6.         '<td><input type="text" name="Analogul" value="' . $sql_data['Analogul'] . '" /></td>' .
    7.         // ... тут все остальные инпуты
    8.         '<td>[url="del.php?id=' . $sql_data['id'] . '"]<img src="../img/deletered.png" Width="25" Height="25" >[/url]</td>' .
    9.         '<td><input type="submit" value="Редактировать" /></td></tr></form>';
    10. } 
     
  10. writer

    writer Активный пользователь

    С нами с:
    17 авг 2012
    Сообщения:
    131
    Симпатии:
    0
    Этого то я и боялся что все данные туда писать. ну HTML в принципе на 6 из 10 знаю. сверстать могу на дивах и табле. и CSS пропишу.