За последние 24 часа нас посетили 20172 программиста и 1572 робота. Сейчас ищет 1981 программист ...

Прокомментировать пару непонятных мест

Тема в разделе "PHP и базы данных", создана пользователем Golovastik, 21 сен 2010.

  1. Golovastik

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

    С нами с:
    14 июл 2010
    Сообщения:
    193
    Симпатии:
    0
    Расшифруйте пож. пару мест непонятных из этого кода, я написал в комментариях.
    А именно вот эти строки:
    Код (Text):
    1.  
    2. 1)$result = mysql_query("SELECT * from $table ORDER by id desc");
    3. Этоо означает выбрать из таблицы все строки сортируя их в обратном порядке, это зачем делать?
    2)
    Код (Text):
    1.  
    2.  $num_rows = mysql_num_rows($result); Зачем считать кол-во записей в таблице,я так понял это кол-во строк
    3)
    Код (Text):
    1.  
    2.  $num_rows = round($num_rows/$chislo);
    3. Зачем здесь функция раунд? И у меня 20 записей, почему на первой странице выводит 5 записей, а на 2 и 3 по 10?
    4)
    Код (Text):
    1.  
    2. ($_GET['str'])) //Откуда взялась переменная str в глобальном массиве?
    5)
    Код (Text):
    1.  
    2.  $nav = intval($nav); //Вот это место зачем писать?
    6)
    Код (Text):
    1.  
    2.  for ($i=1; $i<$num_rows; $i++) { //А чему переменная num_rows равна,где она получает значения?
    3.     if ($i != $nav) { //А это что за проверка странная?
    4.     echo '<a href="'.$PHP_SELF.'?str='.$i.'">'.$i.'</a> ';//Вот этот кусок желательно растолкуйте понятней ?str и пхп_селф
    5.     }
    6.     else {
    7.     // АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
    8.     echo '<span>'.$i.'</span> ';  //Что это за вывод переменной $i и чему эта переменная будет равна?
    9.     }
    10.     }
    7)
    Код (Text):
    1.  
    2. if (!isset($_GET['str'])) { //Что это за проверка и откуда взялась переменная стр в глобальном массиве,что она делает?
    8)Последнее,непонятное вот это растолкуйте пож. подробней
    Код (Text):
    1.  
    2.  '.substr($row['text'],0,100).'.. <a href="text.php?nomer='.$row['id'].'">>></a></p>';

    Код (Text):
    1.  
    2. <?
    3.  
    4.     $server = 'localhost'; // ИМЯ СЕРВЕРА
    5.     $user = 'ptisa'; // ПОЛЬЗОВАТЕЛЬ
    6.     $pass = '12345'; // ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ
    7.  
    8.     $db = 'video'; // БАЗА ДАННЫХ
    9.     $table = 'lessons'; // НАЗВАНИЕ ТАБЛИЦЫ
    10.  
    11.     $chislo = 5; // ЧИСЛО СООБЩЕНИЙ НА СТРАНИЦЕ
    12.  
    13.     // ДЛЯ УДОБСТВА ОБОЗНАЧИМ ПЕРЕМЕННУЮ С ТЕКСТОМ ОШИБКИ
    14.     $text_error = '<br />Ошибочка вышла!';
    15.  
    16.     // СОЕДЕНИМСЯ С MySQL
    17.     $connect = mysql_connect ($server, $user, $pass);
    18.     if (!$connect) {
    19.     echo $text_error;
    20.     exit;
    21.     }
    22.  
    23.     // СОЕДЕНИЯЕМСЯ С БАЗОЙ ДАННЫХ
    24.     $select = mysql_select_db($db);
    25.     if (!$select) {
    26.     echo $text_error;
    27.     exit;
    28.     }
    29.  
    30.  
    31.     // СОЗДАЁМ ЗАПРОС
    32.     $result = mysql_query("SELECT * from $table ORDER by id desc");
    33.     // СЧИТАЕМ КОЛЛИЧЕСТВО ЗАПИСЕЙ В ТАБЛИЦЕ - У МЕНЯ ИХ 20
    34.     $num_rows = mysql_num_rows($result); // Это подсчёт из скольки строк состоит табл. зачем это делать?
    35.  
    36.   // А ТЕПЕРЬ СЧИТАЕМ НА СКОЛЬКО СТРАНИЦ НАМ РАЗБИТЬ ЗАПИСИ И ВЫДЕЛЯЕМ ЦЕЛОЕ ЧИСЛО
    37.     $num_rows = round($num_rows/$chislo); //Зачем здесь функция round?
    38.  
    39.  
    40.     // ЗДЕСЬ МЫ ПРОВЕРЯЕМ НА КАКОЙ СТРАНИЦЕ СЕЙЧАС ПОЛЬЗОВАТЕЛЬ
    41.     if (isset($_GET['str'])) {
    42.     $nav = $_GET['str'];
    43.     }
    44.     else {
    45.     $nav = 0;
    46.     }
    47.     $nav = intval($nav); // Смысл этой строки, зачем? Что делает интвал с переменной nav?
    48.     echo 'Навигация: ';
    49.  
    50.     // А ТЕПЕРЬ ВЫВОДИМ НОМЕРА СТРАНЦ
    51.     for ($i=1; $i<$num_rows; $i++) { //Если у меня 20 записей в базе значит здесь будет от 1 до 4?
    52.     if ($i != $nav) {  ..Что это за проверка и зачем?
    53.     echo '<a href="'.$PHP_SELF.'?str='.$i.'">'.$i.'</a> '; //прокомментируйте вот это место подробнее
    54.     }
    55.     else {
    56.     // АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
    57.     echo '<span>'.$i.'</span> '; //Что это за вывод?
    58.     }
    59.     }
    60.  
    61.     echo '<hr />'; // ОТДЕЛИМ НАВИГАЦЮ ОТ КОНТЕНТА ДЛЯ НАГЛЯДНОСТИ
    62.  
    63.     // НАЧИНАЕМ ВЫВОДИТЬ САМУ ИНФОРМАЦИЮ ПОСТРАНИЧНО :)
    64.     if (!isset($_GET['str'])) {
    65.     $str = 0;
    66.     }
    67.     else {
    68.     $str = $_GET['str']*$chislo - $chislo;
    69.     }
    70.     $nomer = $str + 5;
    71.     // ФОРМИРУЕМ ЗАПРОС НУЖНОЙ НАМ ЧАСТИ ИНФОРМАЦИИ
    72.     $result = mysql_query("SELECT * from $table ORDER by id asc limit $str, $nomer");
    73.     // ИНАЧЕ ВЫВОДИМ ОШИБКУ
    74.     if (!$result) {
    75.     echo $text_error;
    76.     exit;
    77.     }
    78.  
    79.     echo '<div style="width: 40%;">';
    80.     while ($row = mysql_fetch_array($result)) {
    81.     echo '<p>'.$row['id'].' - <strong>'.$row['page'].'</strong>
    82.     <br />
    83.     '.substr($row['text'],0,100).'.. <a href="text.php?nomer='.$row['id'].'">>></a></p>';
    84.     }
    85.     echo '</div>';
    86.  
    87.     mysql_close($connect);
    88.  
    89. ?>
     
  2. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    для большинства вопросов "зачем" сначала надо ответить на "что я хочу сделать?"

    что вообще делает весь этот код?
     
  3. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    пистец какойто. открой мануал и почитай для чего функция. нахрен ты свою бредятину тут выкладываешь, если ждешь все готовое? стырил чужой скрипт, так хоть изучи сам.
     
  4. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Апельсин
    ну почему же "стыбрил". Может "на работу" устроился :)
     
  5. vasa_c

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

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    1. да откуда нам знать?
    2. да откуда нам знать?
    3. да откуда нам знать?
    4. да откуда нам знать?
    5. да откуда нам знать?
    6. да откуда нам знать?
    7. да откуда нам знать?
    8. да откуда нам знать?
     
  6. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Попов на работу приглашает уже чтоли?
     
  7. Mat

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

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    Нет! Это хороший анализ!!! Одобряю такой подход, но действительно на все вопросы нужно отвечать самому, и почитать книжки... по каждому своему вопросу бери функцию и иди на http://php.net
     
  8. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    это результат
    ?
     
  9. admyx

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

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Gromo
    А в чем ты с ним не согласен?
     
  10. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    admyx
    просто интересно, насколько сильно нужно столкнуться с ПХП,
    чтобы наблюдать такой результат :-D

    так, на будущее, чтобы знать, когда отступить.
    или уже поздно?
     
  11. Mat

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

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    Это подпись как бе.... и почти цитата, а что не так? :D

    зы:
    Кстати, какое то время они-'подписи' не работали, я хз откуда их восстановили, ну раз уж есть, то пусть будет :D