ФорумПрограммированиеPHP для идиотов → Вывод данных из БД

Вывод данных из БД

  • fonzerel

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 7 июня 2011 г. 15:18

    Здравствуйте, помогите пожлсто, есть таблица ЛЕКЦИИ и два скрипта один выводит список тем, др текст, как сделать чтобы при выборе темы (поле tema) выводилось соответствующее ей содержание (поле text), пока при выборе темы выводятся все записи(
    вот таблица
    CREATE TABLE IF NOT EXISTS `Lecture` (
     `id` int(4) unsigned NOT NULL AUTO_INCREMENT,
     `tema` varchar(200) NOT NULL COMMENT 'название темы',
     `text` text NOT NULL COMMENT 'содержание',
     PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 COMMENT='Лекции' AUTO_INCREMENT=20 ;


    с.php выводит список тем
    <?php include 'connect.php';

      $result = mysql_query('SELECT id, tema FROM lecture');
      echo "<dl>";
      while ($row = mysql_fetch_array($result))
          {
          echo "<dt>";
          echo "<a href='c1.php?tema=".$row['id']."'>".$row['tema']."</a>";
          echo "</dt>";
          }
      echo "</dl>";
      ?>


    c1.php выводит содержание всех записей
    <?php  include 'connect.php';

    $result = mysql_query('SELECT id, text FROM lecture ');
                           echo '<table width="100%">';
                      while ($row = mysql_fetch_array($result))
                        {
                          echo '<tr><td>'.$row['text'].'</td></tr>';
                         }
                        echo '</table>';
    ?>

    нужно чтоб выводило одну конкретную запись при выборе записи в c.php  
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 7 июня 2011 г. 15:20, спустя 2 минуты 51 секунду

    нужно чтоб выводило одну конкретную запись

    в sql запрос добавь условие WHERE `id` = (int)$id
  • fonzerel

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 7 июня 2011 г. 15:56, спустя 35 минут 10 секунд

    добавила
    $result = mysql_query('SELECT id, text FROM lecture WHERE `id` = (int)$id');

    выдает ошибку Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
    на эту строку while ($row = mysql_fetch_array($result))
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 7 июня 2011 г. 16:50, спустя 54 минуты 36 секунд


    $result = mysql_query('SELECT `id`, `text` FROM `lecture` WHERE `id` = '.(int)$id);
    не всё полезно, что в swap полезло
  • fonzerel

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 7 июня 2011 г. 21:23, спустя 4 часа 32 минуты 24 секунды

    Поправила, но записи не выводит, пустая страница
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 7 июня 2011 г. 22:04, спустя 40 минут 55 секунд

    fonzerel, лабораторную работу небось делашь?
    не всё полезно, что в swap полезло
  • fonzerel

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 7 июня 2011 г. 22:21, спустя 17 минут 57 секунд

    хуже, дипломную(((
  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 7 июня 2011 г. 22:40, спустя 18 минут 59 секунд

    То есть это твоя специальность, раз дипломная. Капец, вот вам пример молодого почти дипломированного специалиста.
    Отделы кадров ждут тебя.
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 7 июня 2011 г. 22:42, спустя 1 минуту 40 секунд

    artoodetoo, да на программистов то похуй - ничо не могут ну и насрать, а вот то что щас с таким же "рвением" учатся врачи и всякие службы - вот тут пиздец точно, ну еще можно привлечь специальности аля "Государственное управление", тоже хуйня полная а не студенты
    Сапожник без сапог
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 7 июня 2011 г. 23:22, спустя 40 минут 18 секунд

    хуже, дипломную(((

    понятно. придётся сиськи показывать, иначе никак
    не всё полезно, что в swap полезло
  • fonzerel

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 7 июня 2011 г. 23:33, спустя 10 минут 45 секунд

    бугага))) (.)(.)
    то, что из меня программист никудышный это понятно, не судьба, наверно, мне проще комп собрать, чем скрипт написать)
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 7 июня 2011 г. 23:38, спустя 4 минуты 48 секунд

    fonzerel, тебе слова отладка запроса что-нибудь говорят?
  • fonzerel

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 7 июня 2011 г. 23:49, спустя 11 минут 23 секунды

    <?php  include 'connect.php';

    $q = 'SELECT `id`, `text` FROM `lecture` WHERE `id` = '.(int)$id;
    $res = mysql_query($q)or die(mysql_error() ."<br/>". $q);
    if ( !$res || mysql_num_rows($res) === 0 ) { echo '<center>ErroR</center>'; }
       else {
                           echo '<table width="100%">';
                      while ($row = mysql_fetch_array($result))
                        {
                          echo '<tr><td>'.$row['text'].'</td></tr>';
                         }
                        echo '</table>';  }
    ?>

    вот сделала что-то похожее на отладку, правильно? выводит error
    а без условия продолжает выводить ошибку Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
    Спустя 53 сек.
    я вот думаю может как-то через $_GET получать этот id?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 7 июня 2011 г. 23:54, спустя 4 минуты 21 секунду

    fonzerel, наверное в переменную $id нужно что-то передавать, с реквеста например.
    Спустя 90 сек.
    я вот думаю может как-то через $_GET получать этот id?

    верно, $id = $_GET['theme_id'];
    или $id = $_POST['theme_id'];

    зависит от того, как ты будешь передавать данные.
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 7 июня 2011 г. 23:58, спустя 3 минуты 49 секунд


    вот сделала что-то похожее на отладку, правильно? выводит error
    Неправильно. Отладка это, когда ты выводишь на печать сам SQL запрос. Запрос, блеать, а не код, который его формирует!!! Смотришь что получилось, при необходимости выполняешь его напрямую, без всякого php. Добиваешься его работы, а потом уже правишь php, чтоб он формировал правильный запрос.


    я вот думаю может как-то через $_GET получать этот id?
    Ну как минимум его надо хоть как-то получать или расчитывать (я хз что тебе надо), прежде чем подставлять в запрос.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!