27. juli 2005 - 18:13Der er
11 kommentarer og 1 løsning
nøjes med at se 1 nyhed?
Jeg har et nyheds system, jeg har valgt at vise på forsiden, dog kun de 5 nyeste. Derfor valgte jeg at lave et arkiv som bliver vist ude i højre side. Så folk kan vælge at se en ældre nyhed, ok? Det lyder jo enkelt nok... Man skal jo bare trække den gamle nyhed frem ved hjælp af id... aha...
Mit problem ligger i jeg skal trække den ene nyhed frem, og få den vist alene i en iframe.
Når jeg vælger at få vist en enkelt nyhed i iframe, kikser den, og i stedet for at vise mig en nyhed i iframe... viser den mig hele siden forfra, altså, min index hvor iframen er i, bare en gang til, inde i iframen, samt alle nyhederne...
Koden vises her hvor den trækker arkivet frem, og gør det muligt at vælge en enkelt nyhed at få vist i iframe.
<?php include("news/config.php"); $db = mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname) or die("Kan ikke oprette forbindelse til databasen."); $query = "SELECT * FROM news ORDER BY id"; $result = mysql_query($query); echo "<ul>\n"; while ($r = mysql_fetch_array($result)) { echo "<li><a href=\"index.php?id=$r[id]\" target='iframe'>$r[title]</a></li>\n"; } echo "</ul>\n"; ?>
Så er der nogen her der lige hurtigt kan fortælle mig hvad der er galt i mit link ? som vil fixe det, forhåbentligt :D
Ved ikke om jeg har forklaret forkert eller jer der misforstod... sikkert nok den første :D
$query = "SELECT * FROM news ORDER BY id DESC LIMIT 1";
gør at 1 nyheds overskrift bliver vist i arkivet... Hvis 1 nyhed bliver vist i et arkiv, kan man vel ikke kalde det et arkiv kan man ?
Problemmet er ikke arkivet, det bliver vist som det skal, og DESC bliver hentet fra en config fil... Det er linket der er noget galt med efter hvad jeg kan se. Når jeg vælger en overskrift i arkivet i højre side, med iframen i midten, vil jeg se den ene nyhed i iframen i stedet for de 5 nyeste.
Altså... Man går ind på siden, ser de 5 nyeste nyheder, i højre side står alle nyhederne (arkivet). Når jeg så vil læse en gammel nyhed klikker jeg på overskriftet i arkivet, den smider der efter hele den side jeg lige har beskrevet... Altså menu, iframe og arkiv ind i iframen, så man ser det hele en gang til, bare i iframen...
Det jeg vil have den til er når man vælger en nyheds overskrift, at den så viser den enkelte nyhed i iframen og ingen andre.
Stadig det samme... har sat en test side op som du kan teste den sidste løsning du gav mig... Så kan du måske få en følelse af hvad det er der er i vejen ok ?
ok legede lidt rundt og prøvede lidt forskelligt... det resulterede i at jeg fik den til at vise i iframen... eneste problem er bare at den ikke viser den nyhed jeg vil have den til. Altså, den viser den første nyhed der er skrevet efter som jeg brugte LIMIT 1 i min query...
Så koden på min index side ser nu sådan ud:
<?php include("news/config.php"); $db = mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname) or die("Kan ikke oprette forbindelse til databasen."); $query = "SELECT * FROM news ORDER BY id DESC LIMIT 15"; $result = mysql_query($query); echo "<ul>\n"; while ($r = mysql_fetch_array($result)) { echo "<li><a href=\"oldnews.php?id=$r[id]\" target='iframe'>$r[title]</a></li>\n"; } echo "</ul>\n"; ?>
Ergo... Den viser de seneste 15 i arkivet, laver link på hver enkelt af dem med target iframe... Siden den linker til har jeg valgt at kalde oldnews.php hvor koden ser sådan ud pt.:
<?php include("news/config.php"); $db = mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname) or die("Kan ikke oprette forbindelse til databasen."); $query = "SELECT * FROM news id LIMIT 1"; $result = mysql_query($query);
Problemmet ligger bare i den ikke viser den nyhed man vælger.... Men den første der er blevet skrevet nogen sinde... Vl have den skal vise den man vælger at se, intet andet... Muligt ? og hvordan ?
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.