За последние 24 часа нас посетили 19012 программистов и 1616 роботов. Сейчас ищет 721 программист ...

Красивый вывод из БД

Тема в разделе "PHP для новичков", создана пользователем AkiraDio, 31 окт 2011.

  1. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Доброго времени суток.

    на страницу к примеру Раздел_1 выводятся данные из БД вот так:

    Код (Text):
    1.  
    2.  
    3. $result = mysql_query("SELECT * FROM tablica",$db);
    4. do
    5. {
    6. echo $myrow['name'] ."<br>";
    7.  
    8. }
    9. while($myrow = mysql_fetch_array($result));

    Данные вводятся через форму. Конечно если вводить данные в хтмл коде, то выводится он будет красиво с его учетом(рамка, табличка и т.д)

    Не могу понять как сделать форму красивого вывода данных.

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

    Если что, прошу прощения. Занимаюсь пхп совсем немного, и только постигаю)
     
  2. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Поищите на форуме или в гугле "шаблонизатор"
     
  3. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Спасибо, буду разбиратся!
     
  4. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Ухххх, может подскажете где можно найти мануал пошагового создания шаблонизатора(самого простейшего) с обьяснениниями для тупого чайника? Я ведь только учусь) А разбирать 2 страницы чужого кода без толкового обьяснения мне очень трудно, я бы даже сказал невозможно. Использовать чужие скаченные скрипты не хочу, так как мне надо самому научится.
     
  5. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  6. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Почитал, но не совсем понял....
    Может подскажете как его сделать на моём примере?
    Из БД должны воводится поля title и body.
    Мне главное понять принцип и суть, а остальное сам додумаю и доделаю.
     
  7. FalkoN

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

    С нами с:
    1 апр 2011
    Сообщения:
    184
    Симпатии:
    0
    Адрес:
    Екатеринбург
    AkiraDio
    Мне думается, оно Вам надо?
    Это актуально, когда имеет место совместная работа дизайнера и программера.
    Если код страницы используется Вами единолично (а это пока скорее всего так и есть), то в своем коде Вы разберетесь.
    Я вообще на своей практике не сталкивался с необходимостью шаблонизации.
    Я обычно создаю страницу на HTML и в этот HTML инклудами вставляю изменяющийся контент.
    По-моему, очень удобно.
     
  8. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Может вы и правы.... Надо подумать.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Теги html учите, сэр, и используйте. А пхп и так уже шаблонизатор.
     
  10. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Возникла следующая проблема.
    Имеем:
    ins.php
    Код (Text):
    1.  
    2. <?php
    3.  
    4. include("config/config.php");
    5. include("config/cod.php");
    6.  
    7. $result = mysql_query("SELECT * FROM news",$db);
    8. $myrow = mysql_fetch_array($result);
    9.  
    10. ?>
    ins2.php
    Код (Text):
    1.  
    2. <?php
    3. include("ins.php")
    4.  
    5. ?>
    6.  
    7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    8. <html xmlns="http://www.w3.org/1999/xhtml">
    9. <head>
    10. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    11. <title>Документ без названия</title>
    12. </head>
    13.  
    14. <body>
    15. <table width="728" height="441" border="1">
    16.   <tr>
    17.     <th height="31" scope="col"><?php echo $myrow['title'] ?></th>
    18.   </tr>
    19.   <tr>
    20.     <th height="402" scope="col"><?php echo $myrow['body'] ?></th>
    21.   </tr>
    22. </table>
    23. </body>
    24. </html>
    Как сделать вывод на страницу сайта, данных из БД в таком виде?
    У меня к примеру есть 5 новостей в базе данных, и нужно что бы все 5 выводились в своей таблице.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ответ есть в твоем первом сообщении. Чутка наморщи лоб =)
     
  12. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Да я и сам понимаю, но вот додуматся не могу. Практики в таких вещах очень мало. Буду благодарен, если подскажете как правильно цикл записать в таком случае.
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    До цикла открываешь таблицу и называешь колонки. Рекомендую юзать теги <th> в этом месте. Зачем - смотри их описание на htmlbook.ru

    В цикле выводишь строки.

    После цикла </table>


    До цикла нужно проверить что есть что выводить. В противном случае надо сказать, что нечего. =)
     
  14. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    igordata
    Извените... Но я не понял... Хоть это и нагло, но может напише как должно быть? Мне главное разобратся на примере, и все пойму.
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    В инете глянь ;)
     
  16. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Ну да, ведь так просто,а я вот где сейчас?
    Меня не надо что бы была одна таблица(она только для примера, формы вывода), а каждая "новость", была в своей.
     
  17. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Тьма примеров есть и на этом форуме. Вот из сегодняшнего:
    http://www.php.ru/forum/viewtopic.php?p=300208#300208
    Только тут данные для каждой строки (читай статьи, новости) выводятся просто ввиде текста. Додумаешь сам, как оформить этот вывод в таблицу?
     
  18. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Просто надоедает отвечать одно и тоже по сто раз людям, которым лень разобраться в элементарнейших вещах и почитать статьи, поискать информацию.
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    AkiraDio
    Ты пробуй. Сразу поймешь.
     
  20. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Это понятно! И ясно. Я сам так первый раз зделал, тоесть из БД выводились все поля, которые есть в базе данных(таким же циклом).
    Проблема то в другом!
    Как сделать так, что бы для каждой пары(боди, титл) создавалась своя таблица. Тоесть если в таблице 15 записей было, то создатся 15 таблиц. Я понимю что тоже циклом. Но как?
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Внутри цикла всю таблицу и напиши. Будут тебе выводиться эти таблицы. =)

    Давай уже пробуй!
     
  22. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Хм...
    Если сделать так
    Код (Text):
    1.  
    2. <?php
    3. include("ins.php")
    4.  
    5. ?>
    6.  
    7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    8. <html xmlns="http://www.w3.org/1999/xhtml">
    9. <head>
    10. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    11. <title>Документ без названия</title>
    12. </head>
    13.  
    14. <?php
    15. <body>
    16. <table width="728" height="441" border="1">
    17.   <tr>
    18.     <th height="31" scope="col">echo $myrow['title']</th>
    19.   </tr>
    20.   <tr>
    21.     <th height="402" scope="col">echo $myrow['body']</th>
    22.   </tr>
    23. </table>
    24. ?>
    25.  
    26. </body>
    27. </html>
    То будет выводится ошибка:
    Тоже самое если погрузить ее в цикл.
     
  23. AkiraDio

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

    С нами с:
    31 окт 2011
    Сообщения:
    25
    Симпатии:
    0
    Что делать?
    Ну извените вы меня! Но мне надо разобратся на практике.
     
  24. FalkoN

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

    С нами с:
    1 апр 2011
    Сообщения:
    184
    Симпатии:
    0
    Адрес:
    Екатеринбург
    самое простое:
    <?
    PHP:
    1. while($myrow = mysql_fetch_array($result))
    2. {
    3. ?>
    4.  <table width="728" height="441" border="1">
    5.    <tr>
    6.      <th height="31" scope="col">echo $myrow['title']</th>
    7.    </tr>
    8.    <tr>
    9.      <th height="402" scope="col">echo $myrow['body']</th>
    10.    </tr>
    11.  </table>
    12. <?
    13. }
    14. ?>
    15.  
    Выведется столько таблиц, сколько строк значений найдется в базе
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    AkiraDio
    Ты точку с запятой после инклуда не поставил. Не паникуй.

    В тело цикла засунь свою таблицу.