people2010
User-
Posts
313 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Calendar
Store
Everything posted by people2010
-
Решил опробовать другой,более правильный вариант, но он у меня не сработал. По видеоуроку попробовал написать постраничную навигацию, для теста как там было указано создал 2 таблицы: Таблица lessons.php id cat text 1 1 Петя 2 1 Фрося 3 1 Борис 4 1 Анатолий 5 1 Банан 6 1 Тарзан 7 1 Макс 8 1 Министр 9 1 Факел 10 1 Природа 11 1 Листья 12 1 Друзья 13 1 Морковь 14 1 Титаник 15 1 Мел 16 1 Натрий 17 1 Вуглевод 18 1 Кислород 19 1 Дартаньян 20 1 Поезд Таблица options.php d str 1 3 Файл database.php <?php $server = 'localhost'; //Имя сервера $user = 'privet'; //Логин $password = '12345'; //Пароль $db = 'video'; $table = 'lessons'; //Название таблицы $error_database = '<h2>Произошла ошибка в базе данных,<br/> в ближайшее время она будет устранена!</h2>'; $connect = mysql_connect($server,$user,$password); if(!$connect){ echo $error_database; exit; }; //$connect по какому соединению мы работаем $select = mysql_select_db($db,$connect); if(!$select){ echo $error_database; exit; }; ?> Код самой постраничной навигации, файл cat_view.php <?php include '../blocks/database.php'; /*Соединяемся с Базой Данных*/ $result77 = mysql_query("SELECT str FROM options", $connect); $myrow77 = mysql_fetch_array($result77); $num = $myrow77["str"]; // Извлекаем из URL текущую страницу @$page = $_GET['page']; // Определяем общее число сообщений в базе данных $result00 = mysql_query("SELECT COUNT(*) FROM data WHERE cat='$cat'"); $temp = mysql_fetch_array($result00); $posts = $temp[0]; // Находим общее число страниц $total = (($posts - 1) / $num) + 1; $total = intval($total); // Определяем начало сообщений для текущей страницы $page = intval($page); // Если значение $page меньше единицы или отрицательно // переходим на первую страницу // А если слишком большое, то переходим на последнюю if(empty($page) or $page < 0) $page = 1; if($page > $total) $page = $total; // Вычисляем начиная с какого номера // следует выводить сообщения $start = $page * $num - $num; // Выбираем $num сообщений начиная с номера $start $result = mysql_query("SELECT id,text FROM lessons WHERE cat='$cat' ORDER BY id LIMIT $start, $num",$connect); // Проверяем нужны ли стрелки назад if ($page != 1) $pervpage = '<a href=view_cat.php?cat='.$cat.'&page=1>Первая </a> | <a href=view_cat.php?cat='.$cat.'&page='. ($page - 1) .'>Предыдущая</a> | '; // Проверяем нужны ли стрелки вперед if ($page != $total) $nextpage = ' | <a href=view_cat.php?cat= '.$cat.'&page='. ($page + 1) .'>Следующая</a> | <a href=view_cat.php?cat= '.$cat.'&page=' .$total. '>Последняя</a>'; // Находим две ближайшие станицы с обоих краев, если они есть if($page - 5 > 0) $page5left = ' <a href=view_cat.php?cat= '.$cat.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | '; if($page - 4 > 0) $page4left = ' <a href=view_cat.php?cat='.$cat.'&page= '. ($page - 4) .'>'. ($page - 4) .'</a> | '; if($page - 3 > 0) $page3left = ' <a href=view_cat.php?cat='.$cat.'&page= '. ($page - 3) .'>'. ($page - 3) .'</a> | '; if($page - 2 > 0) $page2left = ' <a href=view_cat.php?cat='.$cat.'&page= '. ($page - 2) .'>'. ($page - 2) .'</a> | '; if($page - 1 > 0) $page1left = '<a href=view_cat.php?cat='.$cat.'&page= '. ($page - 1) .'>'. ($page - 1) .'</a> | '; if($page + 5 <= $total) $page5right = ' | <a href=view_cat.php?cat= '.$cat.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>'; if($page + 4 <= $total) $page4right = ' | <a href=view_cat.php?cat= '.$cat.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>'; if($page + 3 <= $total) $page3right = ' | <a href=view_cat.php?cat= '.$cat.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>'; if($page + 2 <= $total) $page2right = ' | <a href=view_cat.php?cat= '.$cat.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>'; if($page + 1 <= $total) $page1right = ' | <a href=view_cat.php?cat= '.$cat.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>'; // Вывод меню если страниц больше одной if ($total > 1) { Error_Reporting(E_ALL & ~E_NOTICE); echo "<div class=\"pstrnav\">"; echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page. '</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage; echo "</div>"; } ?> Выдаёт ошибки: Notice: Undefined variable: cat in z:\home\sitik.ru\www\blocks\view_cat.php on line 9 [Денвер: показать возможную причину ошибки] Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:\home\sitik.ru\www\blocks\view_cat.php on line 10 Notice: Undefined variable: cat in z:\home\sitik.ru\www\blocks\view_cat.php on line 27 Notice: Undefined variable: cat in z:\home\sitik.ru\www\blocks\view_cat.php on line 30 Notice: Undefined variable: cat in z:\home\sitik.ru\www\blocks\view_cat.php on line 30 Хотя я всё сделал по инструкции,как говорилось в видеоуроке. Подскажите пож, что сделать чтоб сработало?
-
Вот так тоже не работает. $num_rows = ceil($num_rows/$chislo);
-
Написал так, всё равно выводит на 1-ой странице 5, а на 2 и 3 по 10. $num_rows = ceil(num_rows/chislo);
-
Расшифруйте пож. пару мест непонятных из этого кода, я написал в комментариях. А именно вот эти строки: 1)$result = mysql_query("SELECT * from $table ORDER by id desc"); Этоо означает выбрать из таблицы все строки сортируя их в обратном порядке, это зачем делать? 2) $num_rows = mysql_num_rows($result); Зачем считать кол-во записей в таблице,я так понял это кол-во строк 3) $num_rows = round($num_rows/$chislo); Зачем здесь функция раунд? И у меня 20 записей, почему на первой странице выводит 5 записей, а на 2 и 3 по 10? 4) ($_GET['str'])) //Откуда взялась переменная str в глобальном массиве? 5) $nav = intval($nav); //Вот это место зачем писать? 6) for ($i=1; $i<$num_rows; $i++) { //А чему переменная num_rows равна,где она получает значения? if ($i != $nav) { //А это что за проверка странная? echo '<a href="'.$PHP_SELF.'?str='.$i.'">'.$i.'</a> ';//Вот этот кусок желательно растолкуйте понятней ?str и пхп_селф } else { // АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ echo '<span>'.$i.'</span> '; //Что это за вывод переменной $i и чему эта переменная будет равна? } } 7) if (!isset($_GET['str'])) { //Что это за проверка и откуда взялась переменная стр в глобальном массиве,что она делает? 8)Последнее,непонятное вот это растолкуйте пож. подробней '.substr($row['text'],0,100).'.. <a href="text.php?nomer='.$row['id'].'">>></a></p>'; <? $server = 'localhost'; // ИМЯ СЕРВЕРА $user = 'ptisa'; // ПОЛЬЗОВАТЕЛЬ $pass = '12345'; // ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ $db = 'video'; // БАЗА ДАННЫХ $table = 'lessons'; // НАЗВАНИЕ ТАБЛИЦЫ $chislo = 5; // ЧИСЛО СООБЩЕНИЙ НА СТРАНИЦЕ // ДЛЯ УДОБСТВА ОБОЗНАЧИМ ПЕРЕМЕННУЮ С ТЕКСТОМ ОШИБКИ $text_error = '<br />Ошибочка вышла!'; // СОЕДЕНИМСЯ С MySQL $connect = mysql_connect ($server, $user, $pass); if (!$connect) { echo $text_error; exit; } // СОЕДЕНИЯЕМСЯ С БАЗОЙ ДАННЫХ $select = mysql_select_db($db); if (!$select) { echo $text_error; exit; } // СОЗДАЁМ ЗАПРОС $result = mysql_query("SELECT * from $table ORDER by id desc"); // СЧИТАЕМ КОЛЛИЧЕСТВО ЗАПИСЕЙ В ТАБЛИЦЕ - У МЕНЯ ИХ 20 $num_rows = mysql_num_rows($result); // Это подсчёт из скольки строк состоит табл. зачем это делать? // А ТЕПЕРЬ СЧИТАЕМ НА СКОЛЬКО СТРАНИЦ НАМ РАЗБИТЬ ЗАПИСИ И ВЫДЕЛЯЕМ ЦЕЛОЕ ЧИСЛО $num_rows = round($num_rows/$chislo); //Зачем здесь функция round? // ЗДЕСЬ МЫ ПРОВЕРЯЕМ НА КАКОЙ СТРАНИЦЕ СЕЙЧАС ПОЛЬЗОВАТЕЛЬ if (isset($_GET['str'])) { $nav = $_GET['str']; } else { $nav = 0; } $nav = intval($nav); // Смысл этой строки, зачем? Что делает интвал с переменной nav? echo 'Навигация: '; // А ТЕПЕРЬ ВЫВОДИМ НОМЕРА СТРАНЦ for ($i=1; $i<$num_rows; $i++) { //Если у меня 20 записей в базе значит здесь будет от 1 до 4? if ($i != $nav) { ..Что это за проверка и зачем? echo '<a href="'.$PHP_SELF.'?str='.$i.'">'.$i.'</a> '; //прокомментируйте вот это место подробнее } else { // АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ echo '<span>'.$i.'</span> '; //Что это за вывод? } } echo '<hr />'; // ОТДЕЛИМ НАВИГАЦЮ ОТ КОНТЕНТА ДЛЯ НАГЛЯДНОСТИ // НАЧИНАЕМ ВЫВОДИТЬ САМУ ИНФОРМАЦИЮ ПОСТРАНИЧНО :) if (!isset($_GET['str'])) { $str = 0; } else { $str = $_GET['str']*$chislo - $chislo; } $nomer = $str + 5; // ФОРМИРУЕМ ЗАПРОС НУЖНОЙ НАМ ЧАСТИ ИНФОРМАЦИИ $result = mysql_query("SELECT * from $table ORDER by id asc limit $str, $nomer"); // ИНАЧЕ ВЫВОДИМ ОШИБКУ if (!$result) { echo $text_error; exit; } echo '<div style="width: 40%;">'; while ($row = mysql_fetch_array($result)) { echo '<p>'.$row['id'].' - <strong>'.$row['page'].'</strong> <br /> '.substr($row['text'],0,100).'.. <a href="text.php?nomer='.$row['id'].'">>></a></p>'; } echo '</div>'; mysql_close($connect); ?>
-
Скажите, а зачем писать второй параметр, везде пишут что не обязательно, а другие говорят желательно,почему? Я про это $connect $sample= mysql_query("select * from lessons",$connect);
-
Оказалось что в слове connect одна из букв была русская.
-
НЕ могу соединиться с базой данных, хотя раньше вроде соединялся. Вот так пробую писать: А потом пробую в файле индекс подключить это код ,вот так: <?php include 'blocks/database.php'; /*Соединяемся с Базой Данных*/ ?> Выдаёт ошибку: Notice: Undefined variable: connect in z:\home\sitik.ru\www\blocks\database.php on line 10 [Денвер: показать возможную причину ошибки] Произошла ошибка в базе данных, в ближайшее время она будет устранена! Хотя вроде всё правильно не могу понять что не так.
-
Вот такой есть код: *html body { width:expression((document.body.parentNode.offsetWidth<1000)?'1000px':'auto'); } То есть document.body.parentNode.offsetWidth<1000) В объекте под названием document находиться внутренний объект под названием body, в этом внутреннем объекте находиться свойство parentNode но не метод, а в этом свойстве находиться внутренне свойство offsetWidth?
-
Наконец-то, вот так сработало везде: .strelka_marker li{list-style-type:none; display:block; background:url(img/strelka.gif) no-repeat; margin-left:5px; padding-left:22px; }
-
Всё равно не то выходит, в моём случаи последнем выходит такое:
-
Лучший вариант, это так: .strelka_marker img{line-height:25px; padding-left:10px; margin-right:5px;} А потом: <ul class="strelka_marker"> <img src="../img/strelka.gif" />Пункт1<br /> <img src="../img/strelka.gif" />Пункт2<br /> <img src="../img/strelka.gif"/>Пункт3<<br /> <img src="../img/strelka.gif" />Пункт4<br /> </ul>
-
.strelka_marker li{background:url(img/strelka.gif) no-repeat 5px center; line-height:25px; padding-left:30px; overflow:hidden;} Вот так сработало вроде, но проблема в том, что в ИЕ6, не обрезало точки, которые выходят за картинку. Как быть?
-
Так значит для мин-видз явускрипт надо.
-
Я был в гугле, но на данный вопрос не нашёл ответа. ИЕ9 уже вышла только она работает для ВИсты и виндоус7
-
1)Не срабатывает такое для ИЕ6,как можно исправить? html body { min-width:1000px; } 2)Не работает вот такое для ИЕ6 и ИЕ7 .strelka_marker{list-style-image:url(img/strelka.gif); margin-left:25px; line-height:25px;} Файл хтмл: <ul class="strelka_marker"> <li>Пункт1</li? <li>Пункт2</li? <li>Пункт3</li? <li>Пункт4</li? </ul> Во всех браузерах включая ИЕ8, отображает так: В ИЕ6,ИЕ7 отображает так: Как исправить в ИЕ7 и ИЕ6?
-
Упростил решение вот так и всё заработало на всех браузерах, проверял. .title{height:34px; background:url(img/video.png) no-repeat; border:1px solid black;} .textpos1{ padding-top:7px; display:block; padding-left:7px; font-size:15px; font-weight:bold; font-family:Verdana, Arial, Helvetica, sans-serif;} <div class='title'><span class="textpos2">Текст</span></div> Хотя странно, что свойство position везде работает по разному. Вывод: 1) не использовать вообще: position:relative потому-что пр и уменьшении окна браузера то что им размещено отображается в разных местах браузера, чем меньше уменьшил окно браузера тем полетит вправо или влево то, что ты им с позиционировал 2)Не использовать: position:absolute; иначе будет отображаться во всех версиях Ие одинаково, включая оперу, но будет отображаться по другому в ГУГЛХРОм и третьему МОЗИЛА, во всех версиях будет отображаться по другому. 3)Использовать маргин и паддинг для выхода из таких ситуаций и будет отображаться в: Opera 9.22, 9.63,IE - 6,7,8,Mozila,GoogleChrome,Netskape и даже Safari одинаково. Если я в чём-то не прав, напишите как position:absolute использовать так,чтоб во всех браузерах отступало одинаково то,что я им позиционирую
-
Попробовал сейчас написать без условных комментариев. Написать в стилях опробовал такое: .textpos1{position:absolute; top:710px; left:35px; font-weight:bold; font-family:Verdana, Arial, Helvetica, sans-serif;} В хтмл поробовал такое: <span class="textpos1">Для женщин</span> Работает в ИЕ6,Ие7,ИЕ8,Опера9,22, Опера 9,63 Не работает: Мозила, ГУГХРОм. Что делать?
-
Как поставить условный коментарий в гуглхроме, и как поставить в браузере опера, выше версии 9,22(кроме 9,22), на этих браузерах у меня отображается где-то в стороне, а не на картинке. Если кто знает, напишите как исправить.
-
Вот так сработало для мозилы,только не понятно что это такое: html:root html:root .textpos1{position:absolute; top:721px; left:35px; font-weight:bold; font-family:Verdana, Arial, Helvetica, sans-serif;} А в гуглхроме вверх занесло, как в гуглхроме исправить?
-
точно, вот так сработало. Содержимое в отд. файле ксс: .textpos1{position:absolute; top:725px; left:35px; font-weight:bold; font-family:Verdana, Arial, Helvetica, sans-serif;} код хтмл: <!--[if gte IE 6]> <style type="text/css"> .textpos1{top:710px;} </style> <![endif]--> <span class="textpos1">Для женщин</span>
-
Да, читаю вроде. Из поста 7-го код работает, но 2 раза выводит текст, почему ,я же поставил условного? Вот так выводит 2 раза один и тот же текст. <span style="position:absolute; top:725px; left:35px; font-weight:bold; font-family:Verdana, Arial, Helvetica, sans-serif;"> Для женщин</span> <!--[if gte IE 6]> <span style="position:absolute; top:705px; left:35px; font-weight:bold; font-family:Verdana, Arial, Helvetica, sans-serif;"> Для женщин</span> <![endif]-->
-
Тот пост я стёр, обновил новый, понял что там не так,но когда понял,вы уже успели его прочитать,прочитайте обновлённый 7ой.
-
Случилась небольшая проблема, вот есть у меня текст который размещается на определённой картинке сайта. Если написать так, будет 2 раза выводиться текст на картинке, а мне нужно 1 раз. <span style="position:absolute; top:725px; left:35px; font-weight:bold; font-family:Verdana, Arial, Helvetica, sans-serif;"> Для женщин</span> <!--[if IE]> <span style="position:absolute; top:705px; left:35px; font-weight:bold; font-family:Verdana, Arial, Helvetica, sans-serif;"> Для женщин</span> <![endif]-->
-
Скажите для того чтоб задавать дял браузера ИЕ для опр. классов опред. свойства для версий Ие: * IE 6 — * html * IE 7 — *+html А что использовать для 8ой версии тогда?
-
Точно, помогло,спс, только пришлось переконструировать всё заново.