За последние 24 часа нас посетили 18714 программистов и 1703 робота. Сейчас ищут 629 программистов ...

Ребят , поскажите плз

Тема в разделе "Прочие вопросы по PHP", создана пользователем OREX13, 8 сен 2009.

  1. OREX13

    OREX13 Активный пользователь

    С нами с:
    8 сен 2009
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте , вот пишу я скрипт - каталог .

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

    Скринт работает следующим образом . При добавлении всех данных на сервере создаётся каталог , куда копируются файл админки ну и создаётся ещё несколько файлов ( база данных не используется ) .

    И вот в результате встала проблема - этих самых товаров очень много и надо сделать постраничный вывод ( по 10 товаров , например , на страницу ) Вроде вывод по страницам я сделал , но тут встала ещё одна проблема . Если есть всего 5 записей , а не 10 или , скажем , 12 записей , то создаются 2 страницыкак и надо , но на второй ( если брать , что страниц 12 ) только 2 записи , а остальные 8 полный бред . Просто циклица таблица до 10 пунктов и всё

    Index.php

    PHP:
    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    2.  
    3. <HTML><HEAD><TITLE>Камень</TITLE>
    4. <META http-equiv=Content-Type content="text/css; charset=windows-1251">
    5.  
    6. <script language="JavaScript">
    7.  
    8. function Show(fname, width, height) {
    9.     if (screen.height<=550 && screen.width<=700) {
    10.         document.location = fname;
    11.     } else {
    12.         if(!height) height = 800;
    13.         if(!width) width = 600;        
    14.         newHeight = height + 20;
    15.         PopupWin = window.open(fname, "_blank", "height="+newHeight+",width="+width+",menubar=no,status=no,titlebar=no,toolbar=no,location=no,resizable=no,scrollbars=yes"); }
    16.     return false;
    17. }
    18. </script>
    19.  
    20. <?
    21. include ('config.txt');
    22. print "<table align=\"center\" width=400 border=1>
    23.           <tr>
    24.              <td><div align=\"center\">Внешний вид </div></td>
    25.              <td><div align=\"center\">Наименование</div></td>
    26.              <td><div align=\"center\">Цена</div></td>
    27.           </tr>
    28.           <tr>
    29. ";
    30. $i = 0;
    31. $title=$izvest[$q] ;
    32. $handle = opendir ('.');
    33. while($file = readdir($handle))
    34. {
    35.   if ($file != '.' && $file != '..' && $file != 'index.php' && $file != 'redaction.php' && $file != 'tovar_prog.php' && $file != 'admin.php' && $file != 'config.txt' && $file != 'redaction_prog.php' && $file != '2.php')
    36.   {
    37.     $func[$i] = $file;    //формируем массив названий файлов с функциями
    38.     $i++;
    39.   }
    40. }
    41. sort ($func);
    42.  
    43.  
    44.  
    45.  
    46.  
    47. if (isset($_GET["page"])) $page = $_GET["page"];
    48.  
    49.  
    50.  
    51. else $page = 1;
    52.  
    53.  
    54. for ($q = ($page-1)*10; $q < $page*10; $q++)
    55. {
    56. print "<td align=\"center\" width=100><a href=# target=_self
    57. onclick=\"Show('$func[$q]?title=$izvest[$q]',400,300); return false;\">
    58. <img  src=$func[$q]/1.jpg alt=\"Дополнительная информация\"  width=70 height=70 border=0 ></td><td align=\"center\" width=300>
    59. <a href=# target=_self
    60. onclick=\"Show('$func[$q]?title=$izvest[$q]',400,300); return false;\">
    61. $izvest[$q]</td>
    62. <td> ";
    63. include ("$func[$q]/2.txt");
    64. print "</td></tr></a>";
    65. }
    66. print "  </table>";
    67.  
    68. $q = count($func);
    69. print "Колличество элементов $q ";
    70.  
    71.  
    72. if ( $q > 10 )
    73.  
    74.  
    75. print "Страницы: ";
    76.  
    77.  
    78.  
    79. for ($i=0; $i < $q/10; $i++)
    80.  
    81. {
    82.  
    83. echo "<a href='".$_SERVER['PHP_SELF']."?page=".($i+1)."'>".($i+1)."</a> ";
    84.  
    85. }
    86.  
    87.  
    88.  
    89.  
    90.  
    91. ?>
    ну , впринципе остальные файлы никак на вывод не влияют . Если надо будет - выложу всё . Ребят , помогите , не к кому обратиться больше !
     
  2. xELos

    xELos Активный пользователь

    С нами с:
    7 сен 2009
    Сообщения:
    5
    Симпатии:
    0
    Не боитесь ли хранить настройки в config.txt ?? )
     
  3. OREX13

    OREX13 Активный пользователь

    С нами с:
    8 сен 2009
    Сообщения:
    3
    Симпатии:
    0
    Да чё бояться - то ? )))) Там на самом деле не настройки , а записываются туда массивы с названием )

    Помогите плз , я чё - то уже всё перепробовал , всё равно если число элементов не кратное 10 происходит ужал , причём даже не пойму откуда чила беруться в таблицах )
     
  4. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    PHP:
    1. for ($q = ($page-1)*10; $q < $page*10; $q++)
    2.  
    3. for ($q = ($page-1)*10; $q < $page*10, !is_file( $func[$q] .'/2.txt'); $q++)
    4.  
    ?
     
  5. OREX13

    OREX13 Активный пользователь

    С нами с:
    8 сен 2009
    Сообщения:
    3
    Симпатии:
    0
    PHP:
    1. for ($q = ($page-1)*10; $q < $page*10; $q++)
    2.  
    3. if ($q < $page*10) {
    4.  
    5.  
    6.  
    7.  
    8. {
    9.  
    10.     if ($q < count ($func))  {
    11.  
    12. print "<td align=\"center\" width=100><a href=# target=_self
    13. onclick=\"Show('$func[$q]?title=$izvest[$q]',400,300); return false;\">
    14. <img  src=$func[$q]/1.jpg alt=\"Дополнительная информация\"  width=70 height=70 border=0 ></td><td align=\"center\" width=300>
    15. <a href=# target=_self
    16. onclick=\"Show('$func[$q]?title=$izvest[$q]',400,300); return false;\">
    17. $izvest[$q]</td>
    18. <td> ";
    19. include "$func[$q]/2.txt";
    20. print "</td></tr></a>";
    21.  
    22. }
    23. }}
    вот так вышел из ситуации , всем спасибо , Ваш вариант тоже поидее должен работать