2016-08-17 8 views
0

複数の項目がデータベースから取得され、サイトに表示されるページを作成しようとしています。私はそれが正しく表示されるようにデータベースから受信された2行ごとに改行を追加したいと思います。2つのデータベース行の後に改行を追加するPHP

私はたくさんの試みをして研究をしましたが、それでも動作しません。誰かが私が間違っていることを考えている?

<?php 
 
    $con = mysql_connect("localhost","article_user","mypassword"); 
 

 
    if (!$con) 
 
    { 
 
    die('Could not connect: ' . mysql_error()); 
 
    } 
 

 
    mysql_select_db("articles", $con); 
 

 
$query = "SELECT * FROM `Articles`"; 
 
$select_projects = mysql_query($query); 
 

 
$xi=1; 
 

 

 
if (mysql_num_rows($select_projects) > 0) { 
 
    while($row = mysql_fetch_assoc($select_projects)) { 
 
\t echo '<div class="col-md-6 related-post-block">'; 
 
\t echo '<div class="related-img"> <img src="file-upload/server/php/files/'.$row['image'].'" class="" alt></a> </div>'; 
 
     echo '<h3>'.$row['header'].'</a></h3>'; 
 
\t echo '<p>'.$row['text'].'</p>'; 
 
\t echo '</div>'; 
 
     
 
    \t \t \t if ($xi % 2 == 0) 
 
     \t \t \t echo '<br />'; 
 
    \t \t \t $xi++; 
 
    } 
 

 
} 
 

 
mysql_close($db); 
 

 
?>

+1

あなたは「それが動作していない」とはどういう意味ですか?あなたはどんな出力を得ていますか? – dave

+0

'a'タグはどこにもオープンされていないが、閉じられているだけかもしれません。これを修正してから試してください。 –

+0

@dave行間に空白はありません。http://prntscr.com/c6uoazのように見えますが、http://prntscr.com/c6uova – MrChillax

答えて

1

、これはCSSで固定してください。おそらく何かのように:

.related-post-block { 
    margin-bottom: 15px; 
} 

それとも、(私はお勧めしません)、それをインライン化したい場合:

echo '<div class="col-md-6 related-post-block" style="margin-bottom: 15px">'; 
+0

これについて考えます。思っている以上にこれを修正するPHPを見つけるのは忙しかったです。 Thnx! – MrChillax

0

あなたはそれが唯一の条件のボディとして次の文を扱う中括弧を省略します。

if($ x) echo 'foo'; echo 'bar'; は常に「バー」を印刷します

したがって、<br />を使用することはありません。 ifステートメントに中括弧を追加します。

+0

のようになりますが、次の文はエコー – dave

0

brタグがdivタグの後に動作しない、あなたはこれを試すことができます:あなたは、外観を変更するために別の要素を必要としない

if ($xi % 2 == 0) 
    echo '<div style="clear:both; margin-bottom:20px"></div>'; 
$xi++; 
+0

ですそのdivについてではなく、段落の後に空白がほしいだけです。 http://prntscr.com/c6uoazのように見えますが、http://prntscr.com/c6uovaのように見えます。 – MrChillax

+0

ちょっとした余白を追加してください。変更を参照してください。 – Rijin

関連する問題