pellesvenneMedlem sedan jan. 2002226 inlägg
<tr>
<td>test</td>
<td>Tom</td>
<td>test2</td>
</tr>
<tr>
<td>test3</td>
<td>Tom</td>
<td>test4</td>
</tr>
<tr>
<td>test5</td>
<td>Tom</td>
$i = 1;
while ($rad=mysql_fetch_array($result)) {
if ($rad['typ'] == 1) {
if ($i == 1) {
echo "<br><tr><br><td>".$rad['rubrik']."</td><br>";
}elseif($i == 2) {
echo "<td>Tom</td><br>";
}elseif($i == 3) {
echo "<td>".$rad['rubrik']."</td><br></</tr>";
echo "</tr><br><br>";
$i = 0;
}
$i++;
}
HamatzuMedlem sedan mars 2005242 inlägg
Du får nog ta och beskriva ditt problem lite bättre om du vill ha hjälp.
pellesvenneMedlem sedan jan. 2002226 inlägg
kolla på html koden! det en <td> samt <tr> vid slutet som fattas hur kan man få dit dem?.
emissionMedlem sedan dec. 19996 095 inlägg
pellesvenne skrev:
kolla på html koden!.
Eh....jag skulle kunna säga "Kolla på php-koden!". Du trycker ut br-taggar i tabellen där de inte får vara (endast inne i en td) och tr-taggarna är html-encodade med <...
Vad vill du uppnå och vad är problemet?!
PeddaMedlem sedan juni 20004 880 inlägg
Förmodar att du inte har mer data i databasen så du aldrig kommer in i den sista ifsatsen då whilesatsen redan har brutits.
Du får nog kolla hur många rader du har i databasen och på slutet fylla ut din tabell med tomma <td> och avslutande </tr>
Och ang. det emission skriver om dina br-taggar så ska du använda \r \n (beroende på server) för att göra radbrytningar i htmlkod.
t.ex.
echo "<td>Tom</td>\n";
pellesvenneMedlem sedan jan. 2002226 inlägg
kan du visa kod exempel? jag vet inte riktigt hur jag ska göra?
PeddaMedlem sedan juni 20004 880 inlägg
$i = 1;
while ($rad=mysql_fetch_array($result)) {
if ($rad['typ'] == 1) {
if ($i == 1) {
echo "<tr>\n<td>".$rad['rubrik']."</td>\n";
}elseif($i == 2) {
echo "<td>Tom</td>\n";
}elseif($i == 3) {
echo "<td>".$rad['rubrik']."</td>\n";
echo "</tr>\n\n";
$i = 0;
}
$i++;
}
// är while-satsen slut så fyller vi på tabellen med resterande <td> och </tr>
if($i == 2) {
echo "<td>Tom</td>\n";
$i++;
}
if($i == 3) {
echo "<td>Tom</td>\n";
echo "</tr>\n\n";
}
Otestad kod, men borde funka.
pellesvenneMedlem sedan jan. 2002226 inlägg
Nu blev det såhär?
<tr>
<td>Test1</td>
<td>Tom</td>
<td>Tom</td>
</tr>
<td>Test2</td>
</tr>
<tr>
<td>Test3</td>
<td>Tom</td>
<td>Tom</td>
</tr>
<td>Test4</td>
</tr>
<tr>
<td>Test5</td>
<td>Tom</td>
<td>Tom</td>
</tr>
PeddaMedlem sedan juni 20004 880 inlägg
Ok, räknade inte dina måsvingar innan och ser nu att i koden du gav oss hade du inte den sista med så mina två sista if-satser har nog hamnat inuti din while-sats. Flytta ur dom ur while-satsen så dom körs efteråt som dom ska.
/red. Lägger in koden
$i = 1;
while ($rad=mysql_fetch_array($result)) {
if ($rad['typ'] == 1) {
if ($i == 1) {
echo "<tr>\n<td>".$rad['rubrik']."</td>\n";
}elseif($i == 2) {
echo "<td>Tom</td>\n";
}elseif($i == 3) {
echo "<td>".$rad['rubrik']."</td>\n";
echo "</tr>\n\n";
$i = 0;
}
$i++;
}
} // <-- den avslutande måsvingen som inte fanns med i koden
// är while-satsen slut så fyller vi på tabellen med resterande <td> och </tr>
if($i == 2) {
echo "<td>Tom</td>\n";
$i++;
}
if($i == 3) {
echo "<td>Tom</td>\n";
echo "</tr>\n\n";
}
pellesvenneMedlem sedan jan. 2002226 inlägg
Hmm nu visas bara 30 poster istället för 45?
PeddaMedlem sedan juni 20004 880 inlägg
Kolla koden i mitt förra inlägg.
pellesvenneMedlem sedan jan. 2002226 inlägg
jepp men man får inte med alla poster med senaste koden? och inte min första kod heller
pellesvenneMedlem sedan jan. 2002226 inlägg
jag tror jag löste det så här!
while ($rad=mysql_fetch_array($result)) {
if ($rad['typ'] == 2) {
$a++;
if ($i == 1) {
echo "<tr>\n<td>".$rad['rubrik']."</td>\n";
}
if($i == 2) {
echo "<td>Tom</td>\n";
$i++;
}
if($i == 3) {
echo "<td>".$rad['rubrik']."</td>\n";
echo "</tr>\n\n";
$i = 0;
}
$i++;
}
} // <-- den avslutande måsvingen som inte fanns med i koden
// är while-satsen slut så fyller vi på tabellen med resterande <td> och </tr>
if($i == 2) {
echo "<td>Tom</td>\n";
$i++;
}
if($i == 3) {
echo "<td>Tom</td>\n";
echo "</tr>\n\n";
}
pellesvenneMedlem sedan jan. 2002226 inlägg