2017-10-25 5 views
0

これは、猫が存在するかどうかについて1つの質問を思い出させています。しかし、私は逃げる。if文は配列内のデータの存在に依存しますが、配列の最初の項目をチェックしてもそれを失うことはありませんか?

私はmysqlクエリの結果を調べて、カラムにデータがあるかどうかを調べます。もしそうなら、見出しの下にデータをリストします。それをチェックする行為は、そうでなければ表示したい配列の3つの結果のセットのうちの最初のものを「使い切っている」ように見えます。

この場合のクエリでは、Billy TimmyとSallyという3人の子供の名前が返されます。私は彼らの名前が見出しの下に表示されたい、 "子供。しかし、時には子供がいないので、私はそのような場合に向かってほしくない。

ここにコードサンプルがあります。他のコンテンツがたくさんありますが、これは関係すると思います。ティミー

サリー

CHILDREN

しかし、私は見出しチェックアウトを取る場合、私は(永久の下にすべての3つの名前を取得します:

<?php 
$query2 = SELECT name AS ChildName 
      FROM family 
      WHERE TIMESTAMPDIFF(YEAR, bday, CURDATE()) < 24 
      AND familyid = ".$_GET['id'].""; 
$result2 = mysql_query($query2); 

    <?php $row2 = mysql_fetch_array($result2) ?> 
    <?php IF(!empty($row2['ChildName'])) { ?> 
    <strong>CHILDREN</strong> 
    <?php } ?> 

    <?php while ($row2 = mysql_fetch_array($result2)) { ?> 
    <ul> <?php echo '<li> ' . $row2['ChildName'] . '</li>';?> </ul> 
    <?php } ?> 

この場合、私の結果は、 )見出し。

私はここで何が欠けていますか?

答えて

1

最初に、mysql_num_rows($result)メソッドを使用して返された行があるかどうかを確認してから、すべての行を取得して表示するwhileループを実行できます。今すぐ最初の行を取得していないのは、それが存在するかどうかを確認するためにフェッチしているからです。

+0

ありがとう、何も必要なものではありませんでした。それは全体の "フェッチ"のことに意味があります。 CHILDREN '<?(はmysql_num_rows($結果2)){場合のphp?> ': は、将来的にこれを見て、誰のために、結果はこのように見えました – seizethecarp

関連する問題