PHP.SU

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

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

> Найдено сообщений: 38
Шмайсер Отправлено: 19 Октября, 2011 - 08:21:28 • Тема: AJAX скрипт "Записать в блокнот" • Форум: Вопросы новичков

Ответов: 3
Просмотров: 245
Здравствуйте! Написал скрипт, который добавляет объекты каталога в блокнот. Вот код вывода каталога
PHP:
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript" src="js/JsHttpRequest.js"></script>
  3. <script type="text/javascript" src="js/ot.js"></script>
  4. <link href="images/css.css" rel="stylesheet" type="text/css">
  5. <a href='zap.php' class='top_link'><span>Блокнот</span></a>
  6. <?
  7.  
  8. //далее идут запросы в базу, обработка и вывод результатов
  9.  
  10. //ниже код добавления в блокнот
  11.         echo "<div style=\"margin:0px;\" id=\"InListCatAddToNote".$row_Recordset1['id']."\"><a style=\"cursor:pointer\" href=\"javascript:InListCatAddToNote('".$row_Recordset1['id']."');\"
  12.                  title=\"Добавить в блокнот\"><img src=\"images/note.gif\"></a>";
  13.                 echo "</div> ";
  14.                
  15.                
  16.         echo '</table>';
  17.         echo '</table><p>';
  18.         }
  19. } while ($row_Recordset1 = mysql_fetch_array($Recordset1));
  20.  
  21. mysql_free_result($Recordset1);
  22.  
  23. ?>
  24. <div id="query">&nbsp;</div>
  25. <div id="img_query"><img src="images/loading.gif"><br><br><strong>Добавляем объект в блокнот</strong></div>
  26. <div id="smalldiv"></div>
  27.  


вот javascript, который реализует ajax запрос к файлу обработчику
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function InListCatAddToNote(value)
  3. {
  4.         var namediv = value;
  5.         var req=new JsHttpRequest();
  6.         req.onreadystatechange=function() {
  7.                 if(req.readyState==4)
  8.                 {
  9.                         document.getElementById('query').style.display='none';
  10.                         document.getElementById('img_query').style.display='none';
  11.                         document.getElementById('InListCatAddToNote' + namediv).innerHTML = req.responseText;
  12.                 }
  13.                 else
  14.                 {
  15.                         document.getElementById('query').style.display='block';
  16.                         document.getElementById('img_query').style.display='block';
  17.                         return false;
  18.                 }
  19.         }
  20.         req.open(null,"../core/addtonote.php",true);
  21.         req.send({InListCatAddToNote:value});
  22.         //alert('InListCatAddToNote' + namediv);
  23. }
  24.  


вот код обработчика
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. require("JsHttpRequest.php");
  4.  
  5. $JsHttpRequest = new JsHttpRequest("windows-1251");
  6.  
  7. if (is_numeric($_REQUEST['InListCatAddToNote'])) {
  8.  
  9. $_SESSION['test'][]=$_REQUEST['InListCatAddToNote'];
  10.  
  11. //ниже код, который делает ссылку на добавление в блокнот неактивной
  12.  
  13. if ($_SESSION['test']) echo "<img src=\"images/nonote.gif\" title=\"Объект записан в блокноте\">";
  14.  
  15.  
  16.  
  17. }
  18.                        
  19. ?>
  20.  

Вопрос в следующем - если пользователь из 30 объектов каталога добавил в блокнот 5 объектов, а потом обновил страничку, то добавленные уже объекты можно опять добавлять в блокнот. Как сделать так, чтобы пока жива сессия, выбранные в блокнот объекты всегда имели неактивную ссылку на добавление?
Заранее спасибо!
(Добавление)
Подозреваю, что в первом коде который я привел, вот тут
PHP:
скопировать код в буфер обмена
  1.  
  2. //ниже код добавления в блокнот
  3.         echo "<div style=\"margin:0px;\" id=\"InListCatAddToNote".$row_Recordset1['id']."\"><a style=\"cursor:pointer\" href=\"javascript:InListCatAddToNote('".$row_Recordset1['id']."');\"
  4.                 title=\"Добавить в блокнот\"><img src=\"images/note.gif\"></a>";
  5.                 echo "</div> ";
  6.  


