MySQL Tabelle in HTML Tabelle übergeben.

Hallo PHP Group,

Ich weiß mit mehr weiter.
Ich mochte eine Tabelle aus mySQL in eine Tabelle in html über PHP ausgeben.

Das Problem ist das nach jedem 3 Datensatz eine neue zeile anfangen möchte.

Nun habe ich eine IF Anweisung eingebaut.
Leider wird nun jeder 3 Datensatz verschluckt.

$y = 0;
echo "<table>";
echo "<tr>";
$sql = "SELECT pid, title FROM test WHERE titel ORDER BY pid";
$result = $db->sql_query($sql);
$pid = $row[pid];
$title = $row[title];
if ( $y <= 2) {
echo "<td>$title</td>";
$y++;
} else {
echo "</tr>";
$y = 0;
}
echo "</tr></table>";


Danke für die Hilfe.
Gruß j.w.
woysch [ Mo, 04 Oktober 2004 19:30 ] [ ID #61130 ]

Re: MySQL Tabelle in HTML Tabelle übergeben.

$y = 0;
echo "<table>";
echo "<tr>";
$sql = "SELECT pid, title FROM test WHERE titel ORDER BY pid";
$result = $db->sql_query($sql);
while ($row = mysql_fetch_array($result)
{
$pid = $row[pid];
$title = $row[title];


if ( $y = 3)
{
echo "</tr><tr>";
$y = 0;
}
echo "<td>$title</td>";
$y++;
}
echo "</tr></table>";

Gruß Sascha

"woysch" <jan_woysch [at] web.de> schrieb im Newsbeitrag
news:41618899$0$23149$4c56b896 [at] news-read1.lambdanet.net...
> Hallo PHP Group,
>
> Ich weiß mit mehr weiter.
> Ich mochte eine Tabelle aus mySQL in eine Tabelle in html über PHP
> ausgeben.
>
> Das Problem ist das nach jedem 3 Datensatz eine neue zeile anfangen
> möchte.
>
> Nun habe ich eine IF Anweisung eingebaut.
> Leider wird nun jeder 3 Datensatz verschluckt.
>
> $y = 0;
> echo "<table>";
> echo "<tr>";
> $sql = "SELECT pid, title FROM test WHERE titel ORDER BY pid";
> $result = $db->sql_query($sql);
> $pid = $row[pid];
> $title = $row[title];
> if ( $y <= 2) {
> echo "<td>$title</td>";
> $y++;
> } else {
> echo "</tr>";
> $y = 0;
> }
> echo "</tr></table>";
>
>
> Danke für die Hilfe.
> Gruß j.w.
Sascha Burchert [ Mo, 04 Oktober 2004 20:40 ] [ ID #61138 ]

Re: MySQL Tabelle in HTML Tabelle übergeben.

woysch <jan_woysch [at] web.de> schrieb:
^^^^^^

Konfiguriere bitte deinen Newsreader so, dass hier dein ganzer Name
steht.

> Nun habe ich eine IF Anweisung eingebaut.

Soweit ok.

> Leider wird nun jeder 3 Datensatz verschluckt.
>
> $y = 0;
> echo "<table>";
> echo "<tr>";
> $sql = "SELECT pid, title FROM test WHERE titel ORDER BY pid";
> $result = $db->sql_query($sql);
> $pid = $row[pid];

Hier fehlt was: Wie kommt der Datensatz in $row?

> $title = $row[title];
> if ( $y <= 2) {
> echo "<td>$title</td>";

Wieso gibst du den Titel nur hier aus? Dieses echo() gehört hier nicht
hin.

> $y++;
> } else {
> echo "</tr>";
> $y = 0;
> }
> echo "</tr></table>";


Außerdem solltest du dir den erzeugten HTML-Text ansehen; er scheint mir
nicht valide zu sein. Es fehlt das eine oder andere <tr>, manchmal ist
ein </tr> zuviel...

MfG
Niels

--
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es
eine Interpunktionsnorm. Wenn du deine Programme genauso schlampig
schreibst, solltest du es lieber bleiben lassen.
Niels Braczek [ Mo, 04 Oktober 2004 21:01 ] [ ID #61140 ]

Re: MySQL Tabelle in HTML Tabelle übergeben.

> if ( $y = 3)

^^^^ ja wohl besser

if ( $y == 3)

Man sollte Zuweisung als Bedingungen einfach per Sprachendefinition als
ungültig erklären und Sie immer mit einer Exception quittieren ;-)
Stefan Franke [ Mo, 04 Oktober 2004 22:12 ] [ ID #61148 ]

Re: MySQL Tabelle in HTML Tabelle übergeben.

Stefan Franke wrote:

Hallo,

>> if ( $y =3D 3)
>
> ^^^^ ja wohl besser
>
> if ( $y =3D=3D 3)
>
> Man sollte Zuweisung als Bedingungen einfach per Sprachendefinition a=
ls
> ungültig erklären und Sie immer mit einer Exception quittieren ;-=
)

Python läßt z.B. keine Zuweisungen bei Bedingungen zu.

Woanders kann man sich damit behelfen die Konstante, sofern eine vorha=
nden,
auf die linke Seite zu setzen. Dann gibt es eine Fehlermeldung, wenn m=
an
sich bei dem =3D=3D vertippt.

if(3 =3D=3D $y)


tschuess
[|8:)
Sven Drieling [ Mo, 04 Oktober 2004 23:22 ] [ ID #61161 ]

Re: MySQL Tabelle in HTML Tabelle übergeben.

ist mein Lieblingsfehler, passiert mir aber nur noch einmal die Woche

"Stefan Franke" <imforum [at] gmx.net> schrieb im Newsbeitrag
news:cjsard$hc7$03$1 [at] news.t-online.com...
>> if ( $y = 3)
>
> ^^^^ ja wohl besser
>
> if ( $y == 3)
>
> Man sollte Zuweisung als Bedingungen einfach per Sprachendefinition als
> ungültig erklären und Sie immer mit einer Exception quittieren ;-)
>
Sascha Burchert [ Di, 05 Oktober 2004 01:19 ] [ ID #61170 ]
PHP » de.comp.lang.php.misc » MySQL Tabelle in HTML Tabelle übergeben.

Vorheriges Thema: html seite schrittweise anzeigen - vollständige berechnung dauert sehr lange
Nächstes Thema: preg_replace - merkwuerdiges Verhalten