idd, aangezien het maar één ifstatement is valt het echt reuze mee.quote:Op donderdag 21 april 2011 08:59 schreef mstx het volgende:
Ik zou alsnog voor de PHP oplossing gaan ((on)even regels een andere class geven). Werkt in alle browsers en je hebt geen javascript nodig. Qua PHP performance maakt het ook geen reet uit, tenzij je 1 miljoen regels hebt maar dan is javascript nog veel trager.
1 2 3 | <?php $className = ( (($i % 2) == 0) === true ) ? 'classX' : 'classY'; ?> |
En op een site/pagina die zonder javascript moet werken waar je wel die stijlen wilt hebben? Nooit er van uit gaan dat iedereen javascript aan heeft staan. Sowieso dit soort dingen d.m.v. javascript toevoegen is een beetje overkill.quote:Op donderdag 21 april 2011 08:18 schreef Intrepidity het volgende:
[..]
Graceful degradation. Styles moet je toewijzen met CSS, niet met PHP. Werkt het niet, dan maar met een javascript-achtige fallback. Sowieso voegen dat soort operaties nou niet bepaald extreem veel overhead toe, zeker niet als je jQuery uberhaupt al actief hebt.
Zeker op drukke websites is het niet verstandig dat soort duidelijke client-side operaties aan de server over te laten.
quote:Op donderdag 21 april 2011 09:24 schreef Pakspul het volgende:
[..]
idd, aangezien het maar één ifstatement is valt het echt reuze mee.
[ code verwijderd ]
En that's it
1 2 3 | <?php $className = $i % 2 === 0 ? 'classX' : 'classY'; ?> |
Ik ben van mening dat dit soort dingen een toevoeging zijn en dat graceful degradation hier dus op zijn plaats is. Mensen die JS uit hebben staan zijn er nauwelijks (en moeten tevens dood, want paranoide), en die zien dan geen zebra-striping in een tabel, big deal.quote:Op donderdag 21 april 2011 09:28 schreef lifeblind het volgende:
[..]
En op een site/pagina die zonder javascript moet werken waar je wel die stijlen wilt hebben? Nooit er van uit gaan dat iedereen javascript aan heeft staan. Sowieso dit soort dingen d.m.v. javascript toevoegen is een beetje overkill.
Nog een tipje m.b.t. dit, als je een template-engine zoals smarty gebruikt, kun je dit min of meer automatisch laten doen. Als je dan je data in je template zet, kun je gewoon aangeven welke class die om de x-aantal iterations moet doen, werkt veel simpeler. Op deze manier hou je ook logica van je code (data ophalen, er iets leuks mee doen etc.) gescheiden van je weergave (want dat doe je allemaal in je template).
quote:Op donderdag 21 april 2011 12:17 schreef mafkees01 het volgende:
[..]
[ code verwijderd ]
nog korter...
1 2 3 | <?php $className = ($i % 2) ? 'classX' : 'classY'; ?> |
Moet je alleen X en Y omdraaien.quote:Op donderdag 21 april 2011 12:35 schreef GlowMouse het volgende:
[..]
[ code verwijderd ]
nog korter...
En dingen als drempelsvrij en dergelijke zeggen je niets? Sowieso, als je miljoenen hits per dag te verwerken krijgt moet je meer aan caching enzo denken, als je dan iedere keer de pagina's serverside opnieuw gaat opbouwen doe je sowieso al iets niet goed.quote:Op donderdag 21 april 2011 12:33 schreef Intrepidity het volgende:
[..]
Ik ben van mening dat dit soort dingen een toevoeging zijn en dat graceful degradation hier dus op zijn plaats is. Mensen die JS uit hebben staan zijn er nauwelijks (en moeten tevens dood, want paranoide), en die zien dan geen zebra-striping in een tabel, big deal.
Gewoon nooit dat soort weergavezaken serverside laten afhandelen. Werkt leuk en snel, maar als je een paar miljoen hits per dag te verwerken krijgt en je hebt overal dat soort truucjes in je code zitten kunnen al die cycles al snel een hele server schelen. Niet dat ik verwacht dat je je daar direct mee bezig houdt, maar verkeerde dingen aanleren is nooit een goed plan.
Zebrastriping op een braillemachine, goed idee! Ik snap je punt, maar ik zit in de B2B-hoek, en daar is dat eigenlijk geen prioriteit, maar vooruit.quote:Op donderdag 21 april 2011 12:41 schreef lifeblind het volgende:
[..]
En dingen als drempelsvrij en dergelijke zeggen je niets? Sowieso, als je miljoenen hits per dag te verwerken krijgt moet je meer aan caching enzo denken, als je dan iedere keer de pagina's serverside opnieuw gaat opbouwen doe je sowieso al iets niet goed.
Zo zie je maar, waarom moeilijk doen in CSS als het zo prima kanquote:Op donderdag 21 april 2011 12:35 schreef GlowMouse het volgende:
[..]
[ code verwijderd ]
nog korter...
Omdat CSS er voor bedoeld is, dat is waarom.quote:Op donderdag 21 april 2011 12:47 schreef mafkees01 het volgende:
[..]
Zo zie je maar, waarom moeilijk doen in CSS als het zo prima kan
Het oog wil ook watquote:Op donderdag 21 april 2011 12:17 schreef mafkees01 het volgende:
[..]
[ code verwijderd ]
nog korter...
Ach, als je er 10 regels code voor nodig hebt en 2 loops geef ik je gelijk, maar als de oplossing zo simpel is zie ik in waarom je het niet met PHP zou oplossen. Om nog maar niet te beginnen over het feit dat de CSS oplossing erg browser afhankelijk is...quote:Op donderdag 21 april 2011 12:47 schreef Intrepidity het volgende:
[..]
Omdat CSS er voor bedoeld is, dat is waarom.
Misschien ben ik wel een ongelofelijk zeikende purist hoor, maar PHP is afaik een serverside-taal en dus niet bedoeld voor dergelijke weergavezaken. Ik gebruik PHP om semantisch juiste HTML uit te poepen (en overal lukraak css-klassen aanhangen valt daar imo niet onder), en hoe dat geïnterpreteerd wordt en uiteindelijk weergegeven wordt is het pakkie aan voor de clientside-talen zoals css en javascript.quote:Op donderdag 21 april 2011 12:58 schreef mafkees01 het volgende:
[..]
Ach, als je er 10 regels code voor nodig hebt en 2 loops geef ik je gelijk, maar als de oplossing zo simpel is zie ik in waarom je het niet met PHP zou oplossen. Om nog maar niet te beginnen over het feit dat de CSS oplossing erg browser afhankelijk is...
1 2 3 | <input type="text" name="Artikelnummer[1]"> <input type="text" name="Artikelnummer[2]"> <input type="text" name="Artikelnummer[3]"> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php $sql="SELECT Artikelnummer, Naam, Prijs FROM Producten WHERE Artikelnummer = '".$q."'" ; $result = mysql_query($sql)or die(mysql_error()); $rows = mysql_num_rows($result); If($rows == 0) { echo "<td class='productnaam'>"; echo "Nummer niet gevonden"; echo "</td>"; echo "<td class='prijs'>"; echo ""; echo "</td>"; } else { $fetch = mysql_fetch_assoc($result); echo "<td class='productnaam'>"; echo $fetch['Naam']; echo "</td>"; echo "<td class='Prijs'>"; echo "€ "; echo $fetch['Prijs']; echo "</td>"; } ?> |
quote:Op dinsdag 26 april 2011 14:00 schreef afro het volgende:
Weet iemand hoe ik dit moet gaan doen?
Ik heb tien input velden, zoals hieronder, deze moeten allemaal de database doorzoeken en aparte resultaten krijgen. Nu is het probleem dat alleen de eerste werkt (logisch).
[ code verwijderd ]
PHP
[ code verwijderd ]
Hoe zorg ik ervoor dat het voor elke input apart word "verwerkt".
1 2 3 4 5 | <?php foreach ( $_POST['Artikelnummer'] as $k=>$v ) { // hier de code die bij elk veld in de database gaat zoeken, $v is de waarde van het veld en $k de index } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <form method="post"> <textarea name="Artikelnummer[]"></textarea> <textarea name="Artikelnummer[]"></textarea> <input type="submit"> </form> <?php foreach($_POST['Artikelnummer'] as $Artikelnummer) { include 'Jalalalala.php'; @$sql="(SELECT Artikelnummer, Naam, Prijs FROM producten WHERE Artikelnummer =('$Artikelnummer'))"; $result = mysql_query($sql)or die(mysql_error()); $rows = mysql_num_rows($result); If($rows == 0) { echo "<td class='productnaam'>"; echo "Nummer niet gevonden"; echo "</td>"; echo "<td class='prijs'>"; echo ""; echo "</td>"; } else { $fetch = mysql_fetch_assoc($result); echo "<td class='productnaam'>"; echo $fetch['Naam']; echo "</td>"; echo "<td class='Prijs'>"; echo "€ "; echo $fetch['Prijs']; echo "</td>"; } } ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |