$result_q = mysql_query("SELECT * FROM ft_kategori ORDER BY kat_name", $connection); if (!$result_q) { die("Database query failed: " . mysql_error()); }
RexReptiles: Først og fremmest er den kode, som du foreslår jo ikke særlig dynamisk. Det kræver han laver en option i koden fremfor koden danner hans options ud fra databasen.
Til bremer: Ud fra den kode, som du angiver, ville jeg nok ændre den til:
<?php $result_q = mysql_query("SELECT * FROM ft_kategori ORDER BY kat_name", $connection); if (!$result_q) die("Database query failed: " . mysql_error());
while ($row_q = mysql_fetch_array($result_q)) { $aktiv = ""; if ($_GET['kat'] == $row_q['id']) $aktiv = " selected='selected'";
Jeg har brug $_GET['kat'] fremfor $_REQUEST['kat'] da det jvf. din stump kode altid kommer som en GET-variabel.
Ligeledes har jeg fjernet { og } nogle steder, hvor der kun er en linje i mellem { og }. Det kan man godt i PHP - den tager så den næste linje som værende inden for IF-sætningens "scope".
Dit eksempel som du har angivet er ikke dynamisk. Det er det, som jeg snakker om.
Du skriver to linjer med et option i hver, hvor du så har PHP-kode i hver, der skal tjekke om hver linje skal være selected eller ej. Det er ikke dynamisk. Samtidig tjekker du mod konstanter fremfor variabler i din IF-sætning. Det gør netop eksemplet mindre dynamisk igen.
Det dynamiske i bremers eksempel er netop at det er forbundet til en database. Så kan man ligeså godt lave sin kode-stump ud fra det. Specielt når vi snakker så få linjer, som vi gør.
At jeg så derudover ikke er tilhænger af, at koden som du angav er adskilt med PHP så mange gange er så en anden side af sagen. Så er det sku nemmere at samle hele linjen i en stor echo, fremfor at lave <?php og ?> flere gange i linjen.
Så det er sådan set det jeg mener med at din kode ikke var dynamisk. Når det så er sagt - så virker du lidt indebrændt over det :-)
RexReptiles: Nu gider jeg ikke til at starte en større diskution fordi... det er der simpelthen ingen grund til.
Men ja, jeg mener helt bestemt at min måde er betydelig nemmere læselig end din linje, hvor du har <?php og ?> op til flere steder i samme linje.
Ja, jeg mener at:
echo "Hej med dig, " . $navn . ". Du er " . $alder . " år gammel."
er noget nemmere at læse end:
Hej med dig, <?php echo $navn; ?>. Du er <?php echo $alder; ?> år gammel.
Jo flere variabler, der skal udskrives, jo pænere og nemmere er det i min verden at bruge en echo eller en print til at få det ud.
Du mener derudover ikke, at han lærer noget af, at jeg modificere hans kode og derefter skriver den til ham. Fair nok. Det er jo en holdning, som du har til det. Jeg mener på den anden side heller ikke, at han lærer noget ud af den stump kode, som du angav ham. Om ikke andet kunne du nævne hvorledes han skulle bruge det i relation til hans egen kode - det gør du ikke.
Din kode er i min verden forstået således at du ville have ham til at danne linjerne hardcoded i php-filen og lave tjekkene derfra. Af samme årsag hægter du også - i min verden - databasen-delen helt væk og gør ikke koden dynamisk, som jo egentlig er ønsket ud fra det oprindelige post.
Af ovennævnte årsager vælger jeg heller ikke at trække mit udsagn om, at din kode-stump ikke dur. Jeg ved udemærket godt, at den fint kan virke, men det kræver en "større" omkodning. Desuden viser den oprindelig kode at brugeren kender til PHP (er ikke helt newbie), men har i stedet måske en lidt dum fejl, der gør, at han ikke kan komme videre.
Havde det været et problem for bremers forståelse at lave din stump kode ud fra hans kode og derved bruge hans variabler fremfor at bruge konstanter, som ingen sammenhæng har til databasen?
Men lad os lade den ligge her - der er ingen grund til en diskution over en så lille og latterlig ting som dette.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.