помогите сделать запросы к моей базе данных, или объясните на одном-трех примерах как это сделать,а дальше я допетрю) спасибо Код (Text): <?PHP class db{ private $con = false; // Идентификатор private $Queryes = 0; // Число запросов private $MySQLErrors = array(); // Массив с ошибками private $TimeQuery = 0; // Всемя запросов private $MaxExTime = 0; // Максимальное время за 1 запрос private $ListQueryes = ""; // Список запросов private $HardQuery = ""; // Самый тяжелый запрос private $LastQuery = false; // Ресурс запрос private $ConnectData = array(); // Данные соединения /*======================================================================*\ Function: __construct Descriiption: Выполняется при создании экземпляра класса \*======================================================================*/ public function __construct($host, $user, $pass, $base){ $this->Connect($host, $user, $pass, $base); $this->query("SET NAMES 'cp1251'"); $this->query("SET CHARACTER SET 'cp1251'"); } /*======================================================================*\ Function: Stats Descriiption: Возвращает статистику по запросам \*======================================================================*/ public function Stats(){ $sD = array(); $sD["TimeQuery"] = $this->TimeQuery; $sD["MaxExTime"] = $this->MaxExTime; $sD["ListQueryes"] = $this->ListQueryes; $sD["HardQuery"] = $this->HardQuery; $sD["Queryes"] = $this->Queryes; return $sD; } /*======================================================================*\ Function: GetError Descriiption: Выводит описание ошибки в поток \*======================================================================*/ private function GetError($TextError){ $this->MySQLErrors[] = $TextError; die($TextError); } /*======================================================================*\ Function: query Descriiption: Запрос \*======================================================================*/ public function query($query, $FreeMemory = false, $write_last = true){ $TimeA = $this->get_time(); $xxt_res = mysqli_query($this->con, $query) or $this->GetError(mysqli_error($this->con)); if($write_last) $this->LastQuery = $xxt_res; $TimeB = $this->get_time() - $TimeA; $this->TimeQuery += $TimeB; if($TimeB > $this->MaxExTime){$this->HardQuery = $query; $this->MaxExTime = $TimeB;} if( empty($this->ListQueryes) ) $this->ListQueryes = $query; else $this->ListQueryes .= "\n".$query; $this->Queryes++; if(!$FreeMemory){ return $this->LastQuery; }else return $this->FreeMemory(); } /*======================================================================*\ Function: Connect Descriiption: Соединяется с ДБ \*======================================================================*/ private function Connect($host, $user, $pass, $base){ $this->con = @mysqli_connect($host, $user, $pass, $base) or $this->GetError(mysqli_connect_error()); } /*======================================================================*\ Function: MultiQuery Descriiption: Множественный запрос \*======================================================================*/ function MultiQuery($query){ $TimeA = $this->get_time(); mysqli_multi_query($this->con, $query) or $this->GetError(mysqli_connect_error()); $TimeB = $this->get_time() - $TimeA; $ret_data = array(); $counter = 0; do{ if ($result = mysqli_store_result($this->con)) { while ($row = mysqli_fetch_array($result)) { $ret_data[$counter][] = $row; } mysqli_free_result($result); $counter++; } }while(mysqli_next_result($this->con)); $this->TimeQuery += $TimeB; if($TimeB > $this->MaxExTime){$this->HardQuery = $query; $this->MaxExTime = $TimeB;} if( empty($this->ListQueryes) ) $this->ListQueryes = $query; else $this->ListQueryes .= "\n".$query; $this->Queryes++; return $ret_data; } /*======================================================================*\ Function: get_time Descriiption: Возвращает строку времени \*======================================================================*/ private function get_time() { list($seconds, $microSeconds) = explode(' ', microtime()); return ((float) $seconds + (float) $microSeconds); } /*======================================================================*\ Function: __destruct Descriiption: Выполняется при уничтожении экземпляра класса \*======================================================================*/ function __destruct(){ if( !count($this->MySQLErrors) ) mysqli_close($this->con); } /*======================================================================*\ Function: FreeMemory Descriiption: Освобождает память \*======================================================================*/ function FreeMemory() { $tr = ($this->LastQuery) ? true : false; @mysqli_free_result($this->LastQuery); return $tr; } /*======================================================================*\ Function: RealEscape Descriiption: Фильтрация ) \*======================================================================*/ function RealEscape($string) { if ($this->con) return mysqli_real_escape_string ($this->con, $string); else return mysql_escape_string($string); } /*======================================================================*\ Function: NumRows Descriiption: Подсчет числа строк \*======================================================================*/ function NumRows() { return mysqli_num_rows($this->LastQuery); } /*======================================================================*\ Function: fetch_array Descriiption: Возвращ массив, создает циферные ключи... \*======================================================================*/ function FetchArray(){ //if($this->LastQuery) return mysqli_fetch_array($this->LastQuery); } /*======================================================================*\ Function: NumRows Descriiption: Возвращает результат \*======================================================================*/ function FetchRow(){ $xres = mysqli_fetch_row($this->LastQuery); return (count($xres) > 1) ? $xres : $xres[0]; } /*======================================================================*\ Function: LastInsert() Descriiption: Возвращает последний ID вставки \*======================================================================*/ function LastInsert(){ return @mysqli_insert_id($this->con); } } ?> вот скрипт Код (Text): <table width="700" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="tab1"> <table class="zag_page" align="center"><tbody><tr><td align="center" valign="middle">Чат</td></tr></tbody></table> </td></tr> <tr><td class="tab2"> <div class="block_tab"> <? $db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1") AND `type` = 'room'".($ku['status']<=1?" AND `admod` = '0'":null).""),0)!=0) { $chat=mysql_fetch_array(mysql_query("SELECT * FROM `kolhoz_chat` WHERE `id` = '1' AND `type` = 'room'")); if(isset($_GET['clean']) && $ku['status']>0) { if($_GET['clean']=='ok') { mysql_query("delete from `kolhoz_chat` where `mother` = '$chat[id]' and `type` = 'komm'"); header("Location:?chat"); } 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> Да, подтверждаю</span></a></li><li><img alt="" width="16" height="16" src="images/icons/cross.png"> <a href="?chat='.$chat['id'].'"><span> Нет, отказываюсь</span></a></li></ul></div>'; include_once 'inc/foot.php'; } 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) { mysql_query("delete from `kolhoz_chat` where `mother` = '$chat[id]' and `type` = 'komm' and `id` = '".intval($_GET['del_komm'])."'"); header("Location:?chat"); } elseif(isset($_GET['del']) && $ku['status']>0) { if($_GET['del']=='ok') { mysql_query("delete from `kolhoz_chat` where `mother` = '$chat[id]' and `type` = 'komm'"); mysql_query("delete from `kolhoz_chat` where `id` = '$chat[id]' and `type` = 'room'"); header("Location:?chat"); } 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> Да, подтверждаю</span></a></li><li><img alt="" width="16" height="16" src="images/icons/cross.png"> <a href="?chat='.$chat['id'].'"><span> Нет, отказываюсь</span></a></li></ul></div>'; include_once 'inc/foot.php'; } else { 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']) { $otv=mysql_fetch_array(mysql_query("SELECT * FROM `kolhoz_user` WHERE `id` = '".intval($_GET['otv'])."'")); $otvu=$otv; } if(isset($_GET['add']) && $_GET['add']=='ok' && isset($_GET['write']) && !isset($molchi)) { $msg=$_POST['msg']; if($msg==NULL) { echo err_game("Слишком короткое сообщение"); $err=1; } if($ku['level']<=9) { $err=1; err_game("Писать в чате можно с 10 уровня."); } if(!isset($err)) { 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).""); header("Location:?chat&write=yes"); exit; } } if($ban['id']) { echo " <span>".($ban['izg']==1?'Изгнание':"Обет Молчания до ".vremja($ban['time']))."</span>, выдал".($us_ban['pol']==0?'a':null)." <span>"; echo on_k($us_ban['id']); echo "<a href='?user=$us_ban[id]'>".nc($us_ban['id'])."</a></span><span>, (".output_text($ban['msg']).")</span>"; } echo " <div> <form action='?chat=$chat[id]&write=yes&add=ok".(isset($otv)?"&otv=$otv[id]":null)."' method='post'> <center><label>Сообщение".(isset($otv)?" для $otvu[nick]":null).":<br> <textarea id='pac_text' name='msg' class='r4' value='' style='resize: none; width: 300px; height: 45px;' data-action='paste'></textarea> </label></center> </div> <div> <center><input class='btn_chat' type='submit' value='Отправить'></center></form> </div>"; echo "<div><img width='16' height='16' src='images/icons/smiles.png' alt='o'> <a href='?smiles'>Смайлы</a></div>"; ?> <table border="0" align="center"><tbody><tr> <td class="cat_block" width="150" valign="top"> <div id="loadB"><div id="loadR"> <center><span class="text_z">В чате: <?=mysql_result(mysql_query("SELECT COUNT(*) FROM `kolhoz_user` WHERE `date_last` > '".(time()-600)."'"), 0); ?></span></center><br> <div id="comments_block"> <? $q=mysql_query("SELECT * FROM `kolhoz_user` WHERE `date_last` > '".(time()-600)."'".(isset($_GET['admin'])?" AND `kolhoz_user`.`status` > '0'":null).""); echo ""; while($post=mysql_fetch_array($q)) { echo "<table>"; echo "<tbody>"; echo "<tr>"; echo "<td align='center' width='25' height='25'>"; if (file_exists('images/avatars/'.$ku['id'].'.png')) { 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'>"; } else { echo "<img <img class='img_grjdki' width='90' style='max-height: 25px; max-width: 25px; min-height: 25px;' src='images/noavatar.png' alt='i'>"; } echo "</td>"; echo "<td> </td>"; echo "<td> <a class='link_s' href='?user=$post[id]'><span>".nc($post['id'])."</span></a></span>"; echo "</td></tr>"; echo "</tbody>"; echo "</table>"; } ?> <br> </div> </div></div> </td> <td> </td> <td> <div class="cat_block"> <div class="chat r4"> <div id="chat_area" style="padding-right: 10px;"> <? $k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `kolhoz_chat` WHERE `type` = 'komm' AND `mother` = '$chat[id]'"),0); if ($k_post==0) { echo "пустo..."; } $k_page=k_page($k_post,$set['p_str']); $page=page($k_page); $start=$set['p_str']*$page-$set['p_str']; $q=mysql_query("SELECT * FROM `kolhoz_chat` WHERE `type` = 'komm' AND `mother` = '$chat[id]' ORDER BY `time` DESC LIMIT 35"); while($post=mysql_fetch_array($q)) { $ank=mysql_fetch_array(mysql_query("SELECT * FROM `kolhoz_user` WHERE `id` = '$post[id_user]'")); if($post['otvet']!=0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `kolhoz_user` WHERE `id` = '$post[otvet]'"),0)!=0) { $otvet=mysql_fetch_array(mysql_query("SELECT * FROM `kolhoz_user` WHERE `id` = '$post[otvet]'")); $otvetu=$otvet; } echo "<table class='tab_chatt'>"; echo "<tbody>"; echo "<tr>"; echo "<td width='18'>"; echo "<a href='?user=$ank[id]' class='link_chat' target='_blank'><img src='/images/profil.png' class='imgavp'></a>"; echo "</td>"; echo "<td width='100'><span class='smiles_i' data-action='smile' data-content='".nc($ank['id'])."</span>"; echo "</td>"; echo "<td align='right'><span class='text_chat_m'>".vremja($post["time"])."</span></td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='3'><span><p>".output_text($post['msg'])."</p> </span>"; echo "</td></tr></tbody></table>"; } ?> </div> </div> </div><br> <div class="cat_block"> <form id="pac_form" action="" name="forma"> <table style="width: 100%;"> <tbody><tr> <td colspan="4"> <img src="/images/smiles/aa.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-) "> <img src="/images/smiles/ab.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-( "> <img src="/images/smiles/ac.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" ;-) "> <img src="/images/smiles/af.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-D "> <img src="/images/smiles/ah.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-[ "> <img src="/images/smiles/ai.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" 8| "> <img src="/images/smiles/al.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :-x "> <img src="/images/smiles/ar.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :YAHOO: "> <img src="/images/smiles/ay.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :thumbsup: "> <img src="/images/smiles/bye.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :bye: "> <img src="/images/smiles/cf.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :pardon: "> <img src="/images/smiles/de.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :de: "> <img src="/images/smiles/good.gif" alt="smile" class="smiles_i" data-action="smile" data-content=" :good: "> </td> </tr> </tbody></table> </form> </div> </td> <? echo '</tr></tbody></table>'; echo "</div></td></tr><tr><td class='tab3'></td></tr></tbody></table>"; ?> <script type="text/javascript"> $(document).ready(function() { $('#comments_block').jScrollPane({mouseWheelSpeed: 70}); }); </script> <script type="text/javascript"> $(function () { var target = document.forma.text; $(document).on('click', '[data-action="smile"]', function (e) { var content = $(this).data('content'); insert(content); }); function insert (text) { if (window.getSelection) { var start = target.selectionStart = target.selectionStart || target.value.length; target.value = target.value.slice(0, start) + text + target.value.slice(target.selectionEnd); target.selectionStart = target.selectionEnd = start + text.length; } else { target.select(); var range = document.selection.createRange(); range.collapse(false); range.text = text; range.collapse(false); range.select(); } } }); </script> <script type="text/javascript"> $(document).ready(function () { $("#pac_form").submit(Send); // вешаем на форму с именем и сообщением событие которое срабатывает кодга нажата кнопка "Отправить" или "Enter" $("#pac_text").focus(); // по поле ввода сообщения ставим фокус setInterval("Load();", 2000); // создаём таймер который будет вызывать загрузку сообщений каждые 2 секунды (2000 милесукунд) setInterval("jQuery('#loadB').load('#div #loadR');",5000); }); // Функция для отправки сообщения в обработчик function Send() { $.post("/ajax/chat_ajax.php", { act: "send", // указываем скрипту, что мы отправляем новое сообщение и его нужно записать name: $("#pac_name").val(), // ник пользователя user: $("#pac_user").val(), // id пользователя сообщения level: $("#pac_level").val(), // уровень пользователя text: $("#pac_text").val() // текст сообщения }, Load ); // по завершению отправки вызвовем функцию загрузки новых сообщений Load() $("#pac_text").val(""); // очистим поле ввода сообщения $("#pac_text").focus(); // и поставим на него фокус return false; } var last_message_id = 0; // номер последнего сообщения, что получил пользователь var load_in_process = false; // можем ли мы выполнять сейчас загрузку сообщений. Сначала стоит false, что значит - да // Функция загрузки сообщений function Load() { // Проверяем можем ли мы загружать сообщения. Это сделанно для того, что бы мы не начали загрузку заново, если старая загрузка ещё не закончилась. if(!load_in_process){ load_in_process = true; // загрузка началась $.post("/ajax/chat_ajax.php", { act: "load", // указываем на то что это загрузка сообщений last: last_message_id, // передаём номер последнего сообщения который получил пользователь в прошлую загрузку rand: (new Date()).getTime() }, function (result) { // в эту функцию в качестве параметра передаётся javascript код, который мы должны выполнить $(".chat").scrollTop($(".chat").get(0).scrollHeight); // прокручиваем сообщения вниз load_in_process = false; // говорим что загрузка закончилась, можем теперь начать новую загрузку }); } } </script> <? include_once 'inc/foot.php'; } } ?>