|
| HTML i en while løkke. Fra : Kasper Lund |
Dato : 28-06-07 12:55 |
|
Hej NG.
Jeg er ved at lave en html side hvor jeg henter noget data fra en mysql
database og præsenterer det i nogle tabeller.
Jeg har så lavet en variabel der tælles op i while løkken så jeg kan lave
mine tabeller, det ser ud som følgende:
if (++$i % 2 == 0) echo "</tr><tr>\n";
Problemet er nu at hvis der er to eller fire resultater der skal skrives ud
får jeg en </tr><tr> for meget til sidst.
Kan jeg tjekke om der er flere resultater tilbage og så droppe den sidste
</tr><tr> hvis der ikke er flere?
/Kasper
| |
Bertel Lund Hansen (28-06-2007)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 28-06-07 14:29 |
|
Kasper Lund skrev:
> Jeg har så lavet en variabel der tælles op i while løkken så jeg kan lave
> mine tabeller, det ser ud som følgende:
> if (++$i % 2 == 0) echo "</tr><tr>\n";
Prøv at vise en større del af koden så man kan se hvor du laver
din if-sætning.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Kasper Lund (28-06-2007)
| Kommentar Fra : Kasper Lund |
Dato : 28-06-07 18:21 |
|
On Thu, 28 Jun 2007 15:29:03 +0200, Bertel Lund Hansen wrote:
> Prøv at vise en større del af koden så man kan se hvor du laver
> din if-sætning.
>
Kommer her, som du kan se har jeg brugt din hjælp fra den anden dag - tak
for den forresten.
while($row = mysql_fetch_assoc($result)){
if (ereg(":",$row['service_description'])){
$drev = $row['service_description'];
$fri_tmp = $row['plugin_output'];
$pos=-1;
while (!ctype_digit($fri_tmp[++$pos]));
sscanf (substr($fri_tmp,$pos), "%d",&$fri);
$brugt = (100-$fri);
echo "<td>\n";
echo "Forbrugt harddisk plads på: {$drev}\n";
echo "<br />\n";
echo "<br />\n";
echo "<img src=\"/rapport/functions/piechart.php?data=$fri*$brugt&label=Fri*Brugt\" />\n";
echo "</td>\n";
if (++$i % 2 == 0) echo "</tr><tr>\n";
}
}
| |
Bertel Lund Hansen (28-06-2007)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 28-06-07 21:13 |
|
Kasper Lund skrev:
> Kommer her, som du kan se har jeg brugt din hjælp fra den anden
> dag - tak for den forresten.
Velbekomme. Jeg barberer lige koden ned til det essentielle og bruger pseudotags:
$i=0;
$new_row="<tr>";
while (etellerandet) {
echo $new_row;
echo "<td>Besked\n";
echo "<image></td>\n";
if (++$i % 2 == 0) $new_row="</tr><tr>\n";
else $new_row="";
}
echo "</tr>\n";
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Martin (28-06-2007)
| Kommentar Fra : Martin |
Dato : 28-06-07 22:06 |
|
Bertel Lund Hansen wrote:
> Kasper Lund skrev:
>
>> Kommer her, som du kan se har jeg brugt din hjælp fra den anden
>> dag - tak for den forresten.
>
> Velbekomme. Jeg barberer lige koden ned til det essentielle og bruger pseudotags:
>
> $i=0;
> $new_row="<tr>";
> while (etellerandet) {
> echo $new_row;
> echo "<td>Besked\n";
> echo "<image></td>\n";
> if (++$i % 2 == 0) $new_row="</tr><tr>\n";
> else $new_row="";
> }
> echo "</tr>\n";
>
$numberOfCols = 2;
$i=0;
echo '<tr>';
while(...) {
if($i%$numberOfCols==0) echo '</tr><tr>';
echo '<td>...</td>';
$i++
}
while($i < $numberOfCols) {
echo '<td> </td>';
$i++;
}
echo '</tr>';
Ellers får man nogle tomme felter i tabellen, og det ka vi jo ikk ha :P
| |
Bertel Lund Hansen (28-06-2007)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 28-06-07 22:40 |
|
Martin skrev:
> $numberOfCols = 2;
> $i=0;
> echo '<tr>';
> while(...) {
> if($i%$numberOfCols==0) echo '</tr><tr>';
Din kode starter med at skrive "<tr></tr>".
> Ellers får man nogle tomme felter i tabellen, og det ka vi jo ikk ha :P
Det er sådan set kun IE der kløjes i det, og det ses kun hvis man
har sat border på. Det er ikke en HTML-fejl.
Men det er en god detalje at lave en variabel til at styre
antallet af felter.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Martin (29-06-2007)
| Kommentar Fra : Martin |
Dato : 29-06-07 22:19 |
|
Bertel Lund Hansen wrote:
> Martin skrev:
>
>> $numberOfCols = 2;
>> $i=0;
>> echo '<tr>';
>> while(...) {
>> if($i%$numberOfCols==0) echo '</tr><tr>';
>
> Din kode starter med at skrive "<tr></tr>".
Nej den starter med </tr><tr> :P
Ja, </tr> ska self til sidst
>
>> Ellers får man nogle tomme felter i tabellen, og det ka vi jo ikk ha :P
>
> Det er sådan set kun IE der kløjes i det, og det ses kun hvis man
> har sat border på. Det er ikke en HTML-fejl.
>
> Men det er en god detalje at lave en variabel til at styre
> antallet af felter.
| |
|
|