Hide hr in while loop
Is het mogelijk om tijdens een while loop bij de laatste gegevens die er op worden gehaald de <hr> te verbergen? Zo voorkom ik dat er een streepje bovenaan staat en alleen als afscheiding tussen de opgehaalde gegevens.
Dat kan op allerlei manieren, bijvoorbeeld door met strlen() naar de stringlengte te kijken en vervolgens met substr() de string 4 karakters korter te maken.
Toevoeging op 04/07/2016 12:14:19:
- SanThe - op 04/07/2016 12:10:35:
..
Volgens mij hoeft een <hr> tag in HTML5 niet meer afgesloten te worden. In XHTML moest dat wel: <hr />
Maar ik pin me er niet op vast.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// $sOphalen = je query
$iAantal = mysqli_num_rows($sOphalen);
$i = 1;
while ($aRijen = mysqli_fetch_array($sOphalen))
{
// printen van je resultaten
if ($i < $iAantal)
{
echo '<hr>';
}
$i++;
}
$iAantal = mysqli_num_rows($sOphalen);
$i = 1;
while ($aRijen = mysqli_fetch_array($sOphalen))
{
// printen van je resultaten
if ($i < $iAantal)
{
echo '<hr>';
}
$i++;
}
Gewijzigd op 04/07/2016 12:31:06 door bas hooff
Code van mij:
res 1: hr, res 2: hr, laatste res: geen hr
code Thomas:
res 1: hr, res 2: hr, laatste res: hr
Ik weet niet welke van toepassing is maar volgens mij komt het wel goed.
Vergelijk jouw code:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
--- iteratie 1 ---
record 1
hr
--- iteratie 2 ---
record 2
hr
--- iteratie 3 ---
record 3
record 1
hr
--- iteratie 2 ---
record 2
hr
--- iteratie 3 ---
record 3
Met mijn code:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
--- iteratie 1 ---
record 1
--- iteratie 2 ---
hr
record 2
--- iteratie 3 ---
hr
record 3
record 1
--- iteratie 2 ---
hr
record 2
--- iteratie 3 ---
hr
record 3
Gewijzigd op 04/07/2016 14:10:08 door Thomas van den Heuvel
uhm idd <hr /> en daarna handel je $row af.
In html krijgt <hr> geen eind slash. Het is dus <hr> en niet <hr />.
Gewijzigd op 04/07/2016 14:16:42 door Ozzie PHP
Code (php)
1
2
3
2
3
HTML5: the ending slash '/' is optional.
HTML4: the slash is technically invalid. However, it's accepted by W3C's HTML validator.
XHTML: The slash is REQUIRED.
HTML4: the slash is technically invalid. However, it's accepted by W3C's HTML validator.
XHTML: The slash is REQUIRED.
correct ?
EDIT: uiteraard van toepassing op self-closing: img, area, br, input etc
Gewijzigd op 04/07/2016 14:20:05 door bas hooff
En waarschijnlijk bedoelde je "semantisch"?
yup ... corrected
>> Bij mijn meten mogen "self-closing tags" (zoals img, hr etc.) nog steeds optioneel een forward slash bevatten. Het is dus niet fout, het is enkel niet noodzakelijk.
Quote:
Void elements only have a start tag; end tags must not be specified for void elements.
Bron: http://www.w3.org/TR/html5/syntax.html#void-elements
Het gaat hier om de sluitingstag, maar over het algemeen ook de sluit-slash. Die sluit-slash zoals in <br /> is eigenlijk een xhtml ding.
Gewijzigd op 04/07/2016 14:23:58 door Ozzie PHP
pseudo-klasse :last-child misschien een betere oplossing.
Als het toch een visuele lijn moet zijn in combinatie met geen lijn onder het laatste element, is de CSS-eigenschap border-bottom in combinatie met de Lijkt me inderdaad een veel betere oplossing.
Ozzie PHP op 04/07/2016 14:22:23:
En als je daar even doorleest:
Quote:
Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single "/" (U+002F) character. This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.
Zie ook hier: http://www.w3schools.com/tags/tag_hr.asp
Quote:
Differences Between HTML and XHTML
In HTML, the <hr> tag has no end tag.
In XHTML, the <hr> tag must be properly closed, like this: <hr />.
In HTML, the <hr> tag has no end tag.
In XHTML, the <hr> tag must be properly closed, like this: <hr />.
Ik denk dat jij het over smaak hebt, ik heb het over geldige syntax. Het is voor syntax niet relevant wat gebruikelijk is of niet, de regels over wat is toegestaan en wat niet zijn duidelijk.
Dan doe je toch wat jij het leukst vindt? Ik geef enkel iets aan, meer niet. Wat je ermee doet moet je zelf weten.
Alleen het first-child pseudo-class werkt daar niet op dus ik ben uiteindelijk voor de :first-of-type gegaan.
Zie: https://www.w3.org/TR/css3-selectors/#first-of-type-pseudo