За последние 24 часа нас посетили 16693 программиста и 1643 робота. Сейчас ищут 1796 программистов ...

помогите

Тема в разделе "Сделайте за меня", создана пользователем Андрей12, 19 фев 2015.

  1. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    помогите сделать запросы к моей базе данных, или объясните на одном-трех примерах как это сделать,а дальше я допетрю) спасибо
    Код (Text):
    1. <?PHP
    2.  
    3. class db{
    4.  
    5.  
    6.     private $con = false; // Идентификатор
    7.     private $Queryes = 0; // Число запросов
    8.     private $MySQLErrors = array(); // Массив с ошибками
    9.     private $TimeQuery = 0; // Всемя запросов
    10.     private $MaxExTime = 0; // Максимальное время за 1 запрос
    11.     private $ListQueryes = ""; // Список запросов
    12.     private $HardQuery = ""; // Самый тяжелый запрос
    13.     private $LastQuery = false; // Ресурс запрос
    14.     private $ConnectData = array(); // Данные соединения
    15.    
    16.     /*======================================================================*\
    17.     Function:   __construct
    18.     Descriiption: Выполняется при создании экземпляра класса
    19.     \*======================================================================*/
    20.     public function __construct($host, $user, $pass, $base){
    21.         $this->Connect($host, $user, $pass, $base);
    22.         $this->query("SET NAMES 'cp1251'");
    23.         $this->query("SET CHARACTER SET 'cp1251'");
    24.     }
    25.    
    26.     /*======================================================================*\
    27.     Function:   Stats
    28.     Descriiption: Возвращает статистику по запросам
    29.     \*======================================================================*/
    30.     public function Stats(){
    31.        
    32.         $sD = array();
    33.         $sD["TimeQuery"] = $this->TimeQuery;
    34.         $sD["MaxExTime"] = $this->MaxExTime;
    35.         $sD["ListQueryes"] = $this->ListQueryes;
    36.         $sD["HardQuery"] = $this->HardQuery;
    37.         $sD["Queryes"] = $this->Queryes;
    38.         return $sD;
    39.     }
    40.  
    41.     /*======================================================================*\
    42.     Function:   GetError
    43.     Descriiption: Выводит описание ошибки в поток
    44.     \*======================================================================*/
    45.     private function GetError($TextError){
    46.         $this->MySQLErrors[] = $TextError;
    47.         die($TextError);
    48.     }
    49.    
    50.    
    51.     /*======================================================================*\
    52.     Function:   query
    53.     Descriiption: Запрос
    54.     \*======================================================================*/ 
    55.     public function query($query, $FreeMemory = false, $write_last = true){
    56.        
    57.         $TimeA = $this->get_time();
    58.         $xxt_res = mysqli_query($this->con, $query) or $this->GetError(mysqli_error($this->con));
    59.        
    60.         if($write_last) $this->LastQuery = $xxt_res;
    61.        
    62.         $TimeB = $this->get_time() - $TimeA;
    63.         $this->TimeQuery += $TimeB;
    64.        
    65.             if($TimeB > $this->MaxExTime){$this->HardQuery = $query; $this->MaxExTime = $TimeB;}
    66.            
    67.                 if( empty($this->ListQueryes) ) $this->ListQueryes = $query; else $this->ListQueryes .= "\n".$query;
    68.            
    69.         $this->Queryes++;
    70.        
    71.         if(!$FreeMemory){
    72.             return $this->LastQuery;
    73.         }else return $this->FreeMemory();
    74.        
    75.        
    76.     }
    77.  
    78.     /*======================================================================*\
    79.     Function:   Connect
    80.     Descriiption: Соединяется с ДБ
    81.     \*======================================================================*/ 
    82.     private function Connect($host, $user, $pass, $base){
    83.         $this->con =  @mysqli_connect($host, $user, $pass, $base) or $this->GetError(mysqli_connect_error());
    84.     }
    85.    
    86.    
    87.     /*======================================================================*\
    88.     Function:   MultiQuery
    89.     Descriiption: Множественный запрос
    90.     \*======================================================================*/ 
    91.     function MultiQuery($query){
    92.    
    93.         $TimeA = $this->get_time();
    94.  
    95.         mysqli_multi_query($this->con, $query) or $this->GetError(mysqli_connect_error());
    96.         $TimeB = $this->get_time() - $TimeA;   
    97.         $ret_data = array();
    98.         $counter = 0;
    99.             do{
    100.        
    101.                 if ($result = mysqli_store_result($this->con)) {
    102.                    
    103.                     while ($row = mysqli_fetch_array($result)) {
    104.                     $ret_data[$counter][] = $row;
    105.                     }
    106.                     mysqli_free_result($result);
    107.                     $counter++;
    108.                 }
    109.  
    110.                
    111.             }while(mysqli_next_result($this->con));
    112.  
    113.        
    114.        
    115.         $this->TimeQuery += $TimeB;
    116.            
    117.             if($TimeB > $this->MaxExTime){$this->HardQuery = $query; $this->MaxExTime = $TimeB;}
    118.            
    119.                 if( empty($this->ListQueryes) ) $this->ListQueryes = $query; else $this->ListQueryes .= "\n".$query;
    120.            
    121.         $this->Queryes++;
    122.        
    123.         return $ret_data;
    124.     }
    125.    
    126.     /*======================================================================*\
    127.     Function:   get_time
    128.     Descriiption: Возвращает строку времени
    129.     \*======================================================================*/ 
    130.     private function get_time()
    131.     {
    132.         list($seconds, $microSeconds) = explode(' ', microtime());
    133.         return ((float) $seconds + (float) $microSeconds);
    134.     }
    135.    
    136.     /*======================================================================*\
    137.     Function:   __destruct
    138.     Descriiption: Выполняется при уничтожении экземпляра класса
    139.     \*======================================================================*/
    140.     function __destruct(){
    141.        
    142.         if( !count($this->MySQLErrors) ) mysqli_close($this->con);
    143.    
    144.     }
    145.    
    146.     /*======================================================================*\
    147.     Function:   FreeMemory
    148.     Descriiption: Освобождает память
    149.     \*======================================================================*/
    150.     function FreeMemory()
    151.     {
    152.         $tr = ($this->LastQuery) ? true : false;
    153.         @mysqli_free_result($this->LastQuery);
    154.         return $tr;
    155.     }
    156.    
    157.     /*======================================================================*\
    158.     Function:   RealEscape
    159.     Descriiption: Фильтрация )
    160.     \*======================================================================*/
    161.     function RealEscape($string)
    162.     {
    163.         if ($this->con) return mysqli_real_escape_string ($this->con, $string);
    164.         else return mysql_escape_string($string);
    165.     }
    166.    
    167.     /*======================================================================*\
    168.     Function:   NumRows
    169.     Descriiption: Подсчет числа строк
    170.     \*======================================================================*/
    171.     function NumRows()
    172.     {
    173.         return mysqli_num_rows($this->LastQuery);
    174.     }
    175.    
    176.     /*======================================================================*\
    177.     Function:   fetch_array
    178.     Descriiption: Возвращ массив, создает циферные ключи...
    179.     \*======================================================================*/
    180.     function FetchArray(){
    181.         //if($this->LastQuery)
    182.         return mysqli_fetch_array($this->LastQuery);
    183.     }
    184.    
    185.     /*======================================================================*\
    186.     Function:   NumRows
    187.     Descriiption: Возвращает результат
    188.     \*======================================================================*/
    189.     function FetchRow(){
    190.         $xres = mysqli_fetch_row($this->LastQuery);
    191.        
    192.         return (count($xres) > 1) ? $xres :  $xres[0];
    193.     }
    194.    
    195.     /*======================================================================*\
    196.     Function:   LastInsert()
    197.     Descriiption: Возвращает последний ID вставки
    198.     \*======================================================================*/
    199.     function LastInsert(){
    200.        
    201.         return @mysqli_insert_id($this->con);
    202.        
    203.     }
    204.    
    205. }
    206. ?>




    вот скрипт

    Код (Text):
    1. <table width="700" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="tab1">
    2. <table class="zag_page" align="center"><tbody><tr><td align="center" valign="middle">Чат</td></tr></tbody></table>
    3. </td></tr>
    4. <tr><td class="tab2">
    5. <div class="block_tab">
    6. <?
    7. $db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1")     AND `type` = 'room'".($ku['status']<=1?" AND `admod` = '0'":null).""),0)!=0)
    8. {
    9. $chat=mysql_fetch_array(mysql_query("SELECT * FROM `kolhoz_chat` WHERE `id` = '1' AND `type` = 'room'"));
    10. if(isset($_GET['clean']) && $ku['status']>0)
    11. {
    12. if($_GET['clean']=='ok')
    13. {
    14. mysql_query("delete from `kolhoz_chat` where `mother` = '$chat[id]' and `type` = 'komm'");
    15. header("Location:?chat");
    16. }
    17. else echo '<div class="event"><h1>Подтверждение</h1></div><div class="block"><ul class="block"><li><span class="title">Вы уверены?</span></li><li class="pt"><img alt="" width="16" height="16" src="images/icons/tick.png"> <a href="?chat='.$chat['id'].'&clean=ok"><span>
    18. Да, подтверждаю</span></a></li><li><img alt="" width="16" height="16" src="images/icons/cross.png"> <a href="?chat='.$chat['id'].'"><span>
    19. Нет, отказываюсь</span></a></li></ul></div>';
    20. include_once 'inc/foot.php';
    21. }
    22. elseif(isset($_GET['del_komm']) && intval($_GET['del_komm'])!=NULL && mysql_result(mysql_query("SELECT COUNT(*) FROM `kolhoz_chat` WHERE `id` = '".intval($_GET['del_komm'])."' AND `type` = 'komm'"),0)!=0 && $ku['status']>0)
    23. {
    24. mysql_query("delete from `kolhoz_chat` where `mother` = '$chat[id]' and `type` = 'komm' and `id` = '".intval($_GET['del_komm'])."'");
    25. header("Location:?chat");
    26. }
    27. elseif(isset($_GET['del']) && $ku['status']>0)
    28. {
    29. if($_GET['del']=='ok')
    30. {
    31. mysql_query("delete from `kolhoz_chat` where `mother` = '$chat[id]' and `type` = 'komm'");
    32. mysql_query("delete from `kolhoz_chat` where `id` = '$chat[id]' and `type` = 'room'");
    33. header("Location:?chat");
    34. }
    35. else echo '<div class="event"><h1>Подтверждение</h1></div><div class="block"><ul class="block"><li><span class="title">Вы уверены?</span></li><li class="pt"><img alt="" width="16" height="16" src="images/icons/tick.png"> <a href="?chat='.$chat['id'].'&del=ok"><span>
    36. Да, подтверждаю</span></a></li><li><img alt="" width="16" height="16" src="images/icons/cross.png"> <a href="?chat='.$chat['id'].'"><span>
    37. Нет, отказываюсь</span></a></li></ul></div>';
    38. include_once 'inc/foot.php';
    39. }
    40. else
    41.                
    42. {
    43. if(isset($_GET['otv']) && intval($_GET['otv'])!=NULL && mysql_result(mysql_query("SELECT COUNT(*) FROM `kolhoz_user` WHERE `id` = '".intval($_GET['otv'])."'"),0)!=0 && intval($_GET['otv'])!=$ku['id'])
    44. {
    45. $otv=mysql_fetch_array(mysql_query("SELECT * FROM `kolhoz_user` WHERE `id` = '".intval($_GET['otv'])."'"));
    46. $otvu=$otv;
    47. }
    48.  
    49. if(isset($_GET['add']) && $_GET['add']=='ok' && isset($_GET['write']) && !isset($molchi))
    50. {
    51. $msg=$_POST['msg'];
    52. if($msg==NULL)
    53. {
    54. echo err_game("Слишком короткое сообщение");
    55. $err=1;
    56. }
    57. if($ku['level']<=9)
    58. {
    59. $err=1;
    60. err_game("Писать в чате можно с 10 уровня.");
    61. }
    62. if(!isset($err))
    63. {
    64. mysql_query("INSERT INTO `kolhoz_chat` SET `msg` = '".my_esc($msg)."', `id_user` = '$ku[id]', `type` = 'komm', `mother` = '$chat[id]', `time` = '$time'".(isset($otv)?", `otvet` = '$otv[id]'":null)."");
    65. header("Location:?chat&write=yes");
    66. exit;
    67. }
    68. }
    69.  
    70. if($ban['id'])
    71. {
    72. echo "
    73. <span>".($ban['izg']==1?'Изгнание':"Обет Молчания до ".vremja($ban['time']))."</span>, выдал".($us_ban['pol']==0?'a':null)." <span>";
    74. echo on_k($us_ban['id']);
    75. echo "<a href='?user=$us_ban[id]'>".nc($us_ban['id'])."</a></span><span>, (".output_text($ban['msg']).")</span>";
    76. }
    77. echo "
    78. <div>
    79. <form action='?chat=$chat[id]&write=yes&add=ok".(isset($otv)?"&otv=$otv[id]":null)."' method='post'>
    80. <center><label>Сообщение".(isset($otv)?" для $otvu[nick]":null).":<br>
    81. <textarea id='pac_text' name='msg' class='r4' value='' style='resize: none; width: 300px; height: 45px;' data-action='paste'></textarea>
    82. </label></center>
    83. </div>
    84. <div>
    85. <center><input  class='btn_chat' type='submit' value='Отправить'></center></form>
    86. </div>";
    87. echo "<div><img width='16' height='16' src='images/icons/smiles.png' alt='o'> <a href='?smiles'>Смайлы</a></div>";
    88. ?>
    89.  
    90.  
    91.  
    92.  
    93. <table border="0" align="center"><tbody><tr>
    94. <td class="cat_block" width="150" valign="top">
    95.         <div id="loadB"><div id="loadR">
    96.         <center><span class="text_z">В чате: <?=mysql_result(mysql_query("SELECT COUNT(*) FROM `kolhoz_user` WHERE `date_last` > '".(time()-600)."'"), 0); ?></span></center><br>
    97.         <div id="comments_block">
    98.         <?
    99. $q=mysql_query("SELECT * FROM `kolhoz_user` WHERE `date_last` > '".(time()-600)."'".(isset($_GET['admin'])?" AND `kolhoz_user`.`status` > '0'":null)."");
    100. echo "";
    101. while($post=mysql_fetch_array($q))
    102. {
    103.  
    104. echo "<table>";
    105. echo "<tbody>";
    106. echo "<tr>";
    107. echo "<td align='center' width='25' height='25'>";
    108.  
    109. if (file_exists('images/avatars/'.$ku['id'].'.png'))
    110.                 {
    111.                 echo "<img <img class='img_grjdki' width='90' style='max-height: 25px; max-width: 25px; min-height: 25px;' src='images/avatars/$ku[id].png' alt='i'>";
    112.                 }
    113.                 else
    114.                 {
    115.                 echo "<img <img class='img_grjdki' width='90' style='max-height: 25px; max-width: 25px; min-height: 25px;' src='images/noavatar.png' alt='i'>";
    116.                 }
    117. echo "</td>";
    118.  
    119. echo "<td>&nbsp;</td>";
    120. echo "<td> <a class='link_s' href='?user=$post[id]'><span>".nc($post['id'])."</span></a></span>";
    121. echo "</td></tr>";
    122. echo "</tbody>";
    123. echo "</table>";
    124.  
    125. }
    126. ?>
    127.    
    128.        
    129.         <br>        </div>
    130.         </div></div>
    131.         </td>
    132.         <td>&nbsp;</td>
    133.         <td>
    134.         <div class="cat_block">
    135.             <div class="chat r4">
    136.                 <div id="chat_area" style="padding-right: 10px;">
    137. <?
    138.  
    139. $k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `kolhoz_chat` WHERE `type` = 'komm' AND `mother` = '$chat[id]'"),0);
    140. if ($k_post==0)
    141. {
    142. echo "пустo...";
    143. }
    144. $k_page=k_page($k_post,$set['p_str']);
    145. $page=page($k_page);
    146. $start=$set['p_str']*$page-$set['p_str'];
    147. $q=mysql_query("SELECT * FROM `kolhoz_chat` WHERE `type` = 'komm' AND `mother` = '$chat[id]' ORDER BY `time` DESC LIMIT 35");
    148. while($post=mysql_fetch_array($q))
    149. {
    150. $ank=mysql_fetch_array(mysql_query("SELECT * FROM `kolhoz_user` WHERE `id` = '$post[id_user]'"));
    151. if($post['otvet']!=0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `kolhoz_user` WHERE `id` = '$post[otvet]'"),0)!=0)
    152. {
    153. $otvet=mysql_fetch_array(mysql_query("SELECT * FROM `kolhoz_user` WHERE `id` = '$post[otvet]'"));
    154. $otvetu=$otvet;
    155. }
    156.  
    157. echo "<table class='tab_chatt'>";
    158. echo "<tbody>";
    159. echo "<tr>";
    160. echo "<td width='18'>";
    161. echo "<a href='?user=$ank[id]' class='link_chat' target='_blank'><img src='/images/profil.png' class='imgavp'></a>";
    162. echo "</td>";
    163. echo "<td width='100'><span class='smiles_i' data-action='smile' data-content='".nc($ank['id'])."</span>";
    164. echo "</td>";
    165. echo "<td align='right'><span class='text_chat_m'>".vremja($post["time"])."</span></td>";
    166. echo "</tr>";
    167. echo "<tr>";
    168. echo "<td colspan='3'><span><p>".output_text($post['msg'])."</p> </span>";
    169. echo "</td></tr></tbody></table>";
    170.                
    171. }
    172.                
    173. ?>
    174.                
    175.                         </div>
    176.             </div>
    177.         </div><br>
    178.         <div class="cat_block">
    179.             <form id="pac_form" action="" name="forma">
    180.                 <table style="width: 100%;">
    181.                     <tbody><tr>
    182.                         <td colspan="4">
    183.                         <img src="/images/smiles/aa.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-) ">
    184.                         <img src="/images/smiles/ab.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-( ">
    185.                         <img src="/images/smiles/ac.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" ;-) ">
    186.                         <img src="/images/smiles/af.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-D ">
    187.                         <img src="/images/smiles/ah.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-[ ">
    188.                         <img src="/images/smiles/ai.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" 8| ">
    189.                         <img src="/images/smiles/al.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-x ">
    190.                         <img src="/images/smiles/ar.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :YAHOO: ">
    191.                         <img src="/images/smiles/ay.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :thumbsup: ">
    192.                         <img src="/images/smiles/bye.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :bye: ">
    193.                         <img src="/images/smiles/cf.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :pardon: ">
    194.                         <img src="/images/smiles/de.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :de: ">
    195.                         <img src="/images/smiles/good.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :good: ">
    196.                         </td>
    197.                     </tr>
    198.  
    199.  
    200.                 </tbody></table>
    201.             </form>
    202.         </div>
    203.         </td>
    204.  
    205. <?
    206.  
    207.  
    208.  
    209.  
    210. echo '</tr></tbody></table>';
    211.  
    212. echo "</div></td></tr><tr><td class='tab3'></td></tr></tbody></table>";
    213. ?>
    214. <script type="text/javascript">  
    215.         $(document).ready(function() {
    216.         $('#comments_block').jScrollPane({mouseWheelSpeed: 70});
    217.     });
    218. </script>
    219.  
    220. <script type="text/javascript">  
    221. $(function () {
    222.     var target = document.forma.text;
    223.  
    224.     $(document).on('click', '[data-action="smile"]', function (e) {
    225.         var content = $(this).data('content');
    226.  
    227.         insert(content);
    228.     });
    229.  
    230.     function insert (text) {
    231.         if (window.getSelection) {
    232.             var start = target.selectionStart = target.selectionStart || target.value.length;
    233.  
    234.             target.value = target.value.slice(0, start) + text + target.value.slice(target.selectionEnd);
    235.             target.selectionStart = target.selectionEnd = start + text.length;
    236.         } else {
    237.             target.select();
    238.             var range = document.selection.createRange();
    239.  
    240.             range.collapse(false);
    241.             range.text = text;
    242.             range.collapse(false);
    243.             range.select();
    244.         }
    245.     }
    246. });
    247. </script>
    248.  
    249. <script type="text/javascript">
    250. $(document).ready(function () {
    251.     $("#pac_form").submit(Send); // вешаем на форму с именем и сообщением событие которое срабатывает кодга нажата кнопка "Отправить" или "Enter"
    252.     $("#pac_text").focus(); // по поле ввода сообщения ставим фокус
    253.     setInterval("Load();", 2000); // создаём таймер который будет вызывать загрузку сообщений каждые 2 секунды (2000 милесукунд)
    254.     setInterval("jQuery('#loadB').load('#div #loadR');",5000);
    255. });    
    256.  
    257. // Функция для отправки сообщения в обработчик
    258. function Send() {
    259.     $.post("/ajax/chat_ajax.php",  
    260.     {
    261.         act: "send",  // указываем скрипту, что мы отправляем новое сообщение и его нужно записать
    262.         name: $("#pac_name").val(), // ник пользователя
    263.         user: $("#pac_user").val(), // id пользователя сообщения
    264.         level: $("#pac_level").val(), // уровень пользователя
    265.         text: $("#pac_text").val() // текст сообщения
    266.     },
    267.      Load ); // по завершению отправки вызвовем функцию загрузки новых сообщений Load()
    268.  
    269.     $("#pac_text").val(""); // очистим поле ввода сообщения
    270.     $("#pac_text").focus(); // и поставим на него фокус
    271.    
    272.     return false;
    273. }
    274.  
    275. var last_message_id = 0; // номер последнего сообщения, что получил пользователь
    276. var load_in_process = false; // можем ли мы выполнять сейчас загрузку сообщений. Сначала стоит false, что значит - да
    277.  
    278. // Функция загрузки сообщений
    279. function Load() {
    280.     // Проверяем можем ли мы загружать сообщения. Это сделанно для того, что бы мы не начали загрузку заново, если старая загрузка ещё не закончилась.
    281.     if(!load_in_process){
    282.         load_in_process = true; // загрузка началась
    283.         $.post("/ajax/chat_ajax.php",
    284.         {
    285.             act: "load", // указываем на то что это загрузка сообщений
    286.             last: last_message_id, // передаём номер последнего сообщения который получил пользователь в прошлую загрузку
    287.             rand: (new Date()).getTime()
    288.         },
    289.         function (result) { // в эту функцию в качестве параметра передаётся javascript код, который мы должны выполнить
    290.             $(".chat").scrollTop($(".chat").get(0).scrollHeight); // прокручиваем сообщения вниз
    291.             load_in_process = false; // говорим что загрузка закончилась, можем теперь начать новую загрузку
    292.         });
    293.     }
    294. }
    295. </script>
    296. <?
    297. include_once 'inc/foot.php';
    298. }
    299. }
    300.  
    301. ?>
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    не бери курсы у попова $otvu[nick]