-4

以前に構築したサイトの一部を、現在作成中の別のサイトに配置できるようにする必要があります。ただし、どちらもphpに含まれており、構文に問題があります(つまり、「および」のサブセットが多すぎます)。このコードをどのように配置できますか。

        if(mysql_num_rows($result) == 0)
           {
    echo 'No categories defined yet.';
         }
          else
        {
    //prepare the table
    echo '<table border="1">
          <tr>
            <th>Category</th>
            <th>Last topic</th>
          </tr>';   

    while($row = mysql_fetch_assoc($result))
    {               
        echo '<tr>';
            echo '<td class="leftpart">';
                echo '<h3><a href="category.php?id=' . $row['cat_id'] . '">' . $row['cat_name'] . '</a></h3>' . $row['cat_description'];
            echo '</td>';
            echo '<td class="rightpart">';

            //fetch last topic for each cat
                $topicsql = "SELECT
                                topic_id,
                                topic_subject,
                                topic_date,
                                topic_cat
                            FROM
                                topics
                            WHERE
                                topic_cat = " . $row['cat_id'] . "
                            ORDER BY
                                topic_date
                            DESC
                            LIMIT
                                1";

                $topicsresult = mysql_query($topicsql);

                if(!$topicsresult)
                {
                    echo 'Last topic could not be displayed.';
                }
                else
                {
                    if(mysql_num_rows($topicsresult) == 0)
                    {
                        echo 'no topics';
                    }
                    else
                    {
                        while($topicrow = mysql_fetch_assoc($topicsresult))
                        echo '<a href="topic.php?id=' . $topicrow['topic_id'] . '">' . $topicrow['topic_subject'] . '</a> at ' . date('d-m-Y', strtotime($topicrow['topic_date']));
                    }
                }
            echo '</td>';
        echo '</tr>';
    }
}

このコードに(テーブル自体をdiv main内に配置し、ウェルカムの下に配置する必要があります)

    echo

      "<div id=holder>
      <div id='nav'>
      <a href='chat.php'>Chat with your friends!</a> 
      <br><br><a href='changepassword.php'>Change password</a><br><br>
      <a href='logout.php'>Logout</a> 
      </div>
      <div id='main'>
      Welcome, ".$_SESSION['user_name']."!





      </div> 
      </div>";

            //fetch last topic for each cat
                $topicsql = "SELECT
                                topic_id,
                                topic_subject,
                                topic_date,
                                topic_cat
                            FROM
                                topics
                            WHERE
                                topic_cat = " .           $row['cat_id'] . "
                            ORDER BY
                                topic_date
                            DESC
                            LIMIT
                                1";

                $topicsresult = mysql_query($topicsql);

                if(!$topicsresult)
                {
                    echo 'Last topic could not be displayed.';
                }
                else
                {
                    if(mysql_num_rows($topicsresult) == 0)
                    {
                        echo 'no topics';
                    }
                    else
                    {
                        while($topicrow =           mysql_fetch_assoc($topicsresult))
                        echo '<a href="topic.php?id=' .                     $topicrow['topic_id'] . '">' . $topicrow['topic_subject'] . '</a> at ' . date('d-m-Y',           strtotime($topicrow['topic_date']));
                    }
                }
            echo '</td>';
        echo '</tr>';
    }
   }
      };

これはかなり複雑だと思いますが、現時点では構文に迷っています。誰かがこれについて少し助けてくれたら、とてもありがたいです。

4

2 に答える 2

1

両方のファイルを同じ場所に配置できると仮定するとinclude、ファイル内のテーブルに「ようこそ」というメッセージが表示されたファイルを作成できます。

echo "
<div id=holder>
  <div id='nav'>
    <a href='chat.php'>Chat with your friends!</a> 
    <br><br>
    <a href='changepassword.php'>Change password</a>
    <br><br>
    <a href='logout.php'>Logout</a> 
  </div>
  <div id='main'>
    Welcome, ".$_SESSION['user_name']."!";

    include("path_to_the_table_file.php");

  echo "
  </div> 
</div>";

...

ドキュメントへのリンク: includeステートメントは、指定されたファイルをインクルードして評価します。

于 2012-06-03T01:22:01.967 に答える
1

知ってますか?複雑なエコー構文をいじる必要はありません。これも機能します:

<div id=holder>
<div id='nav'>
<a href='chat.php'>Chat with your friends!</a> 
<br><br><a href='changepassword.php'>Change password</a><br><br>
<a href='logout.php'>Logout</a> 
</div>
<div id='main'>
Welcome, <?php echo $_SESSION['user_name'] ?>!

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

</div> 
</div>

<?php

        //fetch last topic for each cat
            $topicsql = "SELECT
                            topic_id,
                            topic_subject,
                            topic_date,
                            topic_cat
                        FROM
                            topics
                        WHERE
                            topic_cat = " .           $row['cat_id'] . "
                        ORDER BY
                            topic_date
                        DESC
                        LIMIT
                            1";

            $topicsresult = mysql_query($topicsql);

            if(!$topicsresult)
            {
                echo 'Last topic could not be displayed.';
            }
            else
            {
                if(mysql_num_rows($topicsresult) == 0)
                {
                    echo 'no topics';
                }
                else
                {
                    while($topicrow =           mysql_fetch_assoc($topicsresult))
                    echo '<a href="topic.php?id=' .                     $topicrow['topic_id'] . '">' . $topicrow['topic_subject'] . '</a> at ' . date('d-m-Y',           strtotime($topicrow['topic_date']));
                }
            }
        echo '</td>';
    echo '</tr>';
}
}
  };

?>
于 2012-06-03T01:26:52.807 に答える