надо сделать проверку на "если в массиве сессии $_SESSION['test'][] есть значение, равное $row_Recordset1['id'] - то выводим неактивную ссылку, иначе - активную "

а вот как реализовать - пока не знаю))
Шмайсер Отправлено: 13 Октября, 2011 - 11:43:01 • Тема: Проверка загружаемых изображений на размер(вес) и тип файла • Форум: Вопросы новичков

Ответов: 3
Просмотров: 226
Viper пишет:
Вам нужно пройтись циклом по загруженным файлам, сделать проверку и если не прошло то сделать удаление того элемента который не попал под разрешенный размер. Далее снова циклом по $_FILES и уже тогда делаем перемещение.

Viper, да в том то и дело что я все это пробовал, но по каким то причинам это либо не работает, либо работает но некорректно). Вы не могли бы листинг этих циклов привести?
(Добавление)
illy пишет:
в яндекс-почте когда прикрепляешь файл-сразу показывается его вес
посмотри. может найдёшь как это делается

Так это проверка на клиенте, у меня она и так есть. А мне нужно сделать проверку на сервере
Шмайсер Отправлено: 13 Октября, 2011 - 11:11:21 • Тема: Проверка загружаемых изображений на размер(вес) и тип файла • Форум: Вопросы новичков

Ответов: 3
Просмотров: 226
Здравствуйте! есть такая проблема - написал скрипт загрузки нескольких файлов на сервер, вроде все работает, но никак не получается правильно проверить вес и тип файла. Привожу скрипт, в котором пока есть только проверка на вес ( если более 64 Кб то изображение не загружается). Работает корректно, если загрузить один, превышающий по весу файл - ничего не грузится, выдается сообщение об ошибке ( Файл не загружен, так как вес превышает бла-бла-бла)
Но, если, например, загрузить несколько файлов, из которых только один превышает разрешенный размер, то не грузятся ВСЕ ФАЙЛЫ.
Вот код обработчика
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $db_host = 'localhost';
  4. $db_user = 'loader';
  5. $db_pass = '12345';
  6. $db_name = 'loader';
  7.  
  8. $connect = mysql_connect($db_host, $db_user, $db_pass) or trigger_error(mysql_error(),E_USER_ERROR);
  9. mysql_select_db($db_name, $connect);
  10. mysql_query ("SET NAMES utf8");
  11.  
  12.                 if(isset($_FILES['fileToUpload'])) {
  13.                                 $max_image_size = 64 * 1024;
  14.                                 $rb_name_new = array();
  15.                                 $files_count = count($_FILES['fileToUpload']["name"]);
  16.                 for ($i = 0; $i < $files_count; $i++) {
  17.                                        
  18.                                
  19.                                 $img_params =@getimagesize($_FILES['fileToUpload']['tmp_name'][$i]);
  20.                                
  21.                                 switch ($img_params[2])
  22.         {
  23.                 case '1':
  24.                         $rash = 'gif';
  25.                         break;
  26.                
  27.                 case '3':
  28.                         $rash = 'png';
  29.                         break;
  30.  
  31.                 case '2':
  32.        
  33.                         $rash = 'jpg';
  34.                         break;
  35.         }
  36.                                
  37.                                
  38.                 $loc = 'uploads/';
  39.                                 $upl_path = 'uploads/prod/';
  40.                                 $thumb_path = 'uploads/prod/thumb/';
  41.                                 $source = $_FILES['fileToUpload']['tmp_name'][$i];
  42.                                 $type = $_FILES['fileToUpload']['type'][$i];
  43.                                 $target = $upl_path. $_FILES['fileToUpload']['name'][$i];
  44.                                 if (filesize($source) > $max_image_size) {
  45. echo 'Ошибка загрузки файла '.$_FILES['fileToUpload']['name'][$i].' его размер больше, чем 64K.<br />';
  46. }
  47. elseif(move_uploaded_file($source, $target)) {
  48.                                
  49.                                 ///resize big
  50.                                 $rb_name_new[] = uniqid() . '.' . $rash;
  51.                                 $res_src = $upl_path.$rb_name_new[$i];
  52.                                 //получаем параметры загруженного файла
  53.                 $rb_params =@getimagesize($target);
  54.                                 switch($rb_params[2]){
  55.                 case 1:$rb_source=imagecreatefromgif($target);break;
  56.                 case 2:$rb_source=imagecreatefromjpeg($target);break;
  57.                                 case 3:$rb_source=imagecreatefrompng($target);break;
  58.                                    }
  59.                                                                    
  60.                                                                    //если ширина меньше 640 и высота меньше 480
  61.                                                                    //оставляем оригинальные размеры
  62.                                                                    if(($rb_params[0]<=640) && ($rb_params[1]<=480)){
  63.                                    $rb_newwidth = $rb_params[0];                                                                                                               
  64.                                    $rb_newheight = $rb_params[1];                                  
  65.                                                              }
  66.                                                                 //иначе - начинаем урезать пропорционально
  67.                                                                    else {
  68.                                                                    //если высота равна ширине
  69.                                    //вычисляем новую ширину
  70.                                    if($rb_params[1]==$rb_params[0]){
  71.                                    $rb_newheight=640;
  72.                                    $rb_newwidth=floor($rb_newheight*$rb_params[0]/$rb_params[1]);
  73.                                                              }
  74.                                                                                                                          
  75.                                                                         //если ширина равна высоте
  76.                                   //вычисляем новую высоту
  77.                                   if($rb_params[1]==$rb_params[0]){
  78.                                   $rb_newwidth=640;
  79.                                   $rb_newheight=floor($rb_newwidth*$rb_params[1]/$rb_params[0]);
  80.                                                             }
  81.                                                                    
  82.                                                                    //если высота больше ширины
  83.                                    //вычисляем новую ширину
  84.                                    if($rb_params[1]>$rb_params[0]){
  85.                                    $rb_newheight=480;
  86.                                    $rb_newwidth=floor($rb_newheight*$rb_params[0]/$rb_params[1]);
  87.                                                              }
  88.                                   //если ширина больше высоты
  89.                                   //вычисляем новую высоту
  90.                                   if($rb_params[1]<$rb_params[0]){
  91.                                   $rb_newwidth=640;
  92.                                   $rb_newheight=floor($rb_newwidth*$rb_params[1]/$rb_params[0]);
  93.                                                             }
  94.                                                                                                                         }
  95.                                                             //создаем урезку загруженного изображения
  96.                                $rb_resource=imagecreatetruecolor($rb_newwidth,$rb_newheight);
  97.                                                            $white = imagecolorallocate($rb_resource, 255, 255, 255);
  98.                                                            
  99.                   imagecopyresampled($rb_resource,$rb_source,0,0,0,0,$rb_newwidth,$rb_newheight,$rb_params[0],$rb_params[1]);
  100.                                                            imagettftext($rb_resource, 16, 0, 5, 30, $white, $loc."MTCORSVA.TTF", "WWW.LUCKY-REALTY.RU");
  101.                                                            
  102.                                
  103.                                                            
  104.                                                            switch($rb_params[2]){
  105.                 case 1:imagegif($rb_resource,$res_src,70);break;
  106.                 case 2:imagejpeg($rb_resource,$res_src,70);break;
  107.                                 case 3:imagepng($rb_resource,$res_src);break;
  108.                                    }
  109.                                                            
  110.                                                            
  111.                                                            
  112.                                
  113.                                
  114.                                 ///end resize big
  115.                                
  116.                                 $new_name = 't'. $rb_name_new[$i];
  117.                                 $resource_src = $thumb_path.$new_name;
  118.                                 //получаем параметры загруженного файла
  119.                 $params=getimagesize($res_src);
  120.                                
  121.                                 switch($params[2]){
  122.                 case 1:$p_source=imagecreatefromgif($res_src);break;
  123.                 case 2:$p_source=imagecreatefromjpeg($res_src);break;
  124.                                 case 3:$p_source=imagecreatefrompng($res_src);break;
  125.                                    }
  126.                                                                    
  127.                                                                    //если высота равна ширине
  128.                                    //вычисляем новую ширину
  129.                                    if($params[1]==$params[0]){
  130.                                    $newheight=70;
  131.                                    $newwidth=floor($newheight*$params[0]/$params[1]);
  132.                                                              }
  133.                                                                                                                          
  134.                                                         //если ширина равна высоте
  135.                                   //вычисляем новую высоту
  136.                                   if($params[1]==$params[0]){
  137.                                   $newwidth=70;
  138.                                   $newheight=floor($newwidth*$params[1]/$params[0]);
  139.                                                             }
  140.                                                                    
  141.                                                                    //если высота больше ширины
  142.                                    //вычисляем новую ширину
  143.                                    if($params[1]>$params[0]){
  144.                                    $newheight=70;
  145.                                    $newwidth=floor($newheight*$params[0]/$params[1]);
  146.                                                              }
  147.                                   //если ширина больше высоты
  148.                                   //вычисляем новую высоту
  149.                                   if($params[1]<$params[0]){
  150.                                   $newwidth=70;
  151.                                   $newheight=floor($newwidth*$params[1]/$params[0]);
  152.                                                             }
  153.                                                             //создаем миниатюру загруженного изображения
  154.                                $resource=imagecreatetruecolor($newwidth,$newheight);
  155.                                imagecopyresampled($resource,$p_source,0,0,0,0,
  156.                                $newwidth,$newheight,$params[0],$params[1]);
  157.                                imagejpeg($resource,$resource_src,80);//80 качество изображения
  158.                                                                                                                    
  159.                                                            
  160.                                                            //удаляем оригинал картинки
  161.                                                            @unlink($target);
  162.                                                            
  163.                                                                    
  164.                                                                    
  165.                                                                  
  166.         }
  167.  
  168.         }
  169.         $r = mysql_query ("INSERT INTO users SET file0='".$rb_name_new[0]."', file1='".$rb_name_new[1]."', file2='".$rb_name_new[2]."', file3='".$rb_name_new[3]."', file4='".$rb_name_new[4]."'");
  170.        
  171. }
  172. ?>
  173.  

Если не трудно, подскажите как правильно сделать проверку на вес и тип файла. Желательно листинг, потому как я вроде уже все перепробовал, все функции, а корректно не получается.
Заранее спасибо!
Шмайсер Отправлено: 29 Июня, 2011 - 09:52:08 • Тема: Установить правильно счетчик для загрузки нескольких изображений • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 38
Всем добрый день. Есть такая проблема. Загружаю изображения на сервер, вот код обработчика
PHP:
скопировать код в буфер обмена
  1.  
  2. //add photo  
  3.  
  4. $errors = "";
  5. $msg = "";
  6. $fileElementName = 'imgprodkv';
  7. $i = 0;
  8. $files_count = sizeof(@$_FILES[$fileElementName]["name"]);
  9. for ($i = 0; $i < $files_count-1; $i++) {
  10.  
  11. if(!empty($_FILES[$fileElementName]['error'][$i]))
  12.         {
  13.                 switch($_FILES[$fileElementName]['error'][$i])
  14.                 {
  15.  
  16.                         case '1':
  17.                                 $error = 'размер загруженного файла превышает размер установленный параметром upload_max_filesize  в php.ini ';
  18.                                 break;
  19.                         case '2':
  20.                                 $error = 'размер загруженного файла превышает размер установленный параметром MAX_FILE_SIZE в HTML форме. ';
  21.                                 break;
  22.                         case '3':
  23.                                 $error = 'загружена только часть файла ';
  24.                                 break;
  25.                         case '4':
  26.                                 $error = 'файл не был загружен (Пользователь в форме указал неверный путь к файлу). ';
  27.                                 break;
  28.                         case '6':
  29.                                 $error = 'неверная временная дирректория';
  30.                                 break;
  31.                         case '7':
  32.                                 $error = 'ошибка записи файла на диск';
  33.                                 break;
  34.                         case '8':
  35.                                 $error = 'загрузка файла прервана';
  36.                                 break;
  37.                         case '999':
  38.                         default:
  39.                                 $error = 'No error code avaiable';
  40.                 }
  41.         }
  42.         elseif(empty($_FILES[$fileElementName]['tmp_name'][$i]) || $_FILES[$fileElementName]['tmp_name'][$i] == 'none')
  43.         {
  44.                 $error = 'No file was uploaded..';
  45.         }
  46.         else
  47.         {
  48.         if (file_exists("uploads/prod/" . $_FILES[$fileElementName]['name'][$i])){
  49.                         $error =$_FILES[$fileElementName]['name'][$i] . " уже существует. ";
  50.                 }
  51.                 else{
  52.                         $msg .= " File Name: " . $_FILES[$fileElementName]['name'][$i] . "<br/>";
  53.                         $msg .= " File Type: " . $_FILES[$fileElementName]['type'][$i] . "<br/>";
  54.                                 $msg .= " File Size: " . (@filesize($_FILES[$fileElementName]['tmp_name'][$i])/ 1024)."Kb";
  55.                                
  56.                                 $upl_path = 'uploads/prod/';
  57.                                 $thumb_path = 'uploads/prod/thumb/';
  58.                                 $source = $_FILES[$fileElementName]['tmp_name'][$i];
  59.                                 $target = $upl_path. $_FILES[$fileElementName]['name'][$i];
  60.                                 move_uploaded_file($source, $target);
  61.                                
  62.                                 $new_name = 'thumb_'. $_FILES[$fileElementName]['name'][$i];
  63.                                 $resource_src = $thumb_path.$new_name;
  64.                                 //получаем параметры загруженного файла
  65.                 $params=getimagesize($target);
  66.                                
  67.                                 switch($params[2]){
  68.                 case 1:$p_source=imagecreatefromgif($target);break;
  69.                 case 2:$p_source=imagecreatefromjpeg($target);break;
  70.                                    }
  71.                                                                    //если высота больше ширины
  72.                                    //вычисляем новую ширину
  73.                                    if($params[1]>$params[0]){
  74.                                    $newheight=70;
  75.                                    $newwidth=floor($newheight*$params[0]/$params[1]);
  76.                                                              }
  77.                                   //если ширина больше высоты
  78.                                   //вычисляем новую высоту
  79.                                   if($params[1]<$params[0]){
  80.                                   $newwidth=70;
  81.                                   $newheight=floor($newwidth*$params[1]/$params[0]);
  82.                                                             }
  83.                                                             //создаем миниатюру загруженного изображения
  84.                                $resource=imagecreatetruecolor($newwidth,$newheight);
  85.                                imagecopyresampled($resource,$p_source,0,0,0,0,
  86.                                $newwidth,$newheight,$params[0],$params[1]);
  87.                                imagejpeg($resource,$resource_src,100);//80 качество изображения
  88.  


вот код формы
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. $(document).ready(function(){
  4.          
  5. $('.MultiFile').MultiFile({
  6.         accept:'jpg|gif|bmp|png|rar', max:10, STRING: {
  7.                 remove:'удалить',
  8.                 file:'$file',
  9.                 selected:'Выбраны: $file',
  10.                 denied:'Неверный тип файла: $ext!',
  11.                 duplicate:'Этот файл уже выбран:\n$file!'
  12.         }
  13. });              
  14.          
  15. $("#loading").ajaxStart(function(){
  16.         $(this).show();
  17. })
  18. .ajaxComplete(function(){
  19.         $(this).hide();
  20. });
  21.          
  22.  
  23. $('#uploadForm').ajaxForm({
  24.         beforeSubmit: function(a,f,o) {
  25.                 o.dataType = "html";
  26.                 $('#uploadOutput').html('Submitting...');
  27.         },
  28.         success: function(data) {
  29.                 var $out = $('#uploadOutput');
  30.                 $out.html('Form success handler received: <strong>' + typeof data + '</strong>');
  31.                 if (typeof data == 'object' && data.nodeType)
  32.                         data = elementToString(data.documentElement, true);
  33.                 else if (typeof data == 'object')
  34.                         data = objToString(data);
  35.                 $out.append('<div><pre>'+ data +'</pre></div>');
  36.         }
  37. });
  38. });
  39. </script>
  40.                         <form id="uploadForm" name="send_vacancy" action="add_prod_kv.php" method="POST" enctype="multipart/form-data">
  41.                                                 <input name="MAX_FILE_SIZE" value="1000000" type="hidden"/>
  42.                         Загрузка изображения 1<br>
  43.           <input id="fileToUpload" class="MultiFile" type="file" name="imgprodkv[]" size= "63" ><br>
  44.                   <img id="loading" src="template/img111/loading.gif" style="display:none;"/>  
  45.            <div id="uploadOutput"></div></form>
  46.  


Некоторое пояснение по JS. Скрипт работает таким образом. Есть всегда 1 поле type="file", при загрузке изображений имена файлов выводятся в браузере аяксом, после загрузки 10-го изображения кнопка ЗАГРУЗИТЬ становится неактивной.
Проблема в следующем: при загрузке 1 или 9 изображений все нормально, но если пользователь загружает 10 картинок ( в джаваскрипте установлен ограничитель на 10 картинок) то на сервер грузятся 9.Соответственно, автоматически созадется и 9 превью.
Самое интересное, что в базу записываются имена 10 файлов!.
Как ни пробовал - либо вообще не работает, либо работает как я описал.
Думаю, надо вот тут как то грамотно поправить
PHP:
скопировать код в буфер обмена
  1.  
  2. $i = 0;
  3. $files_count = sizeof(@$_FILES[$fileElementName]["name"]);
  4. for ($i = 0; $i < $files_count-1; $i++) {*************}
  5.  

Подскажите, если не трудно!
Спасибо.
Шмайсер Отправлено: 20 Июня, 2011 - 09:33:03 • Тема: Поиск из нескольких значений по одному полю в БД • Форум: Работа с СУБД

Ответов: 3
Просмотров: 1642
EuGen, спасибо но к сожалению так и не смог ваше решение прикрутить к своему коду. В нотисах пишет "неустановлено $rgStations". Пробовал дать ей значения из $_GET['metro'] - тоже самое.
К тому же мне еще нужно чтобы результаты поиска были в пагинации страниц, тоесть вот тут
PHP:
скопировать код в буфер обмена
  1.  
  2. // формирование страниц
  3.         $path = 'searchr.php?id_razdel=' . $id_razdel . '&id_profecy=' . $id_profecy .
  4.                                   '&id_oblast=' . $id_oblast . '&id_city=' . $id_city .
  5.                                   '&metro=' . $metro_s . '&zp_resume_ot=' . $zp_resume_ot . '&zp_resume_do=' . $zp_resume_do . '&name_currency=' . $currency_resume . '&grafic_resume=' . $grafic_resume .
  6.                                   '&gender_resume=' . $gender_res . '&expire_resume=' . $expire_resume . '&edu_resume=' . $edu_resume .
  7.                                   '&image=' . $image_files . '&order_by=' . $order_by . '&'; //текущий обработанный URL
  8.         $strPages = strings::generatePage($num_rows[0], $offset, $perPageSearch, $path); // формируем странциы
  9.         print $strPages;
  10.  


за значение станций отвечает

Не могли бы вы прямо в моем коде написать как нужно сделать? Просто может я чето не так делаю?
Заранее спасибо!
Шмайсер Отправлено: 20 Июня, 2011 - 08:40:04 • Тема: Поиск из нескольких значений по одному полю в БД • Форум: Работа с СУБД

Ответов: 3
Просмотров: 1642
Здравствуйте. Такой вопрос - в форме поиска есть
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <select name="metro" class="select" multiple="multiple">
  3.                     <option value="0" selected><?php print TEMPLATE_SEARCH_NE_VAGNO ?></option>
  4.                     <option value="Молодежная">Молодежная</option>
  5.                     <option value="Кутузовская">Кутузовская</option>
  6.                                 <option value="Студенческая">Студенческая</option>
  7.                     </select>
  8.  

Обработчик формы имеет такой вид
PHP:
скопировать код в буфер обмена
  1. $metro_s = isset($_GET['metro']) ? ClearDataFromForm($_GET['metro']) : '';
  2.  
  3. // выборка необходимых объявлений
  4.         $query = "SELECT SQL_CACHE SQL_CALC_FOUND_ROWS * FROM $resume_t WHERE active_resume='1' AND id_razdel$razdel"
  5.                    . " AND id_profecy$prof AND id_oblast$oblast AND id_city$city AND zp_resume>='$zp_resume_ot' AND zp_resume<='$zp_resume_do' AND metro='$metro_s'"
  6.                    . " AND currency_resume$currency AND $grafic AND gender_resume$gender AND $expire AND $edu AND $image"
  7.                    . " $order LIMIT $offset, $perPageSearch";
  8.                    
  9.         $result = mysql_query($query);
  10.  
  11. // формирование страниц
  12.         $path = 'searchr.php?id_razdel=' . $id_razdel . '&id_profecy=' . $id_profecy .
  13.                                   '&id_oblast=' . $id_oblast . '&id_city=' . $id_city .
  14.                                   '&metro=' . $metro_s . '&zp_resume_ot=' . $zp_resume_ot . '&zp_resume_do=' . $zp_resume_do . '&name_currency=' . $currency_resume . '&grafic_resume=' . $grafic_resume .
  15.                                   '&gender_resume=' . $gender_res . '&expire_resume=' . $expire_resume . '&edu_resume=' . $edu_resume .
  16.                                   '&image=' . $image_files . '&order_by=' . $order_by . '&'; //текущий обработанный URL
  17.         $strPages = strings::generatePage($num_rows[0], $offset, $perPageSearch, $path); // формируем странциы
  18.         print $strPages;
  19.  
  20.  
  21.  


Как правильно сделать так, чтобы если выбраны несколько станций метро, поиск искал по этим станциям?
В моем случае он ищет только по последней введенной в селект.
Подозреваю, что надо как то запихнуть в массив, но как?
Подскажите решение!
Заранее спасибо
Шмайсер Отправлено: 23 Октября, 2010 - 12:02:54 • Тема: Подкорректировать функцию • Форум: Программирование на PHP

Ответов: 3
Просмотров: 331
Цитата:
сначала вы обрабатываете клиентский поисковый запрос и производите его фильтрация по регулярному выражению


а вот как это реализовать, подскажите если не трудно?
Шмайсер Отправлено: 15 Октября, 2010 - 12:38:38 • Тема: Подкорректировать функцию • Форум: Программирование на PHP

Ответов: 3
Просмотров: 331
Всем здравствуйте! Вот есть такая функция
PHP:
скопировать код в буфер обмена
  1. function vmGetCleanArrayFromKeyword( $keyword ) {
  2.     global $database;
  3.     $keywordArr = array();
  4.  
  5.     if( empty( $keyword )) return $keywordArr;
  6.    
  7.     $keywords = explode( " ", $keyword, 10 );
  8.  
  9.     foreach( $keywords as $searchstring ) {
  10.         $searchstring = trim( stripslashes($searchstring) );
  11.         $strlen = strlen($searchstring);
  12.         if( $strlen > 2 ) {
  13.             /*if( $searchstring[0] == "\"" || $searchstring[0]=="'" )  {
  14.                 $searchstring[0] = " ";
  15.             }
  16.             if( $searchstring[strlen($searchstring)-1] == "\"" || $searchstring[strlen($searchstring)-1]=="'" ) {
  17.                 $searchstring[strlen($searchstring)-1] = " ";
  18.             }*/
  19.             $searchstring = $database->getEscaped( $searchstring );
  20.             $searchstring = str_replace( '\"', '"', $searchstring );
  21.            
  22.             $keywordArr[] = $searchstring;
  23.         }
  24.     }
  25.     return $keywordArr;

подскажите, что нужно указать вот тут
PHP:
скопировать код в буфер обмена
  1. $searchstring = str_replace( '\"', '"', $searchstring );

чтобы в поисковой форме игнорировались все символы, кроме цифр и латинских букв? А так же наоборот, если в объекте поиска присутствуют какие либо сиволы, и пользователь их не ввел в форму поиска, то объект все равно был найден. Сам поиск работает, но если объект поиска вот такой
a1123-bbn-1455
а пользователь ввел вот так
a1123bbn1455
то искомого результата он не получит. В общем, нужно чтобы поиск искал только верное совпадение латинских букв и цифр, остальное ( включая и пробелы) полностью игнорировал
Заранее спасибо!!

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB