PHP: $page ='http://?k=123123123' ; preg_match('#http://?k=(.+?)#',$page,$cap); print_r($cap); ничего.... помогите
PHP: <?php $page ='http://?k=123123123' ; preg_match('#http://\?k=(.+?)#',$page,$cap); print_r($cap); ?> ? необходимо экранировать.
доброго времени суток! прошу помощи в доведении до ума следующего кода PHP: <?php error_reporting (0); set_time_limit(2000); //Включаю файл доступа, где описаны хосты, имя пользователя и пароль include ('access.inc'); //Скрипты хранятся в отдельной папке в текстовых файлах $filename = "c:\\project11\\queries\\20.txt"; $handle = fopen($filename, "r"); $sql = fread($handle,20000); fclose($handle); //Данные представляются в табличной форме echo '<table border="1"'; //Цикл для прохода по всем хостам foreach ($hosts as $state=>$host) { echo '<tr>'; echo '<td>'; echo "$state"; //В случае наличия соединения проводит запрос, в случае отстуствия переходит к следующему if ($connect=mssql_connect($host,$account,$password)==TRUE) { $connect=mssql_connect($host,$account,$password); } else { continue; } //Результат обрабатывается с помощью fetch_row и элементы массива вставляются в таблицу $result=mssql_query($sql); $results=mssql_fetch_row ($result); foreach ($results as $value); { $end[]=$value; } foreach ($end as $data) { echo '<td>',$data; } unset ($end); } echo '</table>'; } ?> код индусский =) так вот, я написал и использовал этот код для снятия информации со всех подконтрольных мне хостов одним запросом, выводящим информацию одной строкой и >=1 рядами правда после того как я полез его модифицировать под многострочный вывод, я что то напортачил и теперь вывод в несколько колонок не работает корректно понятно, что мог бы решить проблему и сам если бы постарался, но уже запарился, глаз замылен знание похапэ стремится к нулю =) Пожалуйста помогите в исправлении ошибки с многостолбцовым выводом и еще: Сервер, на котором размещается web сервер находится в одном городе, сервера с базами данных MS SQL в других городах. Соответсвенно связь между ними оставляет желать лучшего. Скажите пожалуйста - можно ли создать с помощью средств PHP и MS SQL схему, благодаря которой запросы будут отправлятся на локальные сервера, сохранятся в их памяти и проводится по базе как локальный запрос, после чего результат будет сохранен там же, а уже после передан на веб сервер? Дело в том, что сложностей не возникает покамест не приходится проводить тяжелые запросы, которые зачастую просто не проводятся, а код переключается на следующий хост. В приведенном выше коде для прохода по массиву хостов используется цикл. В этом случае проведение запроса на хосте №2 невозможно без окончания процедуры на №1 и т.д. Подскажите пожалуйста, как сделать так, чтобы скрипты проводились на всех базах одновременно. П.С. извините за много букв =)
ну какбэ в спецификации HTML сказано, что закрывающие тэги <tr> и <td> не обязательны... код нормально работал с одностроковым выводом с каждого хоста, пока я не начал его "подкручивать" =)
А в спецификации сказано, что замыкающая угловая скобка в тэге TABLE, не обязательна?) Code: echo '<table border="1"';
спасибо, но основная ошибка оказалась в PHP: foreach ($results as $value); знаке точки запятой после оператора foreach =/ теперь код нормально работает на одностроковый вывод, осталось 3 проблемки =) 1. как корректно вывести многострочный ответ 2. как проводить запрос одновременно на нескольких хостах. 3. как проводить скрипт на удаленном хосте как локальный =) спасибо
после реги как сделать чтоб сайт был test1.ru/страницюзера ну типа test1.ru/nelz покажите пример итд??
подскажите, вот такое дело PHP: < ? i f ( i s s e t ( $ _ G E T [ ' i d ' ] ) ) { i n c l u d e ( " d b c o n n e c t . p h p " ) ; $ q p u = " S E L E C T ` c a t ` F R O M ` t o p k a t ` w h e r e ` c a t ` = ' " . $ _ G E T [ ' i d ' ] . " ' " ; $ s p u = m y s q l _ q u e r y ( $ q p u ) o r d i e ( m y s q l _ e r r o r ( ) ) ; w h i l e ( $ r o p u = m y s q l _ f e t c h _ a r r a y ( $ s p u ) ) { $ a a z = $ r o p u [ ' c a t ' ] ; } $ q p z = " S E L E C T ` n a m e ` , ` s s i l k a ` , ` o p i s ` F R O M ` t o p s i t e ` w h e r e ` k a t e ` = ' $ a a z ' a n d ` z n ` = ' н а п р о в е р к е ' " ; $ s p z = m y s q l _ q u e r y ( $ q p z ) o r d i e ( m y s q l _ e r r o r ( ) ) ; w h i l e ( $ r o p z = m y s q l _ f e t c h _ a r r a y ( $ s p z ) ) { e c h o " < t r > " ; e c h o " < t d > " ; e c h o $ r o p z [ ' n a m e ' ] ; e c h o " < / t d > " ; e c h o " < / t r > " ; e c h o " < t r > " ; e c h o " < t d > " ; e c h o $ r o p z [ ' s s i l k a ' ] ; e c h o " < / t d > " ; e c h o " < / t r > " ; e c h o " < t r > " ; e c h o " < t d > " ; e c h o $ r o p z [ ' o p i s ' ] ; e c h o " < / t d > " ; e c h o " < / t r > " ; } } e l s e { и т д . ошибка Notice: Undefined variable: aaz in /usr/home/ma почему? как исправить?
это значит что у тебя не задана переменная. нужно копать в сторону запроса из БД. видимо не правильно получаешь. попробуй вывести просто так
вопрос совсем не корректный... берешь имя юзера и прикрепляешь его допустим к: index.php?user=nelz так чтобы по этому адресу выводилось нужное. берешь .htaccess и прописываешь там доступ по /nelz/ то что на index.php делаешь все это через регулярки
qaz PHP: $qpu = "SELECT `cat` FROM `topkat` where `cat` = ' ".$_GET['id' ]." ' " ; С такими запросами твой сайт долго не проживет Сделал бы инициализацию: PHP: $id = !empty($_GET['id']) ? abs(intval($_GET['id'])) : NULL; И в запросе уже подставлял переменную $id Так ну опустим этом момент, объясни нахера вообще SELECT cat ... WHERE cat=... А еще потом фетчить тоже непонятно накой, сразу mysql_result , чтобы получить 1 переменную и потом уже второй запрос делать я не понимаю смысл етого кода Затем еще генерация хтмла с помощью эхо,мда. Не проще когда проходит вайл занести все ето дело в массив $arr[] = $ropz; А потом уже foreach($arr as $krutoymagaz): закрываешь пхп и рисуешь хтмл, а затем просто endforeach; кароче быдлокод, прости, но это так
qaz проблема в том, что первый запрос может вернуть корректный результат не содержащий ни одной строки, но при этом это не будет ошибкой отлавливаемой конструкцией or die(mysql_error()). Поэтому вам надо пересмотреть логику скрипта. Либо добавьте в начало строку $aaz = ''; Либо после цикла создающего эту переменную добавьте что-то вроде: PHP: if (!isset($aaz)) die('категория не найдена');
Как сделать так чтобы строка "11111111111111111111111111111111111111111111111" стала "1111111111111111 1111111111111111 111111111111111" т.е. разделялась пробелами через каждые 16 символов?
PHP: <?php $str = rtrim(str_replace('1111111111111111', '1111111111111111 ', '11111111111111111111111111111111111111111111111')); echo $str;