19. maj 2009 - 16:21
Der er
8 kommentarer og 1 løsning
Punkter i min liste vist etapevis
Jeg har en lang liste, som bliver dannet fra en database. Det ser ikke særlig godt ud når den bliver udskrevet fordi der er mange punkter i listen. Jeg kunne tænke mig at få den vist, så der bliver vist 10 punkter ad gangen. Hvordan skal jeg udforme min kode? I øjeblikket ser den således ud: $sql="SELECT * FROM $vandreture order by dato desc"; $tur = mysql_query($sql) or die (mysql_error()); if(mysql_num_rows($tur) > 0) { while($a = mysql_fetch_object($tur)) { $turid = $a -> id; $turd = $a -> dato; $maal = $a -> titel; list($year, $month, $day) = split('[-.]', $turd); $turdate = "$day-$month-$year"; echo "<td valign='top' width='5'><input onclick='this.form.submit();' type='radio' name='gpstur' value='$turid'></td>"; echo "<td valign='top' width='15'></td>"; echo "<td valign='top' width='100' align='left'>$turdate</td>"; echo "<td valign='top' width='400' align='left'>$maal</td>"; echo "</tr>"; } }
Annonceindlæg fra Thales
tænker du på paging? så hvis du har 50 punkter, får du 5 sider at "bladre" imellem?
Når man bliver klar over, at det hedder paging findes der jo meget stof om det. Jeg er kommet frem til denne løsning: $pr_side = 5; echo "<table>"; echo "<tr>"; $antal = mysql_result(mysql_query("SELECT COUNT(*) FROM $vandreture"),0) or die(mysql_error()); $vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0; $tur = mysql_query ("SELECT * FROM $vandreture ORDER BY dato DESC limit $vis_fra, $pr_side") or die(mysql_error()); if(mysql_num_rows($tur) > 0) { while($a = mysql_fetch_object($tur)) { $turid = $a -> id; $turd = $a -> dato; $maal = $a -> titel; list($year, $month, $day) = split('[-.]', $turd); $turdate = "$day-$month-$year"; echo "<td valign='top' width='5'><input onclick='this.form.submit();' type='radio' name='gpstur' value='$turid'></td>"; echo "<td valign='top' width='15'></td>"; echo "<td valign='top' width='100' align='left'>$turdate</td>"; echo "<td valign='top' width='400' align='left'>$maal</td>"; echo "</tr>"; } } echo "<hr />"; echo "</table> Den mangler imidlertid den mulighed, der var før, hvor man kunne klikke videre til en side, der relaterede til punktet via en radiobutton: <input onclick='this.form.submit();' type='radio' name='gpstur' value='$turid'> Det er vel det index, der skal laves om? Hvordan klarer jeg det?
jeg forstår ikke rigtigt dit problem, jeg kan ikke se hvorfor det ikke skulle virke, der er jo ikke lavet om på den del?
Det var en "slåfejl" fra mig selv, sorry. Læg et svar.
NB! Inden afsnittet, hvor punkterne fra databasen udskrives, sætter den en vandret streg. Hvor mon den stammer fra?
Det skyldes denne linie: echo "<hr />"; tja, jeg synes der stod <br />
Vi tilbyder markedets bedste kurser inden for webudvikling