Вставьте длинный код в таблицу PHP td - PullRequest
1 голос
/ 10 июля 2011

Я создаю что-то похожее на «стену» на Facebook, где есть комментарии, за которыми следуют текстовые области, чтобы вставить больше комментариев. Я сделал это с помощью сгенерированной PHP таблицы, берущей переменные из базы данных mysql:

<?php
include 'connect.php';
$get=mysql_query("SELECT * FROM table WHERE $x='comments' ORDER by rank DESC");
echo '<table>';

while ($row=mysql_fetch_assoc($get)){
 echo '<tr>';
echo "<td>//DIV IN HERE!</td>";
 echo '</tr>';
echo '<tr>';
echo "<td><form> ... </form></td>";
echo '</tr>';

}

echo '</table>';
?>

Тем не менее, у меня есть настройка div, которую я хотел бы поместить в ячейку таблицы. Этот div имеет sub Div и эхо-информацию и, как правило, грязный. Я пытался включить этот div в td, но я получаю много ошибок, вероятно, потому что мне пришлось изменить все «на». Есть ли лучший способ, как я должен подходить к этому? Любая помощь очень ценится.

Ответы [ 3 ]

2 голосов
/ 10 июля 2011

Можете ли вы показать, как выглядит ваша таблица БД?

Кроме того, я бы порекомендовал не использовать таблицы в HTML для разделения контента (например, постов / комментариев).Что было бы лучше, это использовать div.Так, например, вам нужно что-то вроде

<div class="postContainer">
    <div class="postMsg">Hi there</div>
    <div class="postMsgComment">Hi to you, too!</div>
    <div class="postMsgComment">I want to join the fun!!!</div>
</div>

Здесь ваша таблица SQL будет иметь внешний ключ в вашей таблице комментариев, указывающий, для какой "настенной" записи она была предназначена.

Табл.Почта

|PostId |UserId |Дата |Сообщение |(..)

tbl.Comment

|CommentId |PostId |UserId |Дата |Сообщение |(..)

1 голос
/ 10 июля 2011

Похоже, самое время использовать строковый синтаксис HEREDOC

while ($row=mysql_fetch_assoc($get)){
  echo<<<HTML
  <tr>
    <td>
     <div> {$row['somevalue']} </div>
    </td>
  </tr>
  <tr>
    <td><form> ... </form></td>
  </tr>
HTML;
}
1 голос
/ 10 июля 2011

Похоже, в этом случае было бы намного проще перейти из PHP в HTML-разметку - таким образом вам не нужно беспокоиться о экранировании ' или ".

<?php
include 'connect.php';
$get=mysql_query("SELECT * FROM table WHERE $x='comments' ORDER by rank DESC");
echo '<table>';

while ($row=mysql_fetch_assoc($get)){
    ?>
    <tr>
        <td>
            <div>
                <?php echo $something; ?>
                <div id="sub-div"></div>
            </div>
        </td>
    </tr>
    <tr>
        <td><form> ... </form></td>
    </tr>
    <?php
}

echo '</table>';
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...