PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 5
ByLex Отправлено: 27 Сентября, 2011 - 19:40:57 • Тема: постраничная навигация на php • Форум: Обсуждение статей

Ответов: 11
Просмотров: 10333
так же воспользовался статьей.....но почему то когда по ссылкам начинаешь переходить, то товары не меняются....т.е. если на первый был товар шланг, то перейдя на вторую страницу так и остается этот шланг и все остальные какие были на первой странице....помогите разобраться? Что я не так делаю

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. if (!isset($priv) || !isset($HTTP_SESSION_VARS['privilege']) || $priv == '' || $priv < 1 || $priv > 5 || !isset($user_login) || !isset($HTTP_SESSION_VARS['user_login']) || $userlogin == '' || !isset($userid) || !isset($HTTP_SESSION_VARS['user_id']) || $userid == '')
  4.         {
  5.         Header("Location: start.php?exit");
  6.         exit;
  7.         }
  8. // Построение дерева
  9. include("functions.php");
  10. function build_tree($idp)
  11. {
  12.         global $id_sec;
  13.         $result = mysql_query("select id, name from grandi_catalog where idp = $idp and isprod=0 order by sort");
  14.         while (list($id, $name)=mysql_fetch_array($result))
  15.         {
  16.                 if ($id == $id_sec)
  17.                         {
  18. ?>
  19. node_<?=$id?> = node_<?=$idp?>.addItem(new TreeNode('<b><?=$name?></b>', 'folder.gif', null, false, true, '', '', 'folderopen.gif'));
  20. <?PHP
  21.                         }
  22.                         else
  23.                         {
  24. ?>
  25. node_<?=$id?> = node_<?=$idp?>.addItem(new TreeNode('<a href="index.php?catalog_view+&id=<?=$id?>"><?=$name?></a>', 'folder.gif', null, false, true, '', '', 'folderopen.gif'));
  26. <?PHP
  27.                         }
  28.                         build_tree($id);
  29.         }
  30. }
  31.  
  32. // рекурсивное удаление всех разделов и товаров заданного раздела
  33. function delete_cat($id_ed) {
  34.         $result = mysql_query("select id from grandi_catalog where idp = $id_ed order by id");
  35.         while ( list($id) = mysql_fetch_array($result) )
  36.                 delete_cat($id);
  37.         $result = mysql_query("DELETE from grandi_catalog WHERE id = $id_ed");
  38. }
  39.  
  40. function print_section() {
  41. global $id_sec;
  42.  
  43.  
  44. $resultat = mysql_query("SELECT id,name,idheaders,type1,type2,type3,string1,string2,hide,number1,number2,number3,number4,new FROM grandi_catalog WHERE idp = $id_sec and isprod=1 ORDER BY sort");
  45.  
  46.        
  47.        
  48.        
  49.         if(mysql_num_rows($resultat)){
  50.                 ?><p class="head" align=left>Список разделов:
  51.                 <table width=100% border="1" bordercolor="#e1e7ec" style="border-collapse: collapse;">
  52.                 <tr>
  53.                 <td colspan=6 align=center class="Header01"><strong>Действия</strong></td>
  54.                 <td class="Header01" width=100%>&nbsp;<b>Раздел</b>&nbsp;</td>
  55.                 </tr><?
  56.                 while($pr = mysql_fetch_array($res))
  57.                 {
  58.                 ?><tr>
  59.                                 <td align=center><input name="prod_<?=$pr[id]?>" type="checkbox" class=checkbox></td>
  60.                                 <td align=center><img src="Images/edit.gif"  alt="Редактировать" border="0"></td>
  61.                                 <td align=center><a href="javascript:enter('delete',0,<?=$pr[id]?>);"><img src="Images/delete.gif"  alt="Удалить" border="0"></a></td>
  62.                                 <td align=center><? if($pr[hide]) { ?><a href="javascript:enter('activate',0,<?=$pr[id]?>);"><img src="Images/off.gif"  alt="Активировать" border="0"></a><?}else{?><a href="javascript:enter('deactivate',0,<?=$pr[id]?>);"><img src="Images/on.gif"  alt="Деактивировать" border="0"></a><?}?></td>
  63.                                 <td align=center><a href="javascript:enter('up',0,<?=$pr[id]?>);"><img src="Images/up.gif" alt="Поднять" border="0"></a></td>
  64.                                 <td align=center><a href="javascript:enter('down',0,<?=$pr[id]?>);"><img src="Images/down.gif"  alt="Опустить" border="0"></a></td>
  65.                                 <td align=left>&nbsp;<a href="index.php?catalog_view+&id=<?=$pr[id]?>" title="Редактировать"><b><?=$pr[name]?></b></a>&nbsp;</td>
  66.                         </tr>
  67.                         <?     
  68.                 }
  69.                 ?>
  70.                 <tr>
  71.                 <td colspan=7 align=left>
  72.                 С отмеченными: <a href="javascript:enter('activate',0,0);"><img src="Images/on.gif"  alt="Активировать" border="0"></a> <a href="javascript:enter('deactivate',0,0);"><img src="Images/off.gif"  alt="Деактивировать" border="0"></a> <a href="javascript:enter('delete',0,0);"><img src="Images/delete.gif"  alt="Удалить" border="0"></a>
  73.                 </td>
  74.                 </table><?
  75.         }
  76. }
  77. // вывод продукции
  78. function print_production()
  79. {
  80.  
  81. $num = 550;  
  82. // Извлекаем из URL текущую страницу  
  83. $page = $_GET['page'];  
  84. // Определяем общее число сообщений в базе данных  
  85. $res = mysql_query("SELECT COUNT(*) FROM grandi_catalog");  
  86. $posts = mysql_result($res, 0);  
  87. // Находим общее число страниц  
  88. $total = intval(($posts - 1) / $num) + 1;  
  89. // Определяем начало сообщений для текущей страницы  
  90. $page = intval($page);  
  91. // Если значение $page меньше единицы или отрицательно  
  92. // переходим на первую страницу  
  93. // А если слишком большое, то переходим на последнюю  
  94. if(empty($page) or $page < 0) $page = 1;  
  95.   if($page > $total) $page = $total;  
  96. // Вычисляем начиная к какого номера  
  97. // следует выводить сообщения  
  98. $start = $page * $num - $num;  
  99. // Выбираем $num сообщений начиная с номера $start
  100.  
  101.         // :KLUDGE: tmh 040928: Сложный запрос
  102.         // Возможно будет замедлять работу системы
  103.         // Проверить на объеме данных от 10000 до 100000 строк
  104.         // При необходимости оптимизировать таблицу и наложить соответсвующие индексы.
  105.         global $id_sec;
  106.         $res = mysql_query("SELECT id,name,idheaders,type1,type2,type3,string1,string2,hide,number1,number2,number3,number4,new FROM grandi_catalog WHERE idp = $id_sec and isprod=1 ORDER BY sort LIMIT $start, $num");
  107.                 $i = 0;
  108.        
  109.         while($pr = mysql_fetch_array($res))
  110.        
  111.        
  112.  
  113.         {
  114.                 $i++;
  115.                 // :TODO: tmh 040928: Надо решить, будут ли типы изменяемые
  116.                 // Если типы не будут изменяться, убрать блок проверки
  117.                 if($idheaders != $pr[idheaders]){
  118.                         list($head) = mysql_fetch_array(mysql_query("select headers from grandi_catalog_headers where id = ".$pr[idheaders].""));
  119.                         $head = explode(";",$head);
  120.                         if($naim == $head[0] && $tp1 == $head[1] && $tp2 == $head[2] && $tp3 == $head[3]) {}
  121.                         else{
  122.                                 if($idheaders) {?></table><?}
  123.                                 $idheaders = $pr[idheaders];
  124.                                 $naim = $head[0];
  125.                                 $tp1 = $head[1];
  126.                                 $tp2 = $head[2];
  127.                                 $tp3 = $head[3];
  128.                                 $s1 = $head[4];
  129.                                 $s2 = $head[5];
  130.                                 $p1 = $head[14];
  131.                                 $p2 = $head[15];
  132.                                 $p3 = $head[16];
  133.                                 $p4 = $head[17];
  134.                                 $p5 = $head[18];
  135.                                
  136.                                 ?>
  137.                                 <p class="head" align=left>Список продукции:
  138.                                 <table width=100% border="1" bordercolor="#e1e7ec" style="border-collapse: collapse;"><tr>
  139.                                 <td colspan=6 align=center class="Header01">&nbsp;<strong>Действия</strong>&nbsp;</td>
  140.                                 <td class="Header01">&nbsp;<b><?=$naim?></b>&nbsp;</td>
  141.                                 <?if($tp1){?><td align=center class="Header01" nowrap>&nbsp;<b><?=$tp1?></b>&nbsp;</td><?}?>
  142.                                 <?if($p1){?><td align=center class="Header01" nowrap>&nbsp;<b><?=$p1?></b>&nbsp;</td><?}?>
  143.                                 <?if($p2){?><td align=center class="Header01" nowrap>&nbsp;<b><?=$p2?></b>&nbsp;</td><?}?>
  144.                                 <?if($p3){?><td align=center class="Header01" nowrap>&nbsp;<b><?=$p3?></b>&nbsp;</td><?}?>
  145.                                 <?if($p4){?><td align=center class="Header01" nowrap>&nbsp;<b><?=$p4?></b>&nbsp;</td><?}?>
  146.                                 </tr><?
  147.                        
  148.                        
  149.                         }
  150.                         if ($page != 1) $pervpage = '<a href= /grandi/index.php?catalog_view+&id=4555><<</a>  
  151.                               <a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page - 1) .'><</a> ';  
  152. // Проверяем нужны ли стрелки вперед  
  153. if ($page != $total) $nextpage = ' <a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page + 1) .'>></a>  
  154.                                   <a href= /grandi/index.php?catalog_view+&id=4555&str=' .$total. '>>></a>';  
  155.  
  156. // Находим две ближайшие станицы с обоих краев, если они есть  
  157. if($page - 2 > 0) $page2left = ' <a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page - 2) .'>'. ($page - 2) .'</a> | ';  
  158. if($page - 1 > 0) $page1left = '<a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page - 1) .'>'. ($page - 1) .'</a> | ';  
  159. if($page + 2 <= $total) $page2right = ' | <a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page + 2) .'>'. ($page + 2) .'</a>';  
  160. if($page + 1 <= $total) $page1right = ' | <a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page + 1) .'>'. ($page + 1) .'</a>';
  161.  
  162. // Вывод меню  
  163. echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;  
  164.                        
  165.                        
  166.                        
  167.                        
  168.                        
  169.                        
  170.                        
  171.                        
  172.                        
  173.                 }
  174.                        
  175.                 ?>
  176.                                
  177.                         <tr>
  178.                         <td align=center><input id="checkbox_prod_<?= $pr[id] ?>" name="prod_<?=$pr[id]?>" type="checkbox" class=checkbox></td>
  179.                         <td align=center><a href="index.php?catalog_edit+&id=<?=$pr[id]?>" title="Редактировать"><img src="Images/edit.gif"  alt="Редактировать" border="0"></a></td>
  180.                         <td align=center><a href="javascript:enter('delete',1,<?=$pr[id]?>);"><img src="Images/delete.gif"  alt="Удалить" border="0"></a></td>
  181.                         <td align=center><? if($pr[hide]) { ?><a href="javascript:enter('activate',1,<?=$pr[id]?>);"><img src="Images/off.gif"  alt="Активировать" border="0"></a><?}else{?><a href="javascript:enter('deactivate',1,<?=$pr[id]?>);"><img src="Images/on.gif"  alt="Деактивировать" border="0"></a><?}?></td>
  182.                        
  183.                         <td align=center><a href="javascript:enter('up',1,<?=$pr[id]?>);"><img src="Images/up.gif" alt="Поднять" border="0"></a></td>
  184.                         <td align=center><a href="javascript:enter('down',1,<?=$pr[id]?>);"><img src="Images/down.gif"  alt="Опустить" border="0"></a></td>
  185.                
  186.                        
  187.                         <td width=100%>&nbsp;<a href="index.php?catalog_edit+&id=<?=$pr[id]?>" title="Редактировать"><?=$pr[name]?></a>&nbsp;</td>
  188.                         <?if($tp1){?><td align=center>&nbsp;<?=$pr[type1]?>&nbsp;</td><?}?>
  189.                         <?if($p1){?><td align=center>&nbsp;<?=$pr[number1]?>&nbsp;</td><?}?>
  190.                         <?if($p2){?><td align=center>&nbsp;<?=$pr[number2]?>&nbsp;</td><?}?>
  191.                         <?if($p3){?><td align=center>&nbsp;<?=$pr[number3]?>&nbsp;</td><?}?>
  192.                         <?if($p4){?><td align=center>&nbsp;<?=$pr[number4]?>&nbsp;</td><?}?>
  193.                 </tr>
  194.                 <?
  195.         }
  196.         if($i)
  197.         {?>
  198.                 <tr>
  199.                 <td colspan=7 align=left>
  200.                
  201.                 С отмеченными: <a href="javascript:enter('activate',1,0);"><img src="Images/on.gif"  alt="Активировать" border="0"></a> <a href="javascript:enter('deactivate',1,0);"><img src="Images/off.gif"  alt="Деактивировать" border="0"></a> <a href="javascript:enter('delete',1,0);"><img src="Images/delete.gif"  alt="Удалить" border="0"></a>
  202.                 </td>
  203.                 <?if($p1 || $p2 || $p3 || $p4 || $p5){?>
  204.                         <td colspan=5 align=right><input type=submit class=button value="Применить"></td>
  205.                 <?}?>
  206.                 </tr>
  207.                 </table>
  208.         <?}?>
  209.        
  210. <?
  211. }
  212. // Удалить одно наименование продукции
  213. function delete_prod($id) {
  214.         //list($idp,$name,$isprod) = mysql_fetch_array(mysql_query("select idp,name,isprod from grandi_catalog where id = $id"));
  215.         if ($isprod) {
  216.                 //$del = "delete from grandi_catalog where idp = $idp and name = '".$name."' and isprod = 1";
  217.                 $del = "delete from grandi_catalog where id = $id and isprod = 1 limit 1";
  218.                 mysql_query($del);
  219.         }
  220.         else{
  221.                 $sel = mysql_query("select id from grandi_catalog where idp = $id");
  222.                 while( list($idx) = mysql_fetch_array($sel) ) delete_prod($idx);
  223.                 $del = "delete from grandi_catalog where id = $id limit 1";
  224.                 mysql_query($del);
  225.         }
  226. }
  227. // Функция активации/деактивации продукции
  228. function activate_prod($id,$hide) {
  229.         //list($idp,$name) = mysql_fetch_array(mysql_query("select idp,name from grandi_catalog where id = $id"));
  230.         //$upd = "update grandi_catalog set hide = '".$hide."' where idp = $idp and name = '".$name."'  ";
  231.         $upd = "update grandi_catalog set hide = '".$hide."' where id = $id limit 1";
  232.         mysql_query($upd);
  233. }
  234. // функция подъема/опускания продукции
  235. function lift_prod($id,$lift)
  236. {
  237.         list($idp,$name,$sort) = mysql_fetch_array(mysql_query("select idp,name,sort from grandi_catalog where id = $id"));
  238.         if($lift == "up")
  239.         {
  240.                 $sel = "select max(sort) from grandi_catalog where idp = $idp and sort < $sort  ";
  241.                 list($sort2) = mysql_fetch_array(mysql_query($sel));
  242.         }else if($lift == "down")
  243.         {
  244.                 $sel = "select min(sort) from grandi_catalog where idp = $idp and sort > $sort  ";
  245.                 list($sort2) = mysql_fetch_array(mysql_query($sel));
  246.         }else{
  247.                 print "Bad arguments";
  248.                 return;
  249.         }
  250.         if($sort2)
  251.         {
  252.                 $upd1 = "update grandi_catalog set sort = '-1' where idp = $idp and sort = $sort";
  253.                 $upd2 = "update grandi_catalog set sort = $sort where idp = $idp and sort = $sort2";
  254.                 $upd3 = "update grandi_catalog set sort = $sort2 where idp = $idp and sort = '-1'";
  255.                 mysql_query($upd1);
  256.                 mysql_query($upd2);
  257.                 mysql_query($upd3);
  258.         }
  259.  
  260. }
  261. function update_cat($id) {
  262.         //NAF
  263.        
  264.         //NAF
  265.         $arr = array();
  266.         $hasmore = 'n';
  267.        
  268.         foreach ($_POST as $key => $value) {
  269.         if ($hasmore == 'n' && $value && $key != 'cat_number1' && $key != 'cat_name' && $key != 'cat_isprod') $hasmore = 'y';
  270.                 if (substr($key, 0, 4) == "cat_") {
  271.                         if (is_array($value)) {
  272.                                 $value = implode(";", $value);
  273.                         }
  274.                         if (substr($key, 4, 4) == "text") {
  275.                                 $value = grandi_string_del_html($value, substr($key, 4));
  276.                         }
  277.                         $arr[] = substr($key, 4)." = '".$value."'";
  278.                 }
  279.         }
  280.  
  281.         mysql_query("update grandi_catalog set ".implode(", ", $arr).", hasmore = '$hasmore' where id = '{$id}' limit 1");
  282.                 $row = mysql_fetch_assoc(mysql_query("SELECT id, path FROM grandi_catalog WHERE isprod != '1' AND id = '{$id}' LIMIT 1"));
  283.        
  284.         if (!$row || $row[path] == "") {
  285.                 return;
  286.         }
  287.        
  288. }
  289.  
  290. function add_cat($id) {
  291.  
  292.         //NAF
  293.         $uploaddir = $_SERVER['DOCUMENT_ROOT'].'/images/products/';
  294.         $upfiled = time().basename($_FILES['cat_photo']['name']);
  295.         $uploadfile=$uploaddir.$upfiled;
  296.         move_uploaded_file($_FILES['cat_photo']['tmp_name'], $uploadfile);
  297.         $small_name=$uploaddir.'thumb_list/'.$upfiled;
  298.         $medium_name=$uploaddir.'thumb_prev/'.$upfiled;
  299.         img_resize($uploadfile, $medium_name, 320, 240);
  300.         img_resize($uploadfile, $small_name, 100, 100);
  301.         chmod($small_name, 0755);
  302.         chmod($uploadfile, 0755);
  303.         chmod($medium_name, 0755);
  304.         $_POST[cat_photo]=$upfiled;
  305.         //NAF
  306.         if ($id == 0) {
  307.                 return;
  308.         }
  309.        
  310.         $arr = array();
  311.         $hasmore = 'n';
  312.         foreach ($_POST as $key => $value) {
  313.         if ($hasmore == 'n' && $value && $key != 'cat_number1' && $key != 'cat_name' && $key != 'cat_isprod') $hasmore = 'y';
  314.                 if (substr($key, 0, 4) == "cat_") {
  315.                         if (is_array($value)) {
  316.                                 $value = implode(";", $value);
  317.                         }
  318.                         $value = grandi_string_del_html($value, substr($key, 4));
  319.                         $arr[] = substr($key, 4)." = '".$value."'";
  320.                 }
  321.         }
  322.        
  323.         list($sort) = mysql_fetch_array(mysql_query("select max(sort) from grandi_catalog"));
  324.        
  325.         if ($_POST[cat_isprod]) {
  326.                 mysql_query("insert into grandi_catalog set ".implode(", ", $arr).", idp = '{$id}', idheaders = 1, sort = '".($sort + 1)."', hasmore = '$hasmore'");
  327.         }
  328.         else {
  329.         mysql_query("insert into grandi_catalog set ".implode(", ", $arr).", idp = '{$id}', idheaders = 0, sort = '".($sort + 1)."', links = 'Полезные ссылки'");
  330.         }
  331.        
  332. }
  333.  
  334. function select_print_files($dir, $root = "", $selected = array()) {
  335.        
  336.         $files = array();
  337.        
  338.         if ($dh = @opendir($dir)) {
  339.                 while (($file = readdir($dh)) !== false) {
  340.                         $root_file = $root == "" ? $file : $root."/".$file;
  341.                         if ($file == "." || $file == ".." || $file == "thumb_list" || $file == "thumb_prev") {
  342.                                 ;
  343.                         }
  344.                         else if (is_dir($dir."/".$file)) {
  345.                                 select_print_files($dir."/".$file, $root_file, $selected);
  346.                         }
  347.                         else if (is_file($dir."/".$file)) {
  348.                                 if (in_array($root_file, $selected)) {
  349.                                         echo "<option value=\"{$root_file}\" selected=\"selected\">{$root_file}</option>";
  350.                                 }
  351.                                 else {
  352.                                         echo "<option value=\"{$root_file}\">{$root_file}</option>";
  353.                                 }
  354.                         }
  355.                 }
  356.                 closedir($dh);
  357.         }
  358.        
  359.         return $files;
  360.        
  361. }
  362.  
  363. ?>
ByLex Отправлено: 02 Марта, 2011 - 16:55:19 • Тема: Поиск строки целиком • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 51
дскажите в какое место это дописать...я в php вообще почти ноль
(Добавление)
я бы заплатил если бы помогли. Вот моя ася 24307013
ByLex Отправлено: 02 Марта, 2011 - 12:38:30 • Тема: Поиск строки целиком • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 51
Это магазин автозапчастей. Там идет поиск по артиклу. Т.е. номеру автозапчасти. С php туго очень. если есть способ пожалуста напишите поточнее, что и как заменить или дописать. Большое всем спасибо.
ByLex Отправлено: 02 Марта, 2011 - 10:53:38 • Тема: Поиск строки целиком • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 51
Всем привет. Есть самописный движок. Есть файл отвечающий за поиск search.php. Есть артикул товара, например 12a2hr-12 и есть артикул 12a2hr-25. При поиске выдает два результата. И тот и тот. Как делать поиск строки целиком? Т.е.е если я ввел 12a2hr-12, то и результат выдачи был соответственно один 12a2hr-12. Товаров много и у всех похожий артикул....и в выдаче идет куча похожих товаров...Необходимо реализовать поиск строки целиком. Но сделать не могу. За поиск артикула товара отвечает type1, здесь и прописывается артикул товара в базе mysql. Подскажите пожалуйста. Помогите дописать поиск. Спасибо.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. function print_cat_path($id) {
  4.         $res = mysql_query("select idp,path from grandi_catalog where id = '$id'");
  5.         while (list($idp, $path) = mysql_fetch_array($res)) {
  6.                 if ($path) {
  7.                         $pth = $path."/".$pth;
  8.                 }
  9.                 else {
  10.                         $pth = $id."/".$pth;
  11.                 }
  12.                 $res = mysql_query("select idp,path from grandi_catalog where id = '$idp'");
  13.         }
  14.         return $pth;
  15. }
  16.  
  17. ?>
  18.  
  19. <table width="100%">
  20.  
  21. <?PHP
  22. if (issets($str)) {
  23.         $str = trim($str);
  24.         $all_counter = 0;
  25.         $sql = '( SELECT 1, isprod, id, name, concat( string1, string2, string3, string4, string5, string6, string7, string8, string6, string10 ) , concat( text1 ) , '
  26.         . ' MATCH ( name, string1, string2, string3, string4, string5, string6, string7, string8, string6, string10, text1 )'
  27.         . ' AGAINST ( \'+'.str_replace(' ', '* +', $str).'*\''
  28.         . ' IN BOOLEAN'
  29.         . ' MODE ) AS sort'
  30.         . ' FROM grandi_catalog'
  31.         . ' WHERE MATCH ( name, type1, string1, string2, string3, string4, string5, string6, string7, string8, string6, string10, text1 )'      
  32.         . ' AGAINST ( \'+'.str_replace(' ', '* +', $str).'*\''
  33.         . ' IN BOOLEAN'
  34.         . ' MODE )
  35.    and hide != 1
  36.    '
  37.         . ' GROUP BY name )'
  38.         ;
  39.         $result = mysql_query($sql);
  40.  
  41.         $j = 1;
  42.         while (list($num,$isprod,$id,$name,$info,$text)=@mysql_fetch_array($result)) {
  43.                 if ($num == 1){
  44.                         $link = "/".print_cat_path($id);
  45.                 }
  46.                 else if($num == 2){
  47.                         $link = "/".$info."/";
  48.                 }
  49.                 else if($num == 3) {
  50.                         if ($isprod == 1) {
  51.                                 $link = "/news/".$id."/";
  52.                         }
  53.                 }
  54.                 ?>
  55.                
  56.                 <tr>
  57.                         <td valign="top"><strong>&nbsp;<?= sprintf("%02d", $j) ?>&nbsp;</strong></td>
  58.                         <td valign="top" width="100%">
  59.                        
  60.                         <?PHP
  61.                         if ($info || $num != 2) {
  62.                                 echo "<a href=\"".$link."\">".eregi_replace($str, "<font color='#00214C'>".$str."</font>", $name)."</a><br>";
  63.                         }
  64.                         while(ereg("&nbsp;&nbsp;",$text)){
  65.                                 $text = ereg_replace("&nbsp;&nbsp;","&nbsp;",$text);
  66.                         }
  67.                         $text = ereg_replace("&nbsp;"," ",$text);
  68.                         $text = explode(" ",brp_repl($text));
  69.                         $string = "";
  70.                         for($f=0; $f%10 != 9 and isset($text[$f]); $f++) $string .= $text[$f]." ";
  71.                         while($string){
  72.                                 if(eregi($str,$string)){
  73.                                         $tmp .= '...'.eregi_replace($str,"<font color='#00214C'>".$str."</font>",$string).'...';
  74.                                 }
  75.                                 if($tmp) print $tmp."<br>";
  76.                                 $tmp = "";
  77.                                 $string = "";
  78.                                 if($text[$f]) $string = $text[$f]." ";
  79.                                 $f++;
  80.                                 for( ; $f%10 != 9 and isset($text[$f]); $f++) $string .= $text[$f]." ";
  81.                         }
  82.                         ?>
  83.                         <a href="<?=$link?>">http://<?= $HTTP_HOST.$link?></a>
  84.                         </td>
  85.                        
  86.                 </tr>
  87.                 <tr><td colspan="2">&nbsp;</td></tr>
  88.                
  89.                 <?PHP
  90.                 $j++;
  91.         }
  92.        
  93.         $part_old = $part;
  94.         $j++;
  95.        
  96.         $all_counter = $all_counter + $j;
  97.         if ($all_counter == 2) {
  98.         ?>
  99.        
  100.         <tr><td colspan="2" align="center">По Вашему запросу ничего не найдено. Попробуйте сформулировать свой запрос по-другому.</td></tr>
  101.        
  102.         <?PHP
  103.         }
  104.         ?>
  105.  
  106. <?PHP
  107. }
  108. ?>
  109.                        
  110. </table>
ByLex Отправлено: 08 Октября, 2009 - 21:17:03 • Тема: Как записать ответы на вопросы в файл? • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 33
Это плагин icq бота SteelBot. Помогите пожалуйста. Что нужно дописать чтобы все ответы на вопросы записывались файл. Например: Вопрос: Сколько вам лет? Ответ: 1. 12-15. В файл должно записаться Сколько вам лет? 1. 12-15 .

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class plg_test {
  3. static $curq = array(), // текущий вопрос (uin => question_id)
  4. $q = array(array("Сколько вам лет?", "12-15", "15-18", "18", "num"), // вопросы array (Вопрос, варианты ответа, тип)
  5. array("Место учебы", "Школа", "Вуз", "num"),
  6. array("Дата рождения в формате чч\мм\гггг", "date")
  7. );
  8.  
  9. function get_next()
  10. {
  11. $uin = SteelBot::GetSender();
  12. $text = SteelBot::GetMsgText();
  13. $curr = intval(self::$curq[$uin]);
  14. if ($text == 'help') return;
  15. if ($text == 'тест') {
  16. SteelBot::msg(self::GetText($curr));
  17. SteelBot::DropMsg();
  18. return;
  19. }
  20.  
  21. switch (self::$q[$curr][count(self::$q[$curr])-1]) {
  22. case 'num': // ответом является номер варианта ответа
  23. $answ = intval($text);
  24. if ($answ > (count(self::$q[$curr])-2) || $answ < 1) {
  25. SteelBot::msg(self::GetText($curr));
  26. SteelBot::DropMsg();
  27. return;
  28. }
  29. /* тут мы записываем данные в файл или еще че нить делаем */
  30. SteelBot::DropMsg();
  31. break;
  32. case 'date':
  33. if (!preg_match_all("/(\d{2})\\\(\d{2})\\\(\d{4})/iU", $text, $out)) {
  34. SteelBot::msg(self::GetText($curr));
  35. SteelBot::DropMsg();
  36. return;
  37. }
  38. $d = $out[1][0]; // число
  39. $m = $out[1][1]; // месяц
  40. $y = $out[1][2]; // год
  41. /* тут мы записываем данные в файл или еще че нить делаем */
  42. SteelBot::DropMsg();
  43. break;
  44. default:
  45. SteelBot::DropMsg();
  46. return;
  47. }
  48. self::$curq[$uin]++;
  49. $curr++;
  50. if ($curr == count(self::$q))
  51. SteelBot::Msg("Вы прошли тест!");
  52. else
  53. SteelBot::Msg(self::GetText($curr));
  54. return;
  55. }
  56.  
  57. function GetText($num) {
  58. $text = self::$q[$num][0];
  59. $q = self::$q[$num];
  60. switch ($q[count($q)-1]) {
  61. case 'num':
  62. $text .= "\nВыберите вариант ответа:";
  63. for ($i = 1; $i < (count($q)-1); $i++)
  64. $text .= "\n$i. " . $q[$i];
  65. return $text;
  66. case 'date':
  67. $text .= "\nВведите ответ в формате чч\мм\гггг";
  68. return $text;
  69. default:
  70. return "";
  71. }
  72. }
  73. }
  74. SteelBot::RegisterEventHandler(EVENT_MSG_RECIEVED, array ('plg_test', 'get_next'));
  75. SteelBot::RegisterCmd("тест",array("plg_test", "get_next"), 1,"тест - пройти тест");

(Добавление)
$fp = fopen("otvety.txt", "a"); // Открываем файл в режиме записи
$mytext = "что тут писать?"; // Что здесь нужно написать чтобы в файл записался номер ответа+ответ в текстовом виде. Например: Вопрос: Сколько вам лет? Ответ: 1. Записаться дожно: Сколько вам лет? 1.12-15

$test = fwrite($fp, $mytext); // Запись в файл

fclose($fp); //Закрытие файла

Или как то по другому нужно, что я только не подставлял туда...ничего не получается подскажите пожалуйста. Может как то по другому нужно?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB