Erster Datensatz wird nicht ausgegeben

  • Themenstarter Themenstarter di-five
  • Beginndatum Beginndatum
D

di-five

Hallo,

ich habe folgenden Code, und der funktioniert soweit auch ganz gut, nur wird der erste Datensatz nicht ausgegeben :(

Code:
<?php
    $ergebnis_kgn_bkmv_a = mysql_query("SELECT *
                                          FROM kgn_bkmv
                                         WHERE kgn_bkmv_name LIKE 'A%' AND lnd_domain_id = '$_SESSION[lnd_domain_id]' AND kgn_id = '$_GET[kgn_id]'");

    if(!$kgn_bkmv_a = mysql_fetch_assoc($ergebnis_kgn_bkmv_a))
    {
        echo '';
    }
    else
    {
        echo '                      <tr>
                        <td>&nbsp;</td>
                      </tr>
                      <tr>
                        <th align="left" bgcolor="#F9F9F9">
                          A
                        </th>
                      </tr>
                      <tr>
                        <td>
                          <table width="100%">
                            <tr>
                              <td>' . "\n";
        while($kgn_bkmv_a = mysql_fetch_assoc($ergebnis_kgn_bkmv_a))
        {
            echo '                                ' . $kgn_bkmv_a['kgn_bkmv_name'] . "<br />" . "\n";
        }
        echo '                              </td>
                            </tr>
                          </table>
                        </td>
                      </tr>' . "\n";
    }
?>

Hat jemand eine Idee, warum ich den ersten Datensatz nicht ausgegeben bekommen? Bei allen anderen Buchstaben wird auch nur der erste Datensatz nicht ausgegeben, und ich weiß nicht, warum.

Für eine Antwort wäre ich sehr dankbar!

Gruß di-five
 
Ist doch logisch.
PHP:
if(!$kgn_bkmv_a = mysql_fetch_assoc($ergebnis_kgn_bkmv_a))
    {
        echo '';
    }
    else
   ....

Hier rufst du den ersten Datensatz auf. Wenn das aber fehlschlägt, wird nichts abgehandelt. Geht alles gut, gehts nach else.

Nanu, hier wird ja auf einmal schonwieder ein Datensatz aufgerufen.
PHP:
while($kgn_bkmv_a = mysql_fetch_assoc($ergebnis_kgn_bkmv_a))
        {
            echo '                                ' . $kgn_bkmv_a['kgn_bkmv_name'] . "<br />" . "\n";
        }
Aber du hast den ersten doch garnicht verarbeitet.


Wenn du testen willst, ob es Datensätze gibt, zumindest gehe ich mal davon aus, mache das so.

Ersetzte den ersten IF Zweig durch
PHP:
if(mysql_num_rows($ergebnis_kgn_bkmv_a) <1)
    {
        echo '';
    }
Jetzt dürfte wieder alles ausgegeben werden.
 
Hi fanste,

vielen Dank für deine Antwort! Jetzt funktioniert es einwandfrei :)

Viele Grüße

di-five
 
Zurück