2

夕方、

私が使用しているコードは次のとおりです。

<?php
/**
 * The template for displaying all pages.
 * Template Name: addserverindexoci
 * This is the template that displays all pages by default.
 * Please note that this is the WordPress construct of pages
 * and that other 'pages' on your WordPress site will use a
 * different template.
 *
 * @package WordPress
 * @subpackage Twenty_Twelve
 * @since Twenty Twelve 1.0
 */

get_header(); ?>




<div id="primary" class="site-content">
    <div id="content" role="main">



        <?php while ( have_posts() ) : the_post(); ?>
            <?php get_template_part( 'content', 'page' ); ?>
            <?php comments_template( '', true ); ?>

        <?php endwhile; // end of the loop. ?>

<table border="2" bordercolor="#000000" style="background-color:#FFFFFF" width="160%" cellpadding="1" cellspacing="0">  
    <td><font face="Arial, Helvetica, sans-serif">Server Name</font</td>
    <td><font face="Arial, Helvetica, sans-serif">Server Address</font</td>
    <td><font face="Arial, Helvetica, sans-serif">Server Port</font</td>
    <td><font face="Arial, Helvetica, sans-serif">Server Description</font</td>
    <td><font face="Arial, Helvetica, sans-serif"> Status</font</td>

<?php

mysql_connect("localhost", "", "") or die (mysql_error());
#echo "Connected to MYSQL ";
mysql_select_db("starforg_search") or die (mysql_error());
#echo "Connected to Data Base";
$query = "SELECT * FROM ";
$result = mysql_query ($query) or die (mysql_error());

$num=mysql_numrows($result);

mysql_close();


$i=0;
while ($i < $num) {


        $value = mysql_result($result,$i,"servername");
        $value2 = mysql_result($result,$i,"serveraddress");
        $value3 = mysql_result($result,$i,"portnumber");
        $value4 = mysql_result($result,$i,"description");

ob_start();

if (!$socket = @fsockopen($value2, $value3, $errno, $errstr, 1))
{
  echo "&nbsp;<font color='red'><CENTRE><strong> Server Is Offline!</strong></CENTRE></font>";
}
else 
{
 echo "&nbsp;<font color='green'><CENTRE><strong> Server Is Online!</strong></CENTRE></font>";  

  fclose($socket);
}
$status = ob_get_contents();
ob_end_clean();
?>


<tr>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $value; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $value2; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $value3; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $value4; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $status; ?></font</td>



<?
$i++;

}

?>  

</div><!-- #primary -->


<?php get_footer(); ?>

今欲しいもの while ループからわかるように、選択したフィールド内のすべてのデータを表示しようとしています。

すべてのデータが表示されるまでループ を続けたいと思っていますが、データはページの一番下に表示されますが、html などの終了タグを使用していないため、想定している < /tr>. 問題は、テーブルの終了タグを入力すると、ループが 1 回だけになり、フィールドに一連のデータが表示され、残りのデータがテーブル形式にならないことです。

質問 フィールドにすべてのデータを表示し続け、フッターをきれいに表示するループを取得するにはどうすればよいですか?

注:これが少し荒い場合は申し訳ありませんが、今日は病気です:(

4

3 に答える 3

1

これの何が問題なのですか?

<table border="2" bordercolor="#000000" style="background-color:#FFFFFF" width="160%" cellpadding="1" cellspacing="0">  
<tr>
    <td><font face="Arial, Helvetica, sans-serif">Server Name</font</td>
    <td><font face="Arial, Helvetica, sans-serif">Server Address</font</td>
    <td><font face="Arial, Helvetica, sans-serif">Server Port</font</td>
    <td><font face="Arial, Helvetica, sans-serif">Server Description</font</td>
    <td><font face="Arial, Helvetica, sans-serif"> Status</font</td>
</tr>
<?php

mysql_connect("localhost", "", "") or die (mysql_error());
#echo "Connected to MYSQL ";
mysql_select_db("starforg_search") or die (mysql_error());
#echo "Connected to Data Base";
$query = "SELECT * FROM tablename";
$result = mysql_query ($query) or die (mysql_error());

$num=mysql_numrows($result);

mysql_close();


$i=0;
while ($i < $num) {


        $value = mysql_result($result,$i,"servername");
        $value2 = mysql_result($result,$i,"serveraddress");
        $value3 = mysql_result($result,$i,"portnumber");
        $value4 = mysql_result($result,$i,"description");

ob_start();

if (!$socket = @fsockopen($value2, $value3, $errno, $errstr, 1))
{
  echo "&nbsp;<font color='red'><CENTRE><strong> Server Is Offline!</strong></CENTRE></font>";
}
else 
{
 echo "&nbsp;<font color='green'><CENTRE><strong> Server Is Online!</strong></CENTRE></font>";  

  fclose($socket);
}
$status = ob_get_contents();
ob_end_clean();
?>


<tr>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $value; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $value2; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $value3; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $value4; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $status; ?></font</td>
</tr>


<?
$i++;

}

?>  
</table>

クエリにテーブル名が見つかりません$query = "SELECT * FROM ";

于 2013-04-06T05:03:25.563 に答える
1
<?php while($row=mysql_fetch_array($result)){ ?>
<tr>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $row['servername']; ?></font</td>
     . 
     .
</tr>

<? } ?>

このようにも使えます。

于 2013-04-06T05:06:12.240 に答える
0
$query = "SELECT * FROM your table name";
$result = mysql_query ($query) or die (mysql_error());

$num=mysql_numrows($result);
while($row = mysql_fetch_array($result))
{
  ob_start();

if (!$socket = @fsockopen( $row['serveraddress'], $row['portnumber'], $errno, $errstr, 1))
{
  echo "&nbsp;<font color='red'><CENTRE><strong> Server Is Offline!</strong></CENTRE></font>";
}
else 
{
 echo "&nbsp;<font color='green'><CENTRE><strong> Server Is Online!</strong></CENTRE></font>";  

  fclose($socket);
}
$status = ob_get_contents();
ob_end_clean();?>
       <tr>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $row['servername']; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $row['serveraddress']; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $row['portnumber']; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $row['description']; ?></font</td>
    <td><font face="Arial, Helvetica, sans-serif"><? echo $status; ?></font</td>
<?php
 }

mysql_close();




?> 

これを試してください

于 2013-04-06T05:15:29.410 に答える