За последние 24 часа нас посетили 19367 программистов и 1608 роботов. Сейчас ищут 912 программистов ...

Помогите с запросом

Тема в разделе "PHP и базы данных", создана пользователем ShultzMAN_87, 21 мар 2014.

  1. ShultzMAN_87

    ShultzMAN_87 Новичок

    С нами с:
    13 фев 2014
    Сообщения:
    7
    Симпатии:
    0
    Здравствуйте уважаемые форумчане!
    Есть вопросик. Для начала приведу картинку
    [​IMG]
    Собственно требуется чтобы информация для блока 1 бралась из таблицы клиентов (она собсно оттуда и берется), а информация для выпадающего списка из таблицы договоров. Причем чтоб в выпадающем списке выводились только договоры того или иного клиента. В таблицу регистрации договоров при регистрации договора добавляется id клиента и название)
    Ниже приведу код который написал для подобной штуковины
    Код (Text):
    1. <?php
    2. session_start();
    3. if ($_SESSION['auth_admin'] == "yes_auth")
    4. {
    5.        define('mybase', true);
    6.        if (isset($_GET["logout"]))
    7.     {
    8.         unset($_SESSION['auth_admin']);
    9.         header("Location: login.php");
    10.     }
    11.  
    12.   $_SESSION['urlpage'] = "<a href='index.php' >Главная</a> \ <a href='contracts.php' >Договоры</a>";
    13.  
    14.   include("include/db_connect.php");
    15.   include("include/functions.php");
    16.   $id = clear_string($_GET["client_id"]);
    17.  
    18.   $sort = $_GET["sort"];
    19.    switch ($sort) {
    20.  
    21.         case 'name_asc':
    22.  
    23.         $sort = "name_org ASC";
    24.         $sort_name = 'По алфавиту';
    25.  
    26.         break;
    27.        
    28.         case 'name_desc':
    29.  
    30.         $sort = "name_org DESC";
    31.         $sort_name = 'Обратно алфавиту';
    32.  
    33.         break;
    34.  
    35.        
    36.         default:
    37.        
    38.         $sort = "client_id DESC";
    39.         $sort_name = 'Без сортировки';
    40.        
    41.         break;
    42.  
    43.     }
    44.  
    45. ?>
    46.  
    47. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    48. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    49.  
    50. <head>
    51.     <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    52.     <link href="css/reset.css" rel="stylesheet" type="text/css" />
    53.     <link href="css/style.css" rel="stylesheet" type="text/css" />
    54.     <link href="jquery_confirm/jquery_confirm.css" rel="stylesheet" type="text/css" />
    55.     <script type="text/javascript" src="/js/jquery-1.8.2.min.js"></script>
    56.     <script type="text/javascript" src="/js/script.js"></script>
    57.     <script type="text/javascript" src="/jquery_confirm/jquery_confirm.js"></script>
    58.     <script type="text/javascript" src="/js/TextChange.js"></script>
    59.  
    60.     <title>Договоры</title>
    61. </head>
    62. <body>
    63. <div id="block_body">
    64. <?php
    65.     include("include/block_header.php");
    66.    
    67.  $all_count = mysql_query("SELECT * FROM table_clients",$link);
    68.  $all_count_result = mysql_num_rows($all_count);
    69. ?>
    70. <div id="block_content">
    71. <div id="block_parameters">
    72. <ul id="options_list">
    73.  
    74. <li>Сортировать</li>
    75. <li><a id="select_links" href="#"><?php echo $sort_name; ?></a>
    76. <ul id="list_links_sort">
    77. <li><a href="clients.php?sort=name_asc">По алфавиту</a></li>
    78. <li><a href="clients.php?sort=name_desc">Обратно алфавиту</a></li>
    79. </ul>
    80. </li>
    81. </ul>
    82. <div id="block_search">
    83. <form method="GET" action="search.php?q=">
    84. <span></span>
    85. <input type="text" id="input_search" name="q" placeholder="Введите название организации" value="<?php echo $search; ?>" />
    86. <input type="submit" id="button_search" value="Поиск" />
    87. </form>
    88. <ul id="result_search">
    89.  
    90. </ul>
    91. </div>
    92. </div>
    93.  
    94. <div id="block_info">
    95. <p align="right" id="add_style"><a href="add_contract.php">+ Договор</a></p>
    96. <p id="count_style">Всего клиентов - <strong><?php echo $all_count_result; ?></strong></p>
    97.  
    98. </div>
    99. <ul id="block_clients">
    100. <?php
    101. $num = 20;
    102.  
    103. $page = (int)$_GET['page'];              
    104.  
    105. $count = mysql_query("SELECT COUNT(*) FROM table_clients",$link);
    106. $temp = mysql_fetch_array($count);
    107. $post = $temp[0];
    108. // Находим общее число страниц
    109. $total = (($post - 1) / $num) + 1;
    110. $total =  intval($total);
    111. // Определяем начало сообщений для текущей страницы
    112. $page = intval($page);
    113. // Если значение $page меньше единицы или отрицательно
    114. // переходим на первую страницу
    115. // А если слишком большое, то переходим на последнюю
    116. if(empty($page) or $page < 0) $page = 1;
    117.   if($page > $total) $page = $total;
    118. // Вычисляем начиная с какого номера
    119. // следует выводить сообщения
    120. $start = $page * $num - $num;
    121.    
    122. if ($temp[0] > 0)  
    123. {
    124. $result = mysql_query("SELECT * FROM table_clients ORDER BY $sort LIMIT $start, $num",$link);
    125. // Запрос для вывода блока 1
    126.  If (mysql_num_rows($result) > 0)
    127.  
    128. {
    129. $row = mysql_fetch_array($result);
    130.  
    131. do
    132. {
    133. echo '
    134.  <div class="clients">
    135.  <p class="name_client" >'.$row["name_org"].', '.$row["type_org"].'</p>
    136. // Выводится блок 1
    137.  
    138.  
    139. <ul>
    140. <TABLE align="center" CELLPADDING="10" WIDTH="100%">
    141. <TR>
    142. <TH>№ Договора</TH>
    143. <TH>Дата</TH>
    144. <TH>Предмет</TH>
    145. </TR>
    146. ';
    147. $query_contr = mysql_query("SELECT * FROM table_contracts WHERE id_client = '$id'",$link);
    148. // Запрос для блока 2
    149. $result_query = mysql_fetch_array($query_contr);
    150. echo mysql_error();
    151. do
    152. {
    153. echo '
    154. <TR>
    155. <TD  align="CENTER" >'.$result_query["num_contract"].'</TD>
    156. <TD  align="CENTER" >'.$result_query["date_contract"].'</TD>
    157. <TD  align="CENTER" >'.$result_query["sort_contract"].'</TD>
    158. </TR>
    159. // Вывод информации для блока 2
    160. ';
    161. } while ($result_query = mysql_fetch_array($query_contr));
    162.  
    163. echo '
    164. </TABLE>
    165. </ul>
    166.  
    167.  </div>
    168.  ';      
    169.    
    170. } while ($row = mysql_fetch_array($result));
    171. echo'
    172. </ul>
    173. ';
    174. }
    175. }  
    176.    
    177. if ($page != 1) $pervpage = '<li><a class="pstr_prev" href="clients.php?'.$url.'page='. ($page - 1) .'" />Назад</a></li>';
    178.  
    179. if ($page != $total) $nextpage = '<li><a class="pstr_next" href="clients.php?'.$url.'page='. ($page + 1) .'"/>Вперёд</a></li>';
    180.  
    181. // Находим две ближайшие станицы с обоих краев, если они есть
    182. if($page - 5 > 0) $page5left = '<li><a href="clients.php?'.$url.'page='. ($page - 5) .'">'. ($page - 5) .'</a></li>';
    183. if($page - 4 > 0) $page4left = '<li><a href="clients.php?'.$url.'page='. ($page - 4) .'">'. ($page - 4) .'</a></li>';
    184. if($page - 3 > 0) $page3left = '<li><a href="clients.php?'.$url.'page='. ($page - 3) .'">'. ($page - 3) .'</a></li>';
    185. if($page - 2 > 0) $page2left = '<li><a href="clients.php?'.$url.'page='. ($page - 2) .'">'. ($page - 2) .'</a></li>';
    186. if($page - 1 > 0) $page1left = '<li><a href="clients.php?'.$url.'page='. ($page - 1) .'">'. ($page - 1) .'</a></li>';
    187.  
    188. if($page + 5 <= $total) $page5right = '<li><a href="clients.php?'.$url.'page='. ($page + 5) .'">'. ($page + 5) .'</a></li>';
    189. if($page + 4 <= $total) $page4right = '<li><a href="clients.php?'.$url.'page='. ($page + 4) .'">'. ($page + 4) .'</a></li>';
    190. if($page + 3 <= $total) $page3right = '<li><a href="clients.php?'.$url.'page='. ($page + 3) .'">'. ($page + 3) .'</a></li>';
    191. if($page + 2 <= $total) $page2right = '<li><a href="clients.php?'.$url.'page='. ($page + 2) .'">'. ($page + 2) .'</a></li>';
    192. if($page + 1 <= $total) $page1right = '<li><a href="clients.php?'.$url.'page='. ($page + 1) .'">'. ($page + 1) .'</a></li>';
    193.  
    194. if ($page+5 < $total)
    195. {
    196.     $strtotal = '<li><p class="nav_point">...</p></li><li><a href="clients.php?'.$url.'page='.$total.'">'.$total.'</a></li>';
    197. }else
    198. {
    199.     $strtotal = "";
    200. }
    201.  
    202.    
    203. ?>
    204. <div id="footerfix"></div>
    205. <?php
    206.     if ($total > 1)
    207. {
    208.     echo '
    209.     <center>
    210.     <div class="pstrnav">
    211.     <ul>  
    212.     ';
    213.     echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left."<li><a class='pstr_active' href='tovar.php?".$url."page=".$page."'>".$page."</a></li>".$page1right.$page2right.$page3right.$page4right.$page5right.$strtotal.$nextpage;
    214.     echo '
    215.     </center>  
    216.     </ul>
    217.     </div>
    218.     ';
    219. }
    220. ?>
    221.  
    222.  
    223. </div>
    224. </div>
    225. </body>
    226. </html>
    227. <?php
    228. }else
    229. {
    230.  header("Location: login.php");  
    231. }
    232. ?>
    Добавлено спустя 38 минут 14 секунд:
    $query_contr = mysql_query("SELECT * FROM table_contracts,table_clients WHERE table_contracts.id_client = table_clients.client_id ORDER BY date_contract ASC",$link);
    Может такой запрос подойдет?
     
  2. maxycwebber

    maxycwebber Новичок

    С нами с:
    25 мар 2014
    Сообщения:
    263
    Симпатии:
    11
    Адрес:
    Gdansk