За последние 24 часа нас посетил 17561 программист и 1730 роботов. Сейчас ищут 903 программиста ...

Обновление записей в таблице

Тема в разделе "PHP для новичков", создана пользователем 1Touch2Heaven, 11 фев 2009.

  1. 1Touch2Heaven

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

    С нами с:
    11 янв 2009
    Сообщения:
    70
    Симпатии:
    0
    Адрес:
    Калининград
    Всем доброго дня. Написал скрипт обновления данных:
    PHP:
    1.  
    2. <?php
    3. $hostname = "localhost";
    4. $username = "root";
    5. $password = "";
    6. $dbName = "personal";
    7. $table = "promo";
    8.  
    9. mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
    10.  
    11. if(@$submit_edit) {
    12. $query = "UPDATE $table SET fname='$fname', sname='$tname', tname='$tname', date_birth='$date_birth', pas_ser='$pas_ser', pas_num='$pas_num',vidan_who='$vidan_who',vidan_when='$vidan_when',liveplace_city='$liveplace_city',
    13. liveplace_street='$liveplace_street',liveplace_house='$liveplace_house',liveplace_flat='$liveplace_flat',
    14. flat_phone='$flat_phone',mobile_phone='$date_birth',drive_lic='$drive_lic',WHERE id='$update'";
    15. mysql_query($query) or die (mysql_error());
    16. }
    17.  
    18. $q = "SELECT * FROM $table";
    19. $res = mysql_query($q) or die(mysql_error());
    20. $row = mysql_num_rows($res);
    21.  
    22. echo ("
    23. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
    24. <html xmlns=\"http://www.w3.org/1999/xhtml\">
    25.  
    26. <head>
    27.  
    28.    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
    29.  
    30.    <title>Редактирование и обновление данных</title>
    31.  
    32. <style type=\"text/css\">
    33. <!--
    34. body { font: 12px Georgia; color: #666; }
    35. h3 { font-size: 16px; text-align: center; }
    36. table { width: 400px; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
    37. td { padding: 3px; vertical-align: middle; }
    38. input { width: 250px; border: solid 1px #CCC; color: #FF6666; }
    39. textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; }
    40. .buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
    41. #num { width: 20px; text-align: right; margin-right: 5px; float: right; }
    42. -->
    43. </style>
    44.  
    45. </head>
    46.  
    47. <body>
    48.  
    49. <h3>Редактирование и обновление данных в таблице</h3>
    50. ");
    51.  
    52. while ($row = mysql_fetch_array($res)) {
    53.     echo "<form action=\"update_data.php\" method=\"post\" name=\"edit_form\">\n";
    54.     echo "<input type=\"hidden\" name=\"update\" value=\"".$row["id"]."\" />\n";
    55.     echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
    56.     echo "<tr>\n";
    57.     echo "<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div id=\"num\">#".$row["id"]."</div>".$row['data']."</b></i></td>\n";
    58.     echo "</tr><tr>\n";
    59.     echo "<td>Фамилия :</td><td><input type=\"text\" value=\"".$row['sname']."\" name=\"sname\" /></td>\n";
    60.     echo "</tr><tr>\n";
    61.     echo "<td>Имя :</td><td><input type=\"text\" value=\"".$row['fname']."\" name=\"fname\" /></td>\n";
    62.     echo "</tr><tr>\n";
    63.     echo "<td>Отчество :</td><td><input type=\"text\" value=\"".$row['tname']."\" name=\"tname\" /></td>\n";
    64.     echo "</tr><tr>\n";
    65.     echo "<td>Дата рождения :</td><td><input type=\"text\" value=\"".$row['date_birth']."\" name=\"date_birth\" /></td>\n";
    66.     echo "</tr><tr>\n";
    67.     echo "<td>Номер паспорта :</td><td><input type=\"text\" value=\"".$row['pas_num']."\" name=\"pas_num\" /></td>\n";
    68.     echo "</tr><tr>\n";
    69.     echo "<td>Серия паспорта :</td><td><input type=\"text\" value=\"".$row['pas_ser']."\" name=\"pas_ser\" /></td>\n";
    70.     echo "</tr><tr>\n";
    71.     echo "<td>Кем выдан :</td><td><input type=\"text\" value=\"".$row['vidan_who']."\" name=\"vidan_who\" /></td>\n";
    72.     echo "</tr><tr>\n";
    73.     echo "<td>Когда выдан :</td><td><input type=\"text\" value=\"".$row['vidan_when']."\" name=\"vidan_when\" /></td>\n";
    74.     echo "</tr><tr>\n";
    75.     echo "<td>Город проживания :</td><td><input type=\"text\" value=\"".$row['liveplace_city']."\" name=\"liveplace_city\" /></td>\n";
    76.     echo "</tr><tr>\n";
    77.     echo "<td>Улица :</td><td><input type=\"text\" value=\"".$row['liveplace_street']."\" name=\"liveplace_street\" /></td>\n";
    78.     echo "</tr><tr>\n";
    79.     echo "<td>Дом :</td><td><input type=\"text\" value=\"".$row['liveplace_house']."\" name=\"liveplace_house\" /></td>\n";
    80.     echo "</tr><tr>\n";
    81.     echo "<td>Квартира :</td><td><input type=\"text\" value=\"".$row['liveplace_flat']."\" name=\"liveplace_flat\" /></td>\n";
    82.     echo "</tr><tr>\n";
    83.     echo "<td>Домашний телефон :</td><td><input type=\"text\" value=\"".$row['flat_phone']."\" name=\"flat_phone\" /></td>\n";
    84.     echo "</tr><tr>\n";
    85.     echo "<td>Мобильный телефон :</td><td><input type=\"text\" value=\"".$row['mobile_phone']."\" name=\"mobile_phone\" /></td>\n";
    86.     echo "</tr><tr>\n";
    87.     echo "<td>Водительские права :</td><td><input type=\"text\" value=\"".$row['drive_lic']."\" name=\"drive_lic\" /></td>\n";
    88.     echo "</tr><tr>\n";
    89.     echo "<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></td>\n";
    90.     echo "</tr></table></form>\n\n";
    91. }
    92.  
    93.  
    94. echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.php\">Вернуться назад</a></div>");
    95.  
    96. ?>
    97.  
    в чем ошибся, подскажите пожалуйста? Данные забирает нормально, но не обновляет (( Всем спасибо)
     
  2. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Замени тег
    Код (Text):
    1.  на тег [php], пожалуйста. Зеленые строчки, они так однообразны :(
    2.  
    3. убери @ из if(@$submit_edit) {  - и никогда не ставь. Тогда ты увидишь нотайс, повествующий о том, что нет никакого $submit_edit. И его действительно нет. Есть $_POST['submit_edit']. А в идеале даже isset($_POST['submit_edit'])
     
  3. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    извинись за такую простыню и убери ее.

    раздели сохранение и вывод на два файла. тогда самому будет понятнее, не только нам.

    последовательно проходи отладку:
    - есть ли соединение с базой
    - принимаются ли параметры и как
    - как выглядит запрос после его формирования
     
  4. 1Touch2Heaven

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

    С нами с:
    11 янв 2009
    Сообщения:
    70
    Симпатии:
    0
    Адрес:
    Калининград
    странно... но учебник явно указывает в своем примере на конструкцию с @ (((((
     
  5. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    учебник выкинуть - он от царя гороха.
    http://phpfaq.ru/globals

    и УБЕРИ простыню. от которой разъезжается страница.
     
  6. 1Touch2Heaven

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

    С нами с:
    11 янв 2009
    Сообщения:
    70
    Симпатии:
    0
    Адрес:
    Калининград
    да убрал..... у меня все в норме отображается....

    теперь ошибочка:
    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 'WHERE id=''' at line 1
     
  7. Теперь ты знаешь, где ошибка, и какая она. Осталось ее исправить.
     
  8. Я тебе даже скажу, у тебя запятая лишняя. Только найди ее сам.
     
  9. 1Touch2Heaven

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

    С нами с:
    11 янв 2009
    Сообщения:
    70
    Симпатии:
    0
    Адрес:
    Калининград
    конечно нашел, перед where.
    однако это ничего не меняет.
     
  10. alexeurodnepr

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

    С нами с:
    18 июл 2008
    Сообщения:
    244
    Симпатии:
    0
    1Touch2Heaven
    для проверки напиши echo $query посмотри какой запрос ты получаешь и проверь его, правильно ли там все...
     
  11. 1Touch2Heaven

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

    С нами с:
    11 янв 2009
    Сообщения:
    70
    Симпатии:
    0
    Адрес:
    Калининград
    всё окей... пошел по другому пути и разбил ввод и сохранение на 2 файла....
    все заработала и конструкция, действительно, стала понятней...
    спасибо...
    что бы я без Вас делал - ума не приложу...

    P.S. учебник у меня действительно какое-то гуано.... сейчас за новым поеду....
     
  12. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
  13. 1Touch2Heaven

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

    С нами с:
    11 янв 2009
    Сообщения:
    70
    Симпатии:
    0
    Адрес:
    Калининград
    да, конечно....
    Инъекции не боюсь абсолютно... по определенным причинам ))) ещё раз спасибо.