Jump to content
  • 0

Как вывести данные из БД в HTML-таблицу


Gotar
 Share

Question

Всем доброго времени суток.

У меня на сайте есть таблица в БД, в которой созданы следующие столбцы: id (понятно) name (заголовок статьи) main_image (логотип статьи) text ( сам текст статьи)

Далее пишу пхп-скрипт вывода списка статей. В этом списке выводится лишь заголовок-ссылка (при клике переходим на страницу обзора данной статьи) и логотип статьи.

<? include ("header.php"); ?>

<div id="main_bg">

<div id="main_wrapper">

<div class="CheckUg_top">

<? include $_SERVER['DOCUMENT_ROOT']."/include/configure/db.php";

$check_base = mysql_query ("SELECT * FROM base");

$check_data = mysql_num_rows($check_base);

$res_base = mysql_query("SELECT * FROM base");

$table = "<table border=1 class='table'>";

while($row_base = mysql_fetch_array($res_base)) {

$template = "<table class='CheckUg_tableBase' width='427'>

<tr><td><a href=\"/ug_check_view.php?id=$row_base[id] \">$row_base[name]</a></td></tr>

<tr><td class='CheckUg_tdImg'> <img src=\"$row_base[main_image] \" /> </td></tr>

</table></td>";

А вот здесь собственно и возникает проблема. В этой части кода я пишу проверку. Если в БД нет записей - выводим сообщение "в базе данных нет информации". Если в БД содержится 1 запись - выводим $tamplate.

С этим все ок...дальше самое непонятное.

Если в БД содержится 2 записи - необходимо вывести их в одной строке, но в ДВУХ столбцах.

А если же в БД содержится 3 и более записей, тогда необходимо их выводить каждую статью в новой строке <tr></tr> И в каждой строке должно быть два столбца. И так до тех пор, пока в БД есть информация.

?>

</div>

<div id="CheckUg_footer"></div>

</div>

</div>

<? include ("footer.php"); ?>

подскажите, как мне сделать так, чтобы информация из таблицы выводилась именно так, как я хочу...

Edited by Gotar
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

изначально подход не правильный. Ты сразу начинаешь вывод, а для твоих условий нужна сначала проверка и потом перенаправление на разные реализации.

должно получится что-то типа такого

$template = '';
if(count($res_base)){
$template .= "<table class='CheckUg_tableBase' width='427'>"
if(count($res_base)==2){
// тут реализуешь вывод в два столбца
// механизмов много, но можешь просто два раза использовать mysql_fetch_array()
}else{
// ну а тут просто прогоняешь весь массив и выводишь
}
$template .= "</table>";
}else{
$template .= "Ничего нет".
}
echo $template;

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy