PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (9): « 1 2 3 [4] 5 6 7 8 9 »
Найдено сообщений: 134
ugin_root
Отправлено: 02 Марта, 2012 - 06:46:25 • Тема: Объединение 2 таблицы с одинковыми id • Форум: Работа с СУБД
Ответов: 1 Просмотров: 830
CODE (
SQL ):
скопировать код в буфер обмена
INSERT INTO `table3`
SELECT `t` .* FROM ( SELECT @i:= 0 AS `i` ) AS `i` , (
( SELECT *, @i:= @i+ 1 AS 'new_id' FROM `table1` ) UNION
( SELECT *, @i:= @i+ 1 AS 'new_id' FROM `table2` )
) AS `t`
1. Все поля в запросе UNION должны совпадать
2. Список столбцов в `table3` должен быть таким-же как в запросе на вставку
не уверен что такой запрос на вставку пройдёт, но если не пройдёт то создай представление с этим запросом, а потом:
ugin_root
Отправлено: 01 Марта, 2012 - 20:44:07 • Тема: метод get • Форум: Вопросы новичков
Ответов: 2 Просмотров: 106
fanatikus
не
а
уберите лишний пробел в коде!
%20 === пробел
ugin_root
Отправлено: 01 Марта, 2012 - 20:09:03 • Тема: Пагинатор • Форум: Вопросы новичков
Ответов: 13 Просмотров: 710
WebBegginer
рад помочь несчастным студентам!
но вы видать не поняли...
//есть 2 переменных номер страницы [num] и [url] до этой самой страницы
PHP:
скопировать код в буфер обмена
public $s_url = '?page=[num]' ;
public $s_link = ' <a href="[url]">[num]</a> ' ;
public $s_next = ' <a href="[url]">...</a> ' ;
public $s_prev = ' <a href="[url]">...</a> ' ;
public $s_first = ' <a href="[url]">Первая</a> ' ;
public $s_last = ' <a href="[url]">Последняя</a> ' ;
public $s_current = ' [num] ' ;
не нужно в самом классе задавать лишние! Вот что это за х-ня? никто не поймёт!
PHP:
скопировать код в буфер обмена
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 " ;
а это понять намного проще!
(Добавление)
тем более подобные конструкции нежелательно использовать внутри класса! задавайте стандарт, т.е. то что будет работать всегда.
CODE (
htmlphp ):
скопировать код в буфер обмена
style=\"margin-left:10px\"
< option selected value= \"$ipp_opt \"
onchange=\" window.location='$_SERVER[PHP_SELF] ?page='+this[this.selectedIndex].value+'&ipp=$this -> items_per_page$this->querystring';return false\"
class=\"paginate\"
подобного хлама в классе задавать не следует
(Добавление)
не факт что всем нужно переместить блок на 10px от левого края
не факт что всем нужно отобразить это в виде <select>
не факт что всем нужно действие Java Script-ов на нажатие ссылки
не факт что у всех прописан сласс "paginate" в стилях
все эти "параметры" доложны задаваться локально!
(Добавление)
класс для того и нужен что-бы отделить весе полезности (данного класса), от того что вы в него добавили(гов..., нехорошего кода для класса)
на месте вашего преподавателя ставил бы смело 2 за такой класс...
ugin_root
Отправлено: 01 Марта, 2012 - 18:28:37 • Тема: Пагинатор • Форум: Вопросы новичков
Ответов: 13 Просмотров: 710
WebBegginer пишет: Спасибо Вам огромное, а не могли бы вы реализовать index файл, который будет обрабатывать данный класс, с выводом информации на страницах ? Буду безумно благодарен!!!
для этого нужно знать что выводить, и много чего ещё! К вам приходит переменная с номером страницы, и вы вычисляете максимальное число страниц, что ещё нужно???
З.Ы. тестовая страничька итак выводится:
используйте ($page + 1) для вывода нужной вам страницы.
ugin_root
Отправлено: 01 Марта, 2012 - 10:22:10 • Тема: Заполнение и отправка формы • Форум: Вопросы новичков
Ответов: 3 Просмотров: 2597
propostaff
PHP:
скопировать код в буфер обмена
$s = "Что такое гугл?" ;
echo '<script type="text/javascript">
google.load("search", "1", {language : "ru"});
google.setOnLoadCallback(function() {
var customSearchOptions = {};
var customSearchControl = new google.search.CustomSearchControl("Ваш код", customSearchOptions);
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw("cse");
$(".gsc-search-box .gsc-input > input").val("' . $s . '");
$(".gsc-search-box .gsc-input > input").click();
$(".gsc-search-box .gsc-input > input").css({"background":"none"});
$(".gsc-search-button .gsc-search-button").click();
}, true);
</script>' ;
juery...
ugin_root
Отправлено: 29 Февраля, 2012 - 17:15:20 • Тема: Пагинатор • Форум: Вопросы новичков
Ответов: 13 Просмотров: 710
PHP:
скопировать код в буфер обмена
class Paginator
{
public $_current = null ;
public $_count = null ;
public $left = 10 ;
public $s_url = '?page=[num]' ;
public $s_link = ' <a href="[url]">[num]</a> ' ;
public $s_next = ' <a href="[url]">...</a> ' ;
public $s_prev = ' <a href="[url]">...</a> ' ;
public $s_first = ' <a href="[url]">Первая</a> ' ;
public $s_last = ' <a href="[url]">Последняя</a> ' ;
public $s_current = ' [num] ' ;
public $s_return = '<div>[first] [prev] [links] [next] [last]</div>' ;
function __construct( $count , $current , $url = null ) {
$this -> _current = ( int) $current ;
$this -> _count = ( int) $count ;
if ( $url != null ) {
$this -> s_url = ( string) $url ;
}
}
function ToString( ) {
$first = '' ; $prev = '' ; $links = '' ; $next = '' ; $last = '' ;
for ( $i = 0 ; $i < $this -> _count ; $i ++ )
{
$patern = array ( '#\[url\]#Usi' , '#\[num\]#Usi' ) ; $replacement = array ( $url , $i + 1
) ;
if ( $this -> _current == $i + 1) {
$links .= preg_replace ( $patern , $replacement , $this -> s_current ) ; } else if ( $i < $this -> _current + $this -> left && $i > $this -> _current - $this -> left - 2) {
$links .= preg_replace ( $patern , $replacement , $this -> s_link ) ; }
if ( $i == 0
&& $this -> _current
- 1
!= $i ) $first = preg_replace ( $patern , $replacement , $this -> s_first ) ; if ( $this -> _current
- 2
== $i && $this -> _current
- 1
!= 0
) $prev = preg_replace ( $patern , $replacement , $this -> s_prev ) ; if ( $this -> _current
== $i && $this -> _current
!= $this -> _count
) $next = preg_replace ( $patern , $replacement , $this -> s_next ) ; if ( $this -> _count
- 1
== $i && $this -> _current
- 1
!= $i ) $last = preg_replace ( $patern , $replacement , $this -> s_last ) ; }
array ( '#\[first\]#Usi' , '#\[prev\]#Usi' , '#\[links\]#Usi' , '#\[next\]#Usi' , '#\[last\]#Usi' ) , array ( $first , $prev , $links , $next , $last ) , $this -> s_return
) ;
}
}
$count_page = 666 ;
$page = @ $_GET [ 'page' ] ;
if ( is_null ( $page ) || ( string
) ( int
) $page != $page || $page > $count_page || $page < 0
) $page = 0 ;
echo 'открыта страница номер: ' . ( $page + 1) ;
$pagin = new Paginator( $count_page , $page + 1 , '?forum=23&page=[num]' ) ;
$pagin -> s_current = ' [[num]] ' ;
$pagin -> s_first = ' <a href="[url]">[num]</a> ' ;
$pagin -> s_last = ' <a href="[url]">[num]</a> ' ;
echo $pagin -> ToString ( ) ;
$pagin -> left = 3 ;
$pagin -> s_current = ' [num] ' ;
$pagin -> s_first = '' ;
$pagin -> s_last = '' ;
$pagin -> s_next = ' <a href="[url]">туда</a> ' ;
$pagin -> s_prev = ' <a href="[url]">сюда</a> ' ;
echo $pagin -> ToString ( ) ;
ugin_root
Отправлено: 28 Февраля, 2012 - 20:39:28 • Тема: Многомерный массив • Форум: Вопросы новичков
Ответов: 6 Просмотров: 269
Они и выводятся отдельно($v6)! Пользуйся этой переменной внутри последнего цикла.
и да выводит не "5, 7, 9, 11, 13, 15", а
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 - 15:43:52 • Тема: Объединение трех таблиц MySQL • Форум: SQL и Архитектура БД
Ответов: 7 Просмотров: 61
CODE (
SQL ):
скопировать код в буфер обмена
SELECT
categories.*,
count( topics. id_topic) AS count_topic,
COUNT( posts. id_post ) AS count_post
FROM
categories
LEFT OUTER JOIN topics ON topics. id_category = categories. id_category
LEFT OUTER JOIN posts ON posts. id_topic = topics. id_topic
GROUP BY categories. id_category
ugin_root
Отправлено: 28 Февраля, 2012 - 11:30:58 • Тема: Все плохо;) • Форум: Прочее
Ответов: 13 Просмотров: 62
PHP:
скопировать код в буфер обмена
$full = 666 ;
$count = 13 ;
$interval = 6 ;
$all_interval = ( $count - 1) * $interval ;
$width = ( int) ( ( $full - $all_interval ) / $count ) ;
$left = $full - ( $width * $count + $all_interval ) ;
$s = '' ;
for ( $i = 0 ; $i < $count ; $i ++ ) {
if ( $i - 1< $count && $i != 0) {
$w = $interval ;
if ( $left > 0) {
$w ++;
$left --;
}
$s .= '<div style="width:' . $w . 'px"></div>' ;
}
$s .= '<div style="width:' . $width . 'px">' . $i . '</div>' . "\n \t " ;
}
echo '
<style>div{outline: 1px solid #666;height:40px;float:left;}</style>
<div style="width:' . $full . 'px">' . $s . '</div>
' ;
общая ширина внутренностей равна $full, лишние пиксели прибавляются к отступам пока не закончатся
Страниц (9): « 1 2 3 [4] 5 6 7 8 9 »
Powered by ExBB FM 1.0 RC1. InvisionExBB