За последние 24 часа нас посетили 19555 программистов и 1604 робота. Сейчас ищут 846 программистов ...

Вывод таблицы и удаление...

Тема в разделе "PHP и базы данных", создана пользователем schumacher, 28 авг 2009.

  1. runner

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

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    1) данные обновляются сразу в 3- таблицах. Поэтому переходить к update_name.php нужно только после обновления последней таблицы- в куске кода строки 99-120 - нужно удалить лишние переходы:
    PHP:
    1.  
    2. $q="update name set fam='$fam',name='$imia',otch='$otch', dolzhnost='$dolzhnost', otdel='$otdel' where id='{$_SESSION['record_id']}'";
    3.           $ath = mysql_query($q);
    4.           if($ath)
    5.           {
    6.               $q2="update person set ulisa='$id_ul',dom='$id_dom',korpus='$id_korpus', bithday='$id_bithday', kvartira='$id_kvar', home_phone='$id_hph', mob_phone='$id_mph', mail='$id_mail' where id='{$_SESSION['record_id']}'";
    7.               $ath2 = mysql_query($q2);
    8.               if($ath2)
    9.               {
    10.                  $q3="update other set comment='$id_comment' where id='{$_SESSION['record_id']}'";
    11.                  $ath3 = mysql_query($q3);
    12.                  if($ath3)
    13.                  {
    14.                     header('Location: update_name.php');
    15.                  }
    16.              }
    17.           }
    18.  
    2) один лишний завершающий тэг form в строке 191:

    Код (Text):
    1.  
    2. <center>
    3.   <form action="editform_name.php"  method="post">
    4.   <table border=5>
    5.   <br><br><br><br><br><br><br><br>
    6.   <tr><basefont face=\"Arial, sans-serif\" size=3>Данные сотрудника:</tr>
    7.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Фамилия:</td>
    8.   <td><input type=text size=30 name=fam value=<? echo $fam; ?>></basefont></td></tr>
    9.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Имя:</td>
    10.   <td><input type=text size=30 name=name value=<? echo $imia; ?>></basefont></td></tr>
    11.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Отчество:</td>
    12.   <td><input type=text size=30 name=otch value=<? echo $otch; ?>></basefont></td></tr>
    13.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Должность:</td>
    14.   <td><? echo $form_dolj; ?></basefont></td></tr>
    15.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Отдел:</td>
    16.   <td><? echo $form_otd; ?></basefont></td></tr>
    17.   </table></center>
    18.  
    19.   <center>
    20.   <table border=5>
    21.  
    22.   <tr><basefont face=\"Arial, sans-serif\" size=3>Остальные данные:</tr>
    23.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Дата рождения:</td>
    24.   <td><input type=text size=30 name=bithday value=<? echo $id_bithday; ?>></basefont></td></tr>
    25.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Улица:</td>
    26.   <td><input type=text size=30 name=ulisa value=<? echo $id_ul; ?>></basefont></td></tr>
    27.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Дом:</td>
    28.   <td><input type=text size=30 name=dom value=<? echo $id_dom; ?>></basefont></td></tr>
    29.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Корпус:</td>
    30.   <td><input type=text size=30 name=korpus value=<? echo $id_korpus; ?>></basefont></td></tr>
    31.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Квартира:</td>
    32.   <td><input type=text size=30 name=kvartira value=<? echo $id_kvar; ?>></basefont></td></tr>
    33.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Домашний тел:</td>
    34.   <td><input type=text size=30 name=home_phone value=<? echo $id_hph; ?>></basefont></td></tr>
    35.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>Мобильный телефон:</td>
    36.   <td><input type=text size=30 name=mob_phone value=<? echo $id_mph; ?>></basefont></td></tr>
    37.   <tr><td><basefont face=\"Arial, sans-serif\" size=3>E-Mail:</td>
    38.   <td><input type=text size=30 name=mail value=<? echo $id_mail; ?>></basefont></td></tr>
    39.   <tr><td valign=top>Другая информация:</td>
    40.   <td><textarea rows=5 cols=24><? echo $id_comment;?></textarea></td></tr>
    41.  
    42.   <tr><td colspan=2 align=center><input type=submit name=update value=Обновить></td></tr>
    43.   </table></form></center>
    44.   </body></html>";
    3) если по прежнему не работает, то понадобятся структуры всех новых таблиц- person,comment, otdel
     
  2. Dimitry_LD

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

    С нами с:
    13 янв 2011
    Сообщения:
    60
    Симпатии:
    0
    Адрес:
    GH
    Пока писал вам вопрос, сам нашёл ошибку :)
    Надо было в условии писать: ...where id_name='{$_SESSION['record_id']}'"; а не id=
    Спасибо, за помощь с редактированием!
     
  3. Dimitry_LD

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

    С нами с:
    13 янв 2011
    Сообщения:
    60
    Симпатии:
    0
    Адрес:
    GH
  4. Dimitry_LD

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

    С нами с:
    13 янв 2011
    Сообщения:
    60
    Симпатии:
    0
    Адрес:
    GH
  5. Dimitry_LD

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

    С нами с:
    13 янв 2011
    Сообщения:
    60
    Симпатии:
    0
    Адрес:
    GH
    В чём у меня ошибка тут, почему выводит по 1 последней записи из таблицы, вместо всех, что есть?

    PHP:
    1. <html>
    2. <HEAD>
    3. <META http-equiv=content-type content="text/html; charset=windows-1251">
    4. </HEAD>
    5. <body bgcolor = "0d6666">
    6. <br><br><br><br><br>
    7. <center><h2>Формы</h2></center>
    8. <table align="center"border=5>
    9. <tr align="center">
    10. <td><font color="77dd77"><font size="3px"><b>Название формы:</b></font></font></td>
    11. <td><font color="77dd77"><font size="3px"><b>Сроки обработки:</b></font></font></td>
    12. <td><font color="77dd77"><font size="3px"><b>Отдел</b></font></font></td>
    13. <td><font color="77dd77"><font size="3px"><b>Сотрудник</b></font></font></td>
    14. <td><font color="ff00gg"><font size="3px"><b>Редактирование</b></font></font></td>
    15.  
    16. </tr>
    17. <?php
    18. $link = mysql_connect("localhost", "root","")
    19.       or die("Could not connect");
    20. mysql_select_db("stat_forms") or die("Could not select database");
    21.  
    22.  
    23. $ath = mysql_query("SELECT * FROM forms ORDER BY nazv");
    24. if($ath)
    25.  
    26. while($form = mysql_fetch_array($ath))
    27. {
    28.             $form_id=$form['id'];
    29.             $form_nazv=$form['nazv'];
    30.             $form_obr=$form['period_obr'];
    31.             $form_otdel=$form['otdel'];
    32.             $form_id_name=$form['id_sotr'];
    33. }
    34.  
    35.  
    36. $ath2 = mysql_query("SELECT * FROM name WHERE id=".$form_id_name);
    37. if($ath2)
    38.  
    39. while($sotr = mysql_fetch_array($ath2))
    40. {
    41.             $sotr_fam=$sotr['fam'];
    42. }
    43.  
    44. {
    45. echo "<tr><td><font color=\"00cccc\">".$form_nazv."</font></td><td><font color=\"00cccc\">".$form_obr."</font></td><td><font color=\"00cccc\">".$form_otdel."</font></td><td><font color=\"00cccc\">".$sotr_fam."</font></td>
    46. &nbsp;<td><a href=editform_form.php?id=".$form_id.">Редактировать</a></td></tr>";
    47. }
    48.  
    49.  
    50.  
    51. echo "</table>";
    52. ?>
    53.  
    54.  
    55. </table>
    56. </body>
    57. </html>
    И ещё одно!
    Почему у меня на просмотр слова с использованием пробелов не выводятся, т.е. Если я ввёл где то "Начальник отдела", то на просмотр у меня выводит лишь слово "Начальник".. Как это понять???
     
  6. runner

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

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    PHP:
    1.  
    2. <?php
    3.  $dblocation = "localhost";
    4.  $dbname = "stat_forms";
    5.  $dbuser = "root";
    6.  $dbpassword = "";
    7.  $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpassword);
    8.  if (!$dbcnx)
    9.  {
    10.      echo( "<html><body><P>В настоящий момент сервер базы данных не доступен, поэтому
    11.         корректное отображение страницы невозможно.</P></body></html>" );
    12.      exit();
    13.  }
    14.  if (!@mysql_select_db($dbname, $dbcnx))
    15.  {
    16.      echo( "<html><body><P>Невозможно подключиться к БД.</P></body></html>" );
    17.      exit();
    18.  }
    19.  if(isset($_GET['id']))
    20.  {
    21.      //передан id записи для редактирования
    22.      $ath = mysql_query("SELECT * FROM forms WHERE id=".$_GET['id']);
    23.      if($ath)
    24.      {
    25.          //присваивание переменных для дальнейшего вызова!
    26.          $form = mysql_fetch_array($ath);
    27.          $form_nazv=$form['nazv'];
    28.          $form_obr=$form['period_obr'];
    29.          $form_otdel=$form['otdel'];
    30.          //код сотрудника
    31.          $sotrudnik=$name['id_sotr'];
    32.          // добавлено-сохраняем в сессионной переменной id записи
    33.          $_SESSION['record_id']=$_GET['id'];
    34.      }
    35.      else
    36.      {
    37.          echo( "<html><body><P>{$_GET['id']}-Запись не найдена</P></body></html>" );
    38.          exit();
    39.      }
    40.  }
    41.  elseif(isset($_POST['update']))
    42.  {
    43.      $form_nazv=mysql_real_escape_string($_POST["nazv"]);
    44.      $form_obr=mysql_real_escape_string($_POST["period_obr"]);
    45.      $form_otdel=$_POST["otdel"];
    46.      //!!! код сотрудника!!!
    47.      $sotrudnik=$_POST["sotrudnik"];
    48.      $q="update forms set nazv='$form_nazv',period_obr='$form_obr',otdel='$form_otdel', id_sotr='$sotrudnik' where id='{$_SESSION['record_id']}'";
    49.      $ath = mysql_query($q);
    50.      if($ath)
    51.      {
    52.         header('Location: update_name.php');
    53.      }
    54.  }
    55. echo"<html><body bgcolor = \"0d6666\">";
    56. //Как вместо этой формы сделать выпадающий список с полями ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО(fam,name,otch) ???
    57. // точно также как с отделами - получаешь список сотрудников и формирушь список - в качестве атрибута value берешь код сотрудника
    58. // а в качестве описания комбинацию полей fam,name, otch
    59. $query1="SELECT * FROM name ORDER BY fam,name ";
    60. $result1=mysql_query($query1);
    61. $form_sotrudnik=" <select type=class name=sotrudnik>";
    62. while ($row=mysql_fetch_array($result1, MYSQL_ASSOC))
    63. {
    64.     $name=$row['fam'].' '.$row['name'].' '.$row['otch'];
    65.     if($sotrudnik==$row['id'])
    66.     {
    67.         $form_sotrudnik.="<option value={$row['id']} selected>$name</option>\n";
    68.     }
    69.     else
    70.     {
    71.         $form_sotrudnik.="<option value={$row['id']}>$name</option>\n";
    72.     }
    73. }
    74. $form_sotrudnik.="</select>";
    75. $query2="SELECT otdel FROM otdel ORDER BY otdel ";
    76. $result2=mysql_query($query2);
    77. $form_otd=" <select type=class name=otdel>";
    78. while ($num_otd=mysql_fetch_array($result2, MYSQL_ASSOC))
    79. {
    80.      // !!!! текущая должность должна быть выбрана + элементы массива в фигурные скобки !!!!
    81.      if($form_otdel==$num_otd['otdel'])
    82.      {
    83.          $form_otd.="<option value={$num_otd['otdel']} selected>{$num_otd['otdel']}</option>\n";
    84.      }
    85.      else
    86.      {
    87.          $form_otd.="<option value={$num_otd['otdel']}>{$num_otd['otdel']}</option>\n";
    88.      }
    89.  }
    90.  $form_otd.="</select>";
    91.  mysql_free_result($result2);
    92.  
    93.  ?>
    94.  <center>
    95.  <form action="editform_form.php"  method="post">
    96.  <table border=5>
    97.  <br><br><br><br><br><br><br><br>
    98.  <tr><h2>Формы</h2></tr>
    99.  <tr><td><font color="00cccc"><font size="3px">Название формы:</font></font></td>
    100.  <td><input type=text size=30 name=fam value=<?php echo $form_nazv; ?>></td></tr>
    101.  <tr><td><font color="00cccc"><font size="3px">Период обработки:</font></font></td>
    102.  <td><input type=text size=30 name=name value=<?php echo $form_obr; ?>></td></tr>
    103.   <tr><td><font color="00cccc"><font size="3px">Отдел:</font></font></td>
    104.  <td><?php echo $form_otd; ?></td></tr>
    105.   <tr><td><font color="00cccc"><font size="3px">Сотрудник:</font></font></td>
    106.  <td><?php echo $form_sotrudnik;?></basefont></td></tr>
    107.  <tr><td colspan=2 align=center><input type=submit name=update value=Обновить></td></tr>
    108.  </table></form></center>
    109.  </body></html>";
    110.