2017-02-22 13 views
-1

私はデータベースからいくつかのデータを選択し、それをHTMLで表示しようとしています。Echo something into div MySQLのPHP

私は以下のコードは動作すると思ったが、そうではないと思った。

代わりにどのようなコードを使用しますか?

CSSはまだそのように機能していますか?この代わりにエコーコード

echo "<div id='".$row['id']."'>".$row['vraag']."</div>"; 

<!DOCTYPE html> 
<html> 
<head> 
    <link rel="stylesheet" type="text/css" href="se.css"> 
    <title>Lotto</title> 
</head> 
<body> 
    <?php 
    $dbhost = "localhost"; 
    $dbuser = "root"; 
    $dbpass = ""; 
    $dbname = "lotto"; 
    $db = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname); 

    $query = "SELECT id, vraag, AntwA, AntwB, AntwC, AntwD,id FROM vraag1"; 
    $rows = mysqli_query($db, $query); 

    while($row = mysqli_fetch_assoc($rows)) 
    { 
     echo "<div id='Vraag'>$row["vraag"];</div>"; 
    } 
    ?> 
    <div id="headerbg"></div> 
    <center> 
     <h1>Vraag 1</h1> 
    </center> 
    <center> 
     <div> 
      <img src="antw.png" id="img6"> 
     </div> 

     <div id="plaatje"> 
      <img id="img1" src="wip.jpg"> 
     </div> 
     <div id="BGantA"> 
      <img id="img2" src="antw.png"> 
     </div> 
     <div id="antA"> 
      <a href="#" id="antAA">Antwoord A</a> 
     </div> 
     <div> 
      <img src="antw.png" id="img3"> 
     </div> 
     <div> 
      <a href="#" id="antBB">Antwoord B</a> 
     </div> 
     <div> 
      <img src="antw.png" id="img4"> 
     </div> 
     <div> 
      <a href="#" id="antCC">Antwoord C</a> 
     </div> 
     <div> 
      <img src="antw.png" id="img5"> 
     </div> 
     <div> 
      <a href="#" id="antDD">Antwoord D</a> 
     </div> 
    </center> 
</body> 
</html> 
+0

"何も起こらない"場合、クエリは失敗しました(そしてログに関するいくつかのエラー/警告が表示される)か、返された行がなかったので、 'echo $ rows-> num_rows; 'クエリの後に。そのような各部門に同じIDを使用しないでください.IDは常に一意でなければなりません。エラーをチェックするには、 '<?php error_reporting(E_ALL);を追加します。 ini_set( "display_errors"、1); 'をファイルの先頭に追加し、' $ db-> error'を使用してクエリからエラーを取得します。 http://php.net/mysqli.error、EDIT: 'echo"

".$row["vraag"]."
";代わりに – Qirel

+2

' while($行= mysqli_fetch_assoc($行)) { エコー "

$row["vraag"];
"; } 'これは同じIDで多くのダイビングを繰り返すことになります –

+1

今日もこの質問をしたと思いますが、あなたは複数のアカウントを持っています。これは先ほどお尋ねした質問と同じです。ここで確認してください:http://stackoverflow.com/questions/42386579/echo-something-out-mysql-database/42387746#42387746 –

答えて

0

使用は、それはあなたを助けるだと思います。

0

あなたの構文は次のwrong.Changeあなたのコードです:

while($row = mysqli_fetch_assoc($rows)) 
    { 
     echo "<div id='Vraag'>".$row["vraag"]."</div>"; 
    } 

注:各カウンタを使用DIVに異なるIDを取得するには(あなたがあなたのテーブルIDを使用することができます)。

+0

エラーは消えていますが、画面上に何も表示されないか、IDが何も起こらなかったのですか? CSSはID番号 –

+0

@ JellesDのような番号を許可しません。 'print_r($ row); exit;' inside while loopを実行し、SQLがデータを与えているかどうかを確認します。 idを2回選択する理由。 –

0

クエリが結果を返すかどうかを確認することをお勧めします。

このwhile($row = mysqli_fetch_assoc($rows)) { echo "<div id='Vraag'>$row["vraag"];</div>"; }は、同じIDとIDを持つ複数のdivを出力する必要があるため、ループを開始する前に `を持っている必要があります。

<!DOCTYPE html> 
<html> 
<head> 
    <link rel="stylesheet" type="text/css" href="se.css"> 
    <title>Lotto</title> 
</head> 
<body> 
    <?php 
$dbhost = "localhost"; 
$dbuser = "root"; 
$dbpass = ""; 
$dbname = "lotto"; 
$db = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname); 

$query = "SELECT id, vraag, AntwA, AntwB, AntwC, AntwD,id FROM vraag1"; 
$results = mysqli_query($db, $query); 
if (mysqli_num_rows($results) > 0) { 
    // output data of each row?> 

    <div id="Vraag"> 
    <?php 

    while($row = mysqli_fetch_assoc($results)) { 

     echo $row["vraag"]; 

    } 
} else { 
    echo "no results found"; 
}?> 

</div> 
    ?> 
     <div id="headerbg"></div> 
    <center> 
     <h1>Vraag 1</h1> 
    </center> 
    <center> 
     <div> 
      <img src="antw.png" id="img6"> 
     </div> 

     <div id="plaatje"> 
      <img id="img1" src="wip.jpg"> 
     </div> 
     <div id="BGantA"> 
      <img id="img2" src="antw.png"> 
     </div> 
     <div id="antA"> 
      <a href="#" id="antAA">Antwoord A</a> 
     </div> 
     <div> 
      <img src="antw.png" id="img3"> 
     </div> 
     <div> 
      <a href="#" id="antBB">Antwoord B</a> 
     </div> 
     <div> 
      <img src="antw.png" id="img4"> 
     </div> 
     <div> 
      <a href="#" id="antCC">Antwoord C</a> 
     </div> 
     <div> 
      <img src="antw.png" id="img5"> 
     </div> 
     <div> 
      <a href="#" id="antDD">Antwoord D</a> 
     </div> 
    </center> 
</body> 
</html> 
0

問題を連結しました。

は、私は同じIDの重複したdiv要素を生成しないようにするカウンターを追加した

$counter = 1; 
while($row = mysqli_fetch_assoc($rows)) 
{ 
    echo "<div id='Vraag_".$counter."' class='VraagClass'>".$row['vraag']."</div>"; 
} 

でライン

while($row = mysqli_fetch_assoc($rows)) 
{ 
    echo "<div id='Vraag'>$row["vraag"];</div>"; 
} 

を交換してください。

+0

彼は複数のCSSスタイルを持っているはずですか? –

+0

そのような場合、彼はいくつかのクラスを追加することができます –

+1

それは理にかなっています –