2017-10-25 1 views
1

テーブルにデータベース情報を入力する必要があります。しかし、エコーされたHTMLは、(テーブルの中で)私が行くと予想されるDOMに挿入されていません。代わりにテーブルの上に着きます。不思議なことに、それは<h1>タグの下にあるので、コンテンツがページに読み込まれる前にエコーが起こっていないことがわかります。動的なコンテンツを検査テーブルのデータが内部ではなくテーブルの上にエコーする

photo demonstrating the case

は私のタグのいずれも含まれていないことを明らかにし、すべてのデータが1つの文字列としてダンプ。

私は間違って何をしているのですか、またはテーブルデータが実際にテーブルに格納されていることを確認する別の方法がありますか?

HTML

<h1>Contact Us Form Data</h1> 

    <table> 

     <thead> 
      <tr> 
       <th>First Name</th> 
       <th>Last Name</th> 
       <th>Email</th> 
       <th>Interest</th> 
       <th>Employment</th> 
       <th>City</th> 
       <th>State</th> 
       <th>Date</th> 
      </tr> 
     </thead> 
     <tbody> 
     <?php echo display_records() ?> 
     </tbody> 

    </table> 

PHP

function fetch_records() { 
    $dbhost = "localhost"; 
    $dbuname = "user"; 
    $dbpass = "pass"; 
    $dbname = "db_dev"; 
    $conn = mysqli_connect($dbhost, $dbuname, $dbpass, $dbname); 

    $query = " 
    SELECT * FROM `contact_us_form` 
    "; 

    return mysqli_query($conn, $query); 
} 

function record_to_html($record) { 
    $html = "<td>" . 
     "<tr>" . $record->first_name . "</tr>" . 
     "<tr>" . $record->last_name . "</tr>" . 
     "<tr>" . $record->email . "</tr>" . 
     "<tr>" . $record->interest . "</tr>" . 
     "<tr>" . $record->employment . "</tr>" . 
     "<tr>" . $record->city . "</tr>" . 
     "<tr>" . $record->state . "</tr>" . 
     "<tr>" . $record->date . "</tr>" . 
    "</td>"; 

    return $html; 
} 

function display_records() { 
    $result = fetch_records(); 

    $html = ""; 

    while ($row = $result->fetch_object()) { 
     $html .= record_to_html($row); 
    } 

    return $html; 
} 
+1

あなたはTDとTRを混合しています。 – FirstOne

答えて

1

は、問題は、このコードです:

$html = "<td>" . 
    "<tr>" . $record->first_name . "</tr>" . 
    "<tr>" . $record->last_name . "</tr>" . 
    "<tr>" . $record->email . "</tr>" . 
    "<tr>" . $record->interest . "</tr>" . 
    "<tr>" . $record->employment . "</tr>" . 
    "<tr>" . $record->city . "</tr>" . 
    "<tr>" . $record->state . "</tr>" . 
    "<tr>" . $record->date . "</tr>" . 
"</td>"; 

<tr></tr>はでなければなりませんおよび</td>であり、逆もまた同様である。

+0

derp - ありがとう。それはそれだった。 – Naltroc

関連する問題