PHP.SU

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

Страниц (9): « 1 2 3 [4] 5 6 7 8 9 »

> Найдено сообщений: 134
ugin_root Отправлено: 04 Марта, 2012 - 13:56:21 • Тема: in_array. Искомое значение • Форум: Вопросы новичков

Ответов: 10
Просмотров: 406
возможно проблема с кодировками!
PHP:
скопировать код в буфер обмена
  1. $a1 = array('//','//a','//а','//*');
  2. $a2 = array_map(function($v){return iconv('utf-8','utf-32',$v);},$a1);
  3. echo in_array('//',$a1)?1:0;//1
  4. echo in_array('//',$a2)?1:0;//0
  5. echo in_array(iconv('utf-8','utf-32','//'),$a2)?1:0;//1
ugin_root Отправлено: 02 Марта, 2012 - 06:46:25 • Тема: Объединение 2 таблицы с одинковыми id • Форум: Работа с СУБД

Ответов: 1
Просмотров: 830
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. INSERT INTO `table3`
  3.     SELECT `t`.* FROM (SELECT @i:=0 AS `i`) AS `i`,(
  4.         (SELECT *,@i:=@i+1 AS 'new_id' FROM `table1`) UNION
  5.         (SELECT *,@i:=@i+1 AS 'new_id' FROM `table2`)
  6.     ) AS `t`
  7.  

1. Все поля в запросе UNION должны совпадать
2. Список столбцов в `table3` должен быть таким-же как в запросе на вставку

не уверен что такой запрос на вставку пройдёт, но если не пройдёт то создай представление с этим запросом, а потом:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. INSERT INTO `table3` (SELECT * FROM `view1`)
  3.  
ugin_root Отправлено: 01 Марта, 2012 - 20:44:07 • Тема: метод get • Форум: Вопросы новичков

Ответов: 2
Просмотров: 106
fanatikus
не
CODE (htmlphp):
скопировать код в буфер обмена
  1. localhost/test/article.php?id=4

а
CODE (htmlphp):
скопировать код в буфер обмена
  1. localhost/test/article.php?id =4

уберите лишний пробел в коде!
%20 === пробел
ugin_root Отправлено: 01 Марта, 2012 - 20:09:03 • Тема: Пагинатор • Форум: Вопросы новичков

Ответов: 13
Просмотров: 710
WebBegginer
рад помочь несчастным студентам!
но вы видать не поняли...
//есть 2 переменных номер страницы [num] и [url] до этой самой страницы
PHP:
скопировать код в буфер обмена
  1. public $s_url = '?page=[num]';
  2. public $s_link = ' <a href="[url]">[num]</a> ';
  3. public $s_next = ' <a href="[url]">...</a> ';
  4. public $s_prev = ' <a href="[url]">...</a> ';
  5. public $s_first = ' <a href="[url]">Первая</a> ';
  6. public $s_last = ' <a href="[url]">Последняя</a> ';
  7. public $s_current = ' [num] ';

не нужно в самом классе задавать лишние! Вот что это за х-ня? никто не поймёт!
PHP:
скопировать код в буфер обмена
  1.                 return "<span class=\"paginate\">Items per page:</span><select class=\"paginate\" onchange=\"window.location='$_SERVER[PHP_SELF]?page=1&ipp='+this[this.selectedIndex].value+'$this->querystring';return false\">$items</select>\n";

а это понять намного проще!
PHP:
скопировать код в буфер обмена
  1. $pagin->s_link = '<a title="Go to page [num]" class="current" href="[url]">[num]</a> ';

(Добавление)
тем более подобные конструкции нежелательно использовать внутри класса! задавайте стандарт, т.е. то что будет работать всегда.
CODE (htmlphp):
скопировать код в буфер обмена
  1. style=\"margin-left:10px\"
  2. <option selected value=\"$ipp_opt\"
  3. onchange=\"window.location='$_SERVER[PHP_SELF]?page='+this[this.selectedIndex].value+'&ipp=$this->items_per_page$this->querystring';return false\"
  4. class=\"paginate\"

подобного хлама в классе задавать не следует
(Добавление)
не факт что всем нужно переместить блок на 10px от левого края
не факт что всем нужно отобразить это в виде <select>
не факт что всем нужно действие Java Script-ов на нажатие ссылки
не факт что у всех прописан сласс "paginate" в стилях

все эти "параметры" доложны задаваться локально!
(Добавление)
класс для того и нужен что-бы отделить весе полезности (данного класса), от того что вы в него добавили(гов..., нехорошего кода для класса)
на месте вашего преподавателя ставил бы смело 2 за такой класс...
ugin_root Отправлено: 01 Марта, 2012 - 18:28:37 • Тема: Пагинатор • Форум: Вопросы новичков

Ответов: 13
Просмотров: 710
WebBegginer пишет:
Спасибо Вам огромное, а не могли бы вы реализовать index файл, который будет обрабатывать данный класс, с выводом информации на страницах ? Буду безумно благодарен!!!

для этого нужно знать что выводить, и много чего ещё! К вам приходит переменная с номером страницы, и вы вычисляете максимальное число страниц, что ещё нужно???
З.Ы. тестовая страничька итак выводится:
PHP:
скопировать код в буфер обмена
  1. echo 'открыта страница номер: ' . ($page + 1);

используйте ($page + 1) для вывода нужной вам страницы.
ugin_root Отправлено: 01 Марта, 2012 - 10:22:10 • Тема: Заполнение и отправка формы • Форум: Вопросы новичков

Ответов: 3
Просмотров: 2597
propostaff
PHP:
скопировать код в буфер обмена
  1. $s = "Что такое гугл?";
  2. echo '<script type="text/javascript">
  3.  google.load("search", "1", {language : "ru"});
  4.  google.setOnLoadCallback(function() {
  5.         var customSearchOptions = {};
  6.         var customSearchControl = new google.search.CustomSearchControl("Ваш код", customSearchOptions);
  7.         customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
  8.         customSearchControl.draw("cse");
  9.         $(".gsc-search-box .gsc-input > input").val("'.$s.'");
  10.         $(".gsc-search-box .gsc-input > input").click();
  11.         $(".gsc-search-box .gsc-input > input").css({"background":"none"});
  12.         $(".gsc-search-button .gsc-search-button").click();
  13.  }, true);
  14. </script>';


juery...
ugin_root Отправлено: 29 Февраля, 2012 - 17:15:20 • Тема: Пагинатор • Форум: Вопросы новичков

Ответов: 13
Просмотров: 710
PHP:
скопировать код в буфер обмена
  1. class Paginator
  2. {
  3.         public $_current = null;
  4.         public $_count = null;
  5.        
  6.         public $left = 10;
  7.        
  8.        
  9.         public $s_url = '?page=[num]';
  10.         public $s_link = ' <a href="[url]">[num]</a> ';
  11.         public $s_next = ' <a href="[url]">...</a> ';
  12.         public $s_prev = ' <a href="[url]">...</a> ';
  13.         public $s_first = ' <a href="[url]">Первая</a> ';
  14.         public $s_last = ' <a href="[url]">Последняя</a> ';
  15.         public $s_current = ' [num] ';
  16.         public $s_return = '<div>[first] [prev] [links] [next] [last]</div>';
  17.        
  18.        
  19.         function __construct($count, $current, $url = null){
  20.                 $this->_current = (int)$current;
  21.                 $this->_count = (int)$count;
  22.                 if($url != null){
  23.                         $this->s_url = (string)$url;
  24.                 }
  25.         }
  26.        
  27.         function ToString(){
  28.                 $first = '';$prev = '';$links = '';$next = '';$last = '';
  29.                
  30.                 for ($i = 0 ; $i < $this->_count ; $i++)
  31.                 {
  32.                         $url = preg_replace('#\[num\]#Usi', $i, $this->s_url);
  33.                         $patern = array('#\[url\]#Usi','#\[num\]#Usi');
  34.                         $replacement = array($url,$i+1);
  35.                        
  36.                        
  37.                         if($this->_current == $i+1){
  38.                                 $links .= preg_replace($patern, $replacement, $this->s_current);
  39.                         }else if($i < $this->_current + $this->left&& $i > $this->_current - $this->left-2){
  40.                                 $links .= preg_replace($patern, $replacement, $this->s_link);
  41.                         }
  42.                        
  43.                         if($i==0&&$this->_current-1!=$i)                                                $first= preg_replace($patern, $replacement, $this->s_first);
  44.                         if($this->_current-2==$i&&$this->_current-1!=0)                 $prev = preg_replace($patern, $replacement, $this->s_prev);
  45.                         if($this->_current==$i&&$this->_current!=$this->_count) $next = preg_replace($patern, $replacement, $this->s_next);
  46.                         if($this->_count-1==$i&&$this->_current-1!=$i)                  $last = preg_replace($patern, $replacement, $this->s_last);
  47.                 }
  48.                 return preg_replace(
  49.                         array('#\[first\]#Usi', '#\[prev\]#Usi','#\[links\]#Usi',       '#\[next\]#Usi','#\[last\]#Usi'),
  50.                         array($first,                   $prev,                  $links,                         $next,                  $last),
  51.                         $this->s_return
  52.                 );
  53.                
  54.         }
  55. }
  56. $count_page = 666;
  57. $page = @$_GET['page'];
  58. if(is_null($page)||(string)(int)$page!=$page||$page>$count_page||$page<0)$page=0;
  59.  
  60. echo 'открыта страница номер: ' . ($page + 1);
  61. $pagin = new Paginator($count_page, $page + 1, '?forum=23&page=[num]');
  62.  
  63. $pagin->s_current = ' [[num]] ';
  64. $pagin->s_first = ' <a href="[url]">[num]</a> ';
  65. $pagin->s_last = ' <a href="[url]">[num]</a> ';
  66. echo $pagin->ToString();
  67.  
  68. $pagin->left = 3;
  69. $pagin->s_current = ' [num] ';
  70. $pagin->s_first = '';
  71. $pagin->s_last = '';
  72. $pagin->s_next = ' <a href="[url]">туда</a> ';
  73. $pagin->s_prev = ' <a href="[url]">сюда</a> ';
  74. echo $pagin->ToString();
ugin_root Отправлено: 29 Февраля, 2012 - 15:33:01 • Тема: как создать условие str_replace • Форум: Вопросы новичков

Ответов: 4
Просмотров: 168
strengerst
PHP:
скопировать код в буфер обмена
  1. $znach = 'текст который[q]выделен цветом[/q] текст который[q]выделен цветом';
  2. $znach = preg_replace('#\[q\](.*)\[/q\]#Usi','<font color="#">\\1</font>',$znach);
  3. echo $znach;
  4. //текст который<font color="#">выделен цветом</font> текст который[q]выделен цветом
ugin_root Отправлено: 29 Февраля, 2012 - 14:24:51 • Тема: эффективность и скорость выполнения запроса • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 47
lamozavrik
LEFT OUTER JOIN != LEFT JOIN
с той проблемой что вы описали он вам как раз поможет
ugin_root Отправлено: 28 Февраля, 2012 - 20:39:28 • Тема: Многомерный массив • Форум: Вопросы новичков

Ответов: 6
Просмотров: 269
Они и выводятся отдельно($v6)! Пользуйся этой переменной внутри последнего цикла.
и да выводит не "5, 7, 9, 11, 13, 15", а
CODE (html):
скопировать код в буфер обмена
  1. <ul><li>5</li><li>7</li><li>9</li><li>11</li><li>13</li><li>15</li>
ugin_root Отправлено: 28 Февраля, 2012 - 18:52:42 • Тема: эффективность и скорость выполнения запроса • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 47
lamozavrik
запрос правильный. если нет другого выбора чем IF и внутри запрос то делай его. Была подобная ситуация когда нужно было делать запрос к таблице примерно для 500 записей из 10000, left outer join выполнялся очень долго (т.к было 10000 записей), а такой вариант выполнялся намного быстрее. Если ситуация похожа то делай подзапрос внутри IF. Но попробуй сделать то-же самое с left outher join, выбирай то что быстрее работает
ugin_root Отправлено: 28 Февраля, 2012 - 16:12:13 • Тема: Объединение трех таблиц MySQL • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 61
Okula
совсем не в вашем случае. вы по сути делаете 3 альяса, а хватит и 2-х Улыбка
ugin_root Отправлено: 28 Февраля, 2012 - 15:43:52 • Тема: Объединение трех таблиц MySQL • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 61
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2.     categories.*,
  3.     count(topics.id_topic) AS count_topic,
  4.     COUNT(posts.id_post ) AS count_post
  5. FROM
  6.     categories
  7.         LEFT OUTER JOIN topics ON  topics.id_category = categories.id_category
  8.         LEFT OUTER JOIN posts ON posts.id_topic = topics.id_topic
  9. GROUP BY categories.id_category
ugin_root Отправлено: 28 Февраля, 2012 - 11:43:58 • Тема: элементы форм и блочная модель • Форум: HTML, Дизайн & CSS

Ответов: 2
Просмотров: 574
Pavelbeginner
В каждом браузере своё Улыбка
ugin_root Отправлено: 28 Февраля, 2012 - 11:30:58 • Тема: Все плохо;) • Форум: Прочее

Ответов: 13
Просмотров: 62
PHP:
скопировать код в буфер обмена
  1. $full = 666;
  2. $count = 13;
  3. $interval = 6;
  4.  
  5. $all_interval = ($count-1)*$interval;
  6. $width = (int)(($full-$all_interval)/$count);
  7. $left = $full-($width*$count+$all_interval);
  8.  
  9. $s = '';
  10. for($i=0;$i<$count;$i++){
  11.         if($i-1<$count&&$i!=0){
  12.                 $w = $interval;
  13.                 if($left>0){
  14.                         $w++;
  15.                         $left--;
  16.                 }
  17.                 $s .= '<div style="width:'.$w.'px"></div>';
  18.         }
  19.         $s .= '<div style="width:'.$width.'px">'.$i.'</div>'."\n\t";
  20. }
  21.  
  22. echo '
  23.         <style>div{outline: 1px solid #666;height:40px;float:left;}</style>
  24.         <div style="width:'.$full.'px">'.$s.'</div>
  25. ';

общая ширина внутренностей равна $full, лишние пиксели прибавляются к отступам пока не закончатся

Страниц (9): « 1 2 3 [4] 5 6 7 8 9 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB