За последние 24 часа нас посетил 19591 программист и 1657 роботов. Сейчас ищут 1558 программистов ...

Помогите новичку

Тема в разделе "Вопросы от блондинок", создана пользователем greenzlat, 27 апр 2008.

  1. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Я совсем новичок в PHP, поэтому не судите строго. Так вот вопрос вот в чем: я создаю сайт-сборник песен с аккордами и т.п. Допустим у меня на странице список исполнителей их порядка 50 на одной странице!!! Так вот как мне сделать так,чтобы скрипт сам размещал на странице допустим по 10 исполнителей! Напишите поподробнее пожалуйста код и структуру фалов??? Спасибо ОГРОМНОЕ!!!
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Самое оптимальное и быстрое - хранить имена песен в базе данных (или текстовом файле, если база недоступна).
    В противном случае надо каждый раз перебирать все файлы, чтобы получить полный их список, а потом уже разграничивать на десятке и выводить в соответствие с идентификатором.

    Вы подробнее опишите, какой вариант Вас интересует, тогда и поможем. Но выбирайте оптимальный...
     
  3. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Тоесть тебе нужно что бы на одной станице было 10 исполнителей, а если их больше то переносились на след. страницы? Постраничная навигация?
     
  4. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Ну допустим что у меня имена сохранены в Pesni.txt:
    1 аааааааа
    2 сссссссссс
    3 мммммммммммм
    ............................
    50.........................


    А как мне все это реализовать??? Какой код и куда вставлять????
     
  5. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0

    Да да да!!! Мне именно так и надо!!!!
     
  6. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Я согласен с Kreker. Лучше хранить все в базе данных, так все намного проще. Если же использовать базу, то можеш почитать здесь: http://www.tigercms.com/reads/274.php
    Тут все доступно написано и прокоментировано.
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    greenzlat
    PHP:
    1.  
    2. <?php
    3. $songs = file("Pesni.txt"); //Берем содержимое файла в массив
    4. $size = sizeof($songs); //Считаем кол-во песен (если их разное кол-во, иначе можно присвоить значение 50)
    5. $page = (isset($_GET["page"])) ? (int)$_GET["page"] : 1; // тут при присвоении текущего номера страницы выясняем, передается ли в строке запроса (браузера) номер страницы. Если передается, то его берем, при этом переводя в число (чтобы не взломали, подставив текст). Если номер страницы не передается, то присваивается 1.
    6. $pages = ceil($size/10); //Выясняем кол-во страниц по 10 песен и округляем в большую сторону
    7. if ($page <= $pages) { //если текущая страница попадает в диапазон песен
    8.    for ($i = ($page-1)*10; $i < $page*10; $i++) { //делаем перебор от 0-9 или 10-19 итд в зависимости от текущей страницы
    9.       echo $songs[$i] . "<br>";
    10.    }
    11. }
    12. ?>
    13.  
    Постарайся понять каждую строчку. Ссылки на другие страницы постарайся написать сам.
    Все функции можно поискать здесь: http://ru2.php.net/manual/ru/ref.filesystem.php
     
  8. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    А куда на странице вставлять код
     
  9. +Sten+

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

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    greenzlat, раз нет желания учить PHP, делай статичный HTML сайт и сам ручками добавляй песни и разбивай по страницам.
     
  10. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Это же самые основы PHP! Выучите хоть это. А то такие вопросы некоректны.
    +Sten+ +1
     
  11. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    greenzlat
    Попробуйте запустить его, тогда и поймете.
    На этом закончим пока.
     
  12. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Заработало почти!! На страницу из файла вывел по 10 строк, но почему то внизу нет ссылок на 2,3,4,5 и т.д. ссылок!!! И подскажите пожалуйста как сделать чтобы эти названия имели ссылки на соответствующий текст песни??? Спасибо за понимание!!!
     
  13. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    greenzlat
     
  14. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    как выводить второй десяток и дальше я разобрался!! А как сделать ссылки на каждый номер страницы????

    1 2 3 4 5 6 ... и т.д.
     
  15. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Думайте логически. Вы же программистом, вроде бы, хотите стать. В свое время я тоже на это потратил несколько часов расчетов на бумаге. Хотя теперь знаю, что это максимум с кодом займет 5 минут.
     
  16. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Разобрался я с этими ссылками!!! Спасибо большое за помощь!!! Но теперь у меня возникает такой вопрос:
    Сайт написан на php. Страницы формируются с помощью скриптов php и файлов .txt Будут ли они проиндексированю в поисковой??? Например у меня есть ссылка index.php?a=a по сути у меня же ее нет на сервере, она создается с помощью скрипта, следовательно и посетители не смогут ее найти через поисковую??? Как мне быть?? Хотелось бы послушать мнения профи!
     
  17. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    будут
     
  18. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  19. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    А почему так??? Код моей страницы, где размещен код php:
    Код (Text):
    1. <head>
    2. <title>111111111</title>
    3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    4. <link rel="stylesheet" href="mm_spa.css" type="text/css" />
    5. <meta name="description" content="">
    6. <meta name="keywords" content="">
    7. </head>
    8. <body bgcolor="#D2892D">
    9. <table width="991" border="0" cellpadding="0" cellspacing="0" background="images/fon.gif">
    10.    <tr>
    11.     <td height="167" colspan="5" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FEBB6C">
    12.          <tr>
    13.         <td height="60" colspan="2" valign="top"><img src="images/1_01.jpg" width="361" height="60" border="0"></td>
    14.           <td width="449" valign="top"><img src="images/1_02.jpg" width="449" height="60"></td>
    15.           <td width="190" rowspan="3" valign="top" bgcolor="#FBBD6A"><img src="images/1_03.jpg" width="190" height="151"></td>
    16.         </tr>
    17.       <tr>
    18.         <td height="91" colspan="2" valign="top" bgcolor="#FEBC68"><img src="images/1_04.jpg" width="361" height="91" border="0" usemap="#Map"></td>
    19.           <td rowspan="2" valign="top" bgcolor="#FEBB6C"><img src="images/1_05.jpg" width="449" height="91"></td>
    20.         </tr>
    21.       <tr>
    22.         <td width="73" height="16"></td>
    23.         <td width="288" valign="top" bgcolor="#FDBC6A"><img src="images/123.gif" width="176" height="16"></td>
    24.         </tr>
    25.            
    26.     </table></td>
    27.   </tr>
    28.   <tr>
    29.     <td width="73" height="28">&nbsp;</td>
    30.     <td width="176" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#f89f2f">
    31.       <!--DWLayoutTable-->
    32.       <tr>
    33.         <td width="176" height="69">&nbsp;</td>
    34.         </tr>
    35.      
    36.      
    37.      
    38.     </table></td>
    39.     <td width="61">&nbsp;</td>
    40.     <td width="500">&nbsp;</td>
    41.     <td width="190">&nbsp;</td>
    42.   </tr>
    43.   <tr>
    44.     <td height="41">&nbsp;</td>
    45.     <td>&nbsp;</td>
    46.     <td rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
    47.       <tr>
    48.         <td width="500" height="179" valign="top">
    49.         <p>
    50.           [b]<?php
    51. $messcount=10;
    52. $file_array=file("isplon.txt");
    53. $lines=count($file_array);
    54. if($lines%10) $pages=$lines/$messcount+1;
    55. else $pages=$lines/10;
    56. if($page==0||$page<0)
    57. {
    58. $page=2;
    59. }
    60.  
    61. $from=$lines-($page*$messcount-1);
    62. $to=$lines-(($page-1)*$messcount);
    63. if($from<0)
    64. {
    65. $from=2;
    66. }
    67.  
    68. $line="Страницы : |";
    69. for ($link=1;$link<=$pages;$link++)
    70. {
    71.    if ($link!=$page)
    72.    {
    73.       $line.="<a href=index.php?page=$link> $link </a> ";
    74.    }
    75.    if ($link==$page)
    76.    {
    77.       $line.="<b> $link </b>";
    78.    }
    79. }
    80.  
    81. print "$line |<br>";
    82.  
    83. for($i=$to-1;$i>=$from-1;$i--)
    84. {
    85.    print "$file_array[$i]<br>";
    86. }
    87. ?>[/b]
    88.          </p>
    89.         <p><a href="index.html"></a></p></td>
    90.       </tr>
    91.     </table>
    92.     </td>
    93.     <td>&nbsp;</td>
    94.   </tr>
    95.   <tr>
    96.     <td height="138">&nbsp;</td>
    97.     <td>&nbsp;</td>
    98.     <td>&nbsp;</td>
    99.     <td>&nbsp;</td>
    100.   </tr>
    101.   <tr>
    102.     <td height="333">&nbsp;</td>
    103.     <td>&nbsp;</td>
    104.     <td>&nbsp;</td>
    105.     <td>&nbsp;</td>
    106.     <td>&nbsp;</td>
    107.   </tr>
    108. </table>
    109.  
    110. <a href="index.html">
    111. <map name="Map">
    112.   <area shape="rect" coords="28,3,366,84" href="index.html">
    113. </map>
    114. </a>
    115. </body>
    116. </html>
    Когда загружаю index.php выдает такую ошибку:

    Notice: Undefined variable: page in z:\home\test2.ru\www\index.php on line 77

    [Денвер: показать возможную причину ошибки]Страницы : | 1 2 3 4 |


    И дальше идет список из моего .txt. А когда нажимаю на ссылку номера страницы (например: 1, то уже эта ошибка не появляется!!!???? Что сделать??? Спасибо!!!
     
  20. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Это переводится - "переменная не определена", что в свою очередь обозначает то, что вы несуществующую переменную (до ее объявления) где-то использовали и к ней обращались, пытаясь выведать какие-то о ней подробности (например, пустоту).

    Вот пример обращения к несуществующей переменной:
    PHP:
    1. <?php
    2. if ($variable == '') {
    3.    echo "Нет такого";
    4. }
    5. $variable = 1;
    6. ....
    7. //или
    8. echo $_POST["text"]; //будет выдавать ошибку при загрузке скрипта, но если пользователь отправит текст из формы, ошибки не будет.
    9. ?>
    Чтобы проверять существование переменной используйте функцию isset
     
  21. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Т.е. мне ее необходимо объявить сначала перед моим скриптом:
    Код (Text):
    1. <?php
    2. $messcount=10;
    3. $file_array=file("isplon.txt");
    4. $lines=count($file_array);
    5. if($lines%10) $pages=$lines/$messcount+1;
    6. else $pages=$lines/10;
    7. if($page==0||$page<0)
    8. {
    9. $page=1;
    10. }
    11.  
    12. $from=$lines-($page*$messcount-1);
    13. $to=$lines-(($page-1)*$messcount);
    14. if($from<0)
    15. {
    16. $from=1;
    17. }
    18.  
    19. $line="Страницы : |";
    20. for ($link=1;$link<=$pages;$link++)
    21. {
    22.    if ($link!=$page)
    23.    {
    24.       $line.="<a href=index.php?page=$link> $link </a> ";
    25.    }
    26.    if ($link==$page)
    27.    {
    28.       $line.="<b> $link </b>";
    29.    }
    30. }
    31.  
    32. print "$line |<br>";
    33.  
    34. for($i=$to-1;$i>=$from-1;$i--)
    35. {
    36.    print "$file_array[$i]<br>";
    37. }
    38. ?>
    ??????????
     
  22. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Все сделал!! Спасибо!!! Но проблема теперь в следующем:
    У меня на странице верхняя часть и меню слева вставляются из файлов с помощью функции:

    Код (Text):
    1. <?php include "menu.php" ?>
    Так проблема в том, что если файл куда вставляются menu.php находится не в корневом каталоге, а скажем в /ispoln/m.php рисунки файла menu.php не загружаются и пропадает CSS стиль этого файла, хотя он прописан в menu.php!!![/code]
     
  23. +Sten+

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

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    Это очень логично. Смотри HTML код в браузере. Раз указываеш относительный путь, картинки и стили ищутся относительно файла PHP. Хочеш универсальности - указывай полный путь http://site.com/image.jpg, а не просто image.jpg.

    Ссылки ты всё равно не будеш читать, посему давать не буду.
     
  24. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Дак у меня итак прописано:
    Код (Text):
    1. <img src="images/1_01.jpg"
    Каталог images находится в корне!!!
     
  25. greenzlat

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

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    дай ссылки почитаю!!!