offset bei SELECT...LIMIT ignoriert ersten Datensatz
Jens
- datenbank
Hallo zusammen,
ich beschäftige mich erst seit Kurzem mit php/MySQL.
Mein Problem ist, daß bei der Ausgabe einer Datenbank der erste Datensatz "geschlabbert" wird.
Hab schon viel ausprobiert und versucht, das Problem zu lösen, komme aber nicht weiter. Die Schwierigkeit steckt, so wie ich das sehe, in der Begrenzung durch LIMIT.
Hier das script, welches ich gebastelt habe.
<table class="tbn">
<colgroup width="8%" span="12"></colgroup>
<?php $pos=0;
for ($j=0;$j<28;$j++) {
$colnam_rd1="SELECT * FROM colnam ORDER BY cn_name ASC LIMIT $pos,7";
$colnam_rd2="SELECT * FROM colnam ORDER BY cn_name ASC LIMIT $pos,7";
$result1=mysql_query($colnam_rd1);
$colrow1=mysql_fetch_array($result1);
$result2=mysql_query($colnam_rd2);
$colrow2=mysql_fetch_array($result2);
?>
<tr>
<?php while ($colrow1=mysql_fetch_array($result1)) { ?>
<td colspan="2" <?php echo "style="background:" . $colrow1['cn_code'] . """?>>
<?php echo $colrow1['cn_name'] . "<br>" . $colrow1['cn_code'] ?>
</td>
<?php ;}?>
</tr>
<tr>
<?php while ($colrow2=mysql_fetch_array($result2)) { ?>
<td <?php echo "style="background:" . $colrow2['cn_name'] . ";color:#000""?>>CSS</td>
<td <?php echo "bgcolor="" . $colrow2['cn_name'] . """?>>HTML</td>
<?php ;}?>
</tr>
<?php $pos=$pos+6;}?>
</table>
Über Hilfestellungen wäre ich sehr dankbar ;-)
Halihallo Jens
Mein Problem ist, daß bei der Ausgabe einer Datenbank der erste Datensatz "geschlabbert" wird.
Richtig.
Hab schon viel ausprobiert und versucht, das Problem zu lösen, komme aber nicht weiter. Die Schwierigkeit steckt, so wie ich das sehe, in der Begrenzung durch LIMIT.
Falsch.
Hier das script, welches ich gebastelt habe.
Möglich ;-)
und jetzt zum konstruktiven Part...
for ($j=0;$j<28;$j++) {
$colnam_rd1="SELECT * FROM colnam ORDER BY cn_name ASC LIMIT $pos,7";
$colnam_rd2="SELECT * FROM colnam ORDER BY cn_name ASC LIMIT $pos,7";
$result1=mysql_query($colnam_rd1);
$colrow1=mysql_fetch_array($result1);
$result2=mysql_query($colnam_rd2);
$colrow2=mysql_fetch_array($result2);
hier liest du den ersten Datensatz jeweils aus...
<?php while ($colrow1=mysql_fetch_array($result1)) { ?>
<?php while ($colrow2=mysql_fetch_array($result2)) { ?>
und dann machst du eine while, um alle Datensätze auszulesen... *grrr*, den ersten
hast du jedoch schon ausgelesen und dann wird er ins nirvana gesetzt, da der erste
while-durchgang die Variable ($colrow1 bzw. $colrow2) überschreibt...
Lass die ersten fetch-es weg, dann sollte es IMHO funktionieren.
Viele Grüsse
Philipp
Lass die ersten fetch-es weg, dann sollte es IMHO funktionieren.
DA war also die Watte im Hirn versteckt :-)
Danke! funzt jetzt
jens