Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Построчная навигация v3

 PHP.SU

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


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

> Без описания
Pirat
Отправлено: 29 Апреля, 2008 - 14:10:04
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




перечитал все что есть по этому вопросу.... ничего себе подходящего не нашел.....
у меня есть скрипт постраничного вывода... но только один момент мне не дает покоя..... не могу сделать чтоб та страница на которой я нахожусь выделялась скажем жирным цветом... или красным...(не столь важно).... никак не получается....
(Добавление)
вот код.... правда из 2-х частей..... не получаеться вставить полностью.... превышает макс. размер сообщения

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. //Max lines at table by page
  4. $max_lines = 5;
  5.  
  6.  
  7. /*Set up array*/
  8. $start_index = 1;
  9.  
  10. /*Непосредственно база данных*/
  11. $MyArray[$start_index]['date'] = '13.04.2008';
  12. $MyArray[$start_index]['description'] = 'Описание';
  13. $start_index++;
  14.  
  15.  
  16.  
  17.  
  18.  
  19. /*и.т.д .... их около 60*/
  20.  
  21.  
  22.  
  23. $showning_page = 1;
  24. if (isset($_GET['page']))
  25.     {
  26.     if (($_GET['page'] - 1) * $max_lines < sizeof($MyArray)) {$showning_page = $_GET['page'];}
  27.     }
  28.  
  29. $i = ($showning_page - 1) * $max_lines + 1;
  30. $stop_i = ($showning_page - 1) * $max_lines + $max_lines;
  31.  
  32. echo '<table align="left" background="http://www.autostill.net/fon.jpg" border="0" bordercolor="#cccccc" width="100%"  cellpadding="0px" cellspacing="0px">'."\n";
  33.  
  34.  

(Добавление)
продолжение.....

PHP:
скопировать код в буфер обмена
  1.  
  2. /*название раздела*/
  3. echo '
  4.         <tr align="center">
  5.                 <td colspan="2" style="border:none" align="left" background="http://www.autostill.net/fon_2.jpg"><font face="Comic Sans MS, Arial, MS Sans Serif" color="#000000" size="4" ><img src="http://www.autostill.net/group.gif">&nbsp;&nbsp;&nbsp;Новости</font></td>
  6.         </tr>  
  7.         <tr align="center" height="15px">
  8.         <td style="border:none"></td>
  9.         </tr>
  10. ';
  11.  
  12.  
  13. $sp = False;
  14. while (($i <= $stop_i) && ($i <= sizeof($MyArray)))
  15.   {
  16.   if ($sp)
  17.      {
  18.      echo '<tr height="0px"><td colspan="2"></td></tr>'."\n";
  19.      }
  20.   echo '<tr align="center" border="0" >'."\n";
  21.  
  22.   echo '<td style="border:none" width="13%" align="left" valign="top">'."\n";
  23.   echo '<font face="Comic Sans MS, Arial, MS Sans Serif" size="2" color="#333333"><p align="left"><b>'.$MyArray[$i]['date'].'</b></p></font>';
  24.   echo '</td>'."\n";
  25.  
  26.   echo '<td style="border:none"  align="left" valign="top">'."\n";
  27.   echo '<font face="Comic Sans MS, Arial, MS Sans Serif" size="2" color="#333333"><p align="justify">'.$MyArray[$i]['description'].'</p></font>';
  28.   echo '</td>'."\n";
  29.   echo '</tr>'."\n";  
  30.   $i++;
  31.   //$sp = True;
  32.   }
  33.  
  34. /*Вывод списка страниц*/
  35. echo '<tr>';
  36.                
  37. echo '<td align="right" style="border:none" colspan="2" >';
  38. $i = 1;
  39. echo '<font face="Comic Sans MS, Arial, MS Sans Serif" size="2" color="#333333"><b>Страница: </b></font>'; while (($i - 1) * $max_lines < sizeof($MyArray))
  40.    {
  41.    if ($i == 1) {echo '<a href="./news.php">'.$i.'</a> '; $i++; continue;}
  42.    echo '<a href="./news.php?page='.$i.'">'.$i.'</a> ';
  43.    $i++;
  44.    }
  45. echo '</td></tr>';
  46.  
  47. echo '</table>'."\n";
  48.  
  49. ?>
  50.  

(Добавление)
За ранее спасибо..... Закатив глазки


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
B_U_T_C_H
Отправлено: 29 Апреля, 2008 - 14:51:55
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         $PAGE = (isset($_GET['page'])) ? $_GET['page'] : 1;
  3.         $QUERY = "....."; //выборка нужных строк из базы данных
  4.         $QRETURN = mysql_query($QUERY) or die(mysql_error());
  5.         $QNUM = @mysql_num_rows($QRETURN);
  6.         $DISPPAGE = 10;  // количество строк на странице
  7.         $NUMPAGES = ceil($QNUM / $DISPPAGE);
  8.         if($QRETURN) {
  9.                 if($QNUM > 0) {
  10.  
  11.                         for($i = 1; $i <= $NUMPAGES; $i++) {  // пишем << 1 2 3...$NUMPAGES >>
  12.       if($i == 1 && $PAGE > 1)  // << сначала переход на предыдущую страницу (не на страницу 1)
  13.         $pager.= "<a href=\"$PHP_SELF?page=".($PAGE - 1)."\" onMouseOver=\"status='На предыдущую страницу';return true;\" onMouseOut=\"status=' ';return true;\">«</a>";
  14.       if($i == $PAGE)  // Если мы на этой странице, то не делаем ссылку, просто пишем номер страницы
  15.         $pager.= "<span>$i</span>"; // Здесь мы выделяем как хотим страницу, а которой находимся
  16.       if($i != $PAGE)  // Остальные страницы
  17.         $pager.= "<a href=\"$PHP_SELF?page=$i\" onMouseOver=\"status='На страницу $i';return true;\" onMouseOut=\"status=' ';return true;\">$i</a>";
  18.       if($i == $NUMPAGES && $PAGE != $NUMPAGES)  // Ссылка на следующую страницы >>  (не на первую)
  19.         $pager .= "<a href=\"$PHP_SELF?page=".($PAGE + 1)."\" onMouseOver=\"status='На следующую страницу';return true;\" onMouseOut=\"status=' ';return true;\">&#0187</a>";
  20.     }
  21.    
  22.     $START = ($PAGE - 1) * $DISPPAGE;
  23.     mysql_data_seek($QRETURN,$START);
  24.     for($i = 1; $i <= $DISPPAGE && $data = @mysql_fetch_array($QRETURN); $i++) {
  25.           // здесь рисуете таблицу с данными, каждая строка из базы данных по очереди перемещается в массив $data
  26.                 }
  27.         }
  28. echo $pager; // Номера страниц
  29.         }
  30.  
  31. ?>
 
 Top
Pirat
Отправлено: 29 Апреля, 2008 - 15:04:09
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in Y:\home\test1.ru\www\Untitled-1.php on line 4

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in Y:\home\test1.ru\www\Untitled-1.php on line 4
Access denied for user 'ODBC'@'localhost' (using password: NO)

и почти на всех скриптах опробованных отсюда так....(((
(Добавление)
$QRETURN = mysql_query($QUERY) or die(mysql_error());

вот моя четвертая строка


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
B_U_T_C_H
Отправлено: 29 Апреля, 2008 - 15:31:45
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




Улыбка
Вы не пробовали к базе данных подключиться?
(Добавление)
$db = mysql_connect( "имя сервера mysql", "логин", "пароль" ) or die( "Ошибка подключения к серверу" );
mysql_select_db( "имя базы данных", $db ) or die ( mysql_error() );
mysql_query( "set character_set_client='cp1251'" );//Устанавливаем кодировку
mysql_query( "set character_set_results='cp1251'" );//
mysql_query( "set collation_connection='cp1251_general_ci'" );//

(Отредактировано автором: 29 Апреля, 2008 - 15:38:13)

 
 Top
Pirat
Отправлено: 29 Апреля, 2008 - 15:39:39
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




Поскольку я слишком новичок в этом деле то естественно не пробовал..... тот код который я предоставил я выдумывал несколько месяцев.... и то с психами...и.т.п...
к базе я не хочу подключаться по скольку база вставлена выше и необходимо чтоб она именно там и была.... не отдельным файлом...

PHP:
скопировать код в буфер обмена
  1.  
  2. /*Непосредственно база данных*/
  3. $MyArray[$start_index]['date'] = '13.04.2008';
  4. $MyArray[$start_index]['description'] = 'Описание';
  5. $start_index++;
  6.  
  7.  
  8.  
  9.  
  10.  
  11. /*и.т.д .... их около 60*/
  12.  




Вы не могли бы мне подсказать из расчета моего готового примера что надо добавить... а то у Вас появились куча новых переменных которые чесно говоря я не понимаю и половину зачем они....
(Добавление)
и честно говоря не понимаю где взять "имя сервера mysql", "логин", "пароль" Растерялся


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
B_U_T_C_H
Отправлено: 29 Апреля, 2008 - 15:59:30
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




Дело в том, что у вас в примере выборка нужных данных делается не из базы, а из многомерного массива $MyArray. Как вы записываете в него значения?
Дело в том что такой массив вряд ли может быть альтернативой базе данных, особенно если у в нем хранить большое количество информации.
Я успел заметить, что сервер MySql уже установлен на вашем компьютере. Я рекомендую вам почитать литературу (самоучители, учебники, руководство) по MySql. Это не очень сложно, усваивается в течение суток.

(Отредактировано автором: 29 Апреля, 2008 - 16:00:08)

 
 Top
Pirat
Отправлено: 29 Апреля, 2008 - 16:07:08
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




ну так этот многомерный массив в последствии можно вставить скажем в файл data.php
а затем вставить его использую include ("data.php");
и затем вручную записывать в него значения..... причем это являеться каталогом и значения записываю только я.... т.е. не много пользователей.....
Сервер MySQL таки да установлен в пакете Denwer ... но сколько я там не лазил в любом случае там нет ни слова о сервере... о юзер-нэйм и пароле.... либо я не нашел... либо не там ищу....
(Добавление)
# Путь, где установлен MySQL. Внимание: в этом пути НЕ должно
# быть имени диска - при запуске он автоматически подставляется
# из парамета subst_drive (если это необходимо).
mysql_dir = \usr\local\mysql5
mysql_exe = mysqld.exe
(Добавление)
а вообще чтоб понятнее было что мне надо (может просто мы друг друга не понимаем) скидываю пример
http://www[dot]autostill[dot]net/april_2008.php

в нем наглядно видно что страниц 10... все работает... только при просмотре скажем 5-ой странице трудно определить куда идти дальше... на 6-ю... или на 7-ю ... т.е. не понятно на какой странице мы сейчас находимся.... !!!


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
B_U_T_C_H
Отправлено: 29 Апреля, 2008 - 21:21:12
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




сейчас посмотрю
(Добавление)
попробуйте заменить ваш код вывода номеров страниц на следующий

PHP:
скопировать код в буфер обмена
  1. <?echo '<tr>';
  2.        
  3. echo '<td align="right" style="border:none" colspan="2" >';
  4. $i = 1;
  5. echo '<font face="Comic Sans MS, Arial, MS Sans Serif" size="2" color="#333333"><b>Страница: </b></font>';
  6. while (($i - 1) * $max_lines < sizeof($MyArray))
  7.    {
  8.    if ($i==$showning_page) {
  9.         echo "<strong>$i</strong>";
  10.    } else {
  11.    echo '<a href="./news.php?page='.$i.'">'.$i.'</a> ';
  12.    }
  13.    $i++;
  14.    }
  15. echo '</td></tr>';
  16.  
  17. echo '</table>'."\n";
  18. ?>

(Отредактировано автором: 29 Апреля, 2008 - 22:23:46)

 
 Top
Pirat
Отправлено: 29 Апреля, 2008 - 22:04:32
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




Да...Да....Да.....
именно то что мне надо было..... огромное спасибо за ваше терпение..... осталось только подредактировать немного.... (цифры криво вылазят).... но это уже мелочи...))))....

ОГРОМНОЕ СПАСИБО Радость


-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
B_U_T_C_H
Отправлено: 29 Апреля, 2008 - 22:21:02
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Март 2008  


Помог: 0 раз(а)




Пожалуйста.
 
 Top
Pirat
Отправлено: 29 Апреля, 2008 - 22:27:57
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2007  
Откуда: Украина, Одесса


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. /*Вывод списка страниц*/
  3. $page = $_GET['page'];
  4. echo '<tr>';
  5. echo '<td align="right" style="border:none" colspan="4" >';
  6. $i = 1;
  7.  
  8. echo '<font face="Comic Sans MS, Arial, MS Sans Serif" size="2" color="#333333"><b>Страница: </b></font>';
  9.         if ($page > 1) {echo '<a href="./fj120.php?page='.($page - 1).'" title="предыдущая"><font size="3" style="vertical-align:inherit"><<&nbsp;&nbsp;</font></a>';}
  10.  while (($i - 1) * $max_lines < sizeof($MyArray))
  11.    {
  12.         if ($i==$showning_page) {
  13.        echo '<font color="ff0000" size="3" style="vertical-align:text-center">['.$i.']&nbsp;</font>';}
  14.         else {
  15.    echo '<a href="./fj120.php?page='.$i.'">'.$i.'</a> ';}
  16.    
  17.    $i++;
  18.    }
  19.    if  ($page < 1) $page = 1;
  20.    if ($page <= $i-2){
  21.    echo '<a href="./fj120.php?page='.($page + 1).'" title="следующая"><font size="3" style="vertical-align:inherit">&nbsp;>></font></a> ';} while ($i == $page)  
  22.    
  23. echo '</td></tr>';
  24.  
  25. echo '</table>'."\n";
  26.  
  27. ?>
  28.  


вот что я в итоге намудрил (благодоря B U T C H).... очень даже не плохо получилось....
не судите строго.... я чувствую что можно было проще сделать, но сам факт работает !!!!

(Отредактировано автором: 29 Апреля, 2008 - 22:52:46)



-----
Вообще я продаю автозапчасти... оптом
А PHP - это хобби...
 
 Top
mhayrullaev
Отправлено: 11 Июля, 2008 - 08:06:28
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июль 2008  


Помог: 0 раз(а)

[+]


а кто может написать постраничную новигацию только для БД Oracle. Запарился, очень нужна помощь. Огорчение
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Обсуждение статей »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB