Avatar billede akki Nybegynder
26. marts 2003 - 12:34 Der er 5 kommentarer og
1 løsning

har brug for hjælp til...

Et meget hurtig ?.

jeg har lavet et nyheds script.. men det vil jeg gerne havde ændret lidt..

lige nu bliver hele nyheden vist, og det flyder jo ret meget..

er der nogen der ved hvordan man kan lave scriptet sådan, at den viser overskriften, men selv indholdet, er feks kun 3 linjer/200 tegn og for at skulle læse resten skal man trykke på et link...

håber at nogen kan hjælpe..

.....her er mit nuværenden script......

<?
if(empty($start)) {
$start = 0;
}
$limit = 3; // Antallet af rækker der skal vises per gang

$db = mysql_connect("localhost","xxx","xxx");
mysql_select_db("xxx",$db);
$tekst = str_replace("\n","<br>",$tekst);
$foresp = mysql_query("SELECT dato, overskrift, tekst FROM nyheder ORDER BY dato DESC LIMIT $start, $limit");
while($data =mysql_fetch_array($foresp)){

#echo "<b>$data[1]</b> -";
$test = date("j/n -Y",$data[0]);
#echo "<br>$data[2]<br><br>";
   


    print "<table border=0 width=100% class=forum ><td>";
    print "<font size=1 color=#FF9900 face=Verdana, Arial, Helvetica, sans-serif><b>$data[1]</b></font>";
    print "<td ALIGN=right><font size=1 color=#FF9900 face=Verdana, Arial, Helvetica, sans-serif> $test  </font></td></tr> ";
    print "<table border=0 width=100% class=forum align=center><tr><td >";
    print "<font size=1 color=#CCCCCC face=Verdana, Arial, Helvetica, sans-serif>$data[2]</font></td></tr>";
    print "<tr><td></td></tr>";
    print "<div align=right><a href=#top><font size=1 face=Verdana, Arial, Helvetica, sans-serif><strong>Til toppen</strong></font></a>";
    print "</table><br>";
   
}
$query = mysql_query("SELECT id FROM nyheder");

if($start >= $limit) {
if($start < mysql_num_rows($query)+$limit) {
      echo '<a href="'.basename($PHP_SELF).'?start='.($start - $limit).'"><font size=1 color=#FF9900 face=Verdana, Arial, Helvetica, sans-serif>&laquo;&laquo; Tilbage</font></a> &nbsp; ';
}
}

if($start <= mysql_num_rows($query)-$limit) {
      echo '<a href="'.basename($PHP_SELF).'?start='.($start + $limit).'"><font size=1 color=#FF9900 face=Verdana, Arial, Helvetica, sans-serif>Frem &raquo;&raquo;</font></a>';
}
?>
Avatar billede schaefner Juniormester
26. marts 2003 - 12:39 #1
Prøv at kigge på denne artikel:
http://delfs.dk/articles/danish/Start_af_tekst.php
Så laver du bare et link til en side som hiver hele nyheden udfra den id nyheden har.
Avatar billede akki Nybegynder
26. marts 2003 - 13:21 #2
til schaefner...

har set din side..
i dit eksempel:
<?php
$short = substr($row['body'], 0, 100); // Tager de første 100 tegn af strengen
$pos = strrpos($short, ' '); // Finder positionen for det sidste mellemrum i teksten
$short = substr($short, 0, $pos); // Vi giver $pos som 3. argument til subtr() som returnerer op til 100 tegn - indtil sidste punktum
?>

hvad er short.. altså i forhold til min database.. og mine nyheder.. hvor skal jeg sætte det ind henne... kan ikke rigtig se, hvor den skulle skrive teksten....
Avatar billede schaefner Juniormester
26. marts 2003 - 13:27 #3
Har siddet og lavet det her til dig:

--- liste med nyheder ---
<html>
<head>
<style type="text/css">
td {font-size: 11px; font-family: verdana, arial, helvetica, sans-serif; color: #FF9900}
</style>
</head>

<body>

<?php
if(empty($_GET['start'])) {
    $start = 0;
} else {
    $start = $_GET['start'];
}
$limit = 3; // Antallet af rækker der skal vises per gang
$db = mysql_connect("localhost","xxx","xxx");
mysql_select_db("xxx", $db);

$foresp = mysql_query("SELECT * FROM nyheder ORDER BY dato DESC LIMIT $start,$limit");
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\">";
while($data =mysql_fetch_array($foresp)){
    $dato = date("j/n-Y", $data[dato]);
    if(strlen($data[tekst]) > 200) {
        $kort = substr($data['tekst'], 0, 200);
        $pos = strrpos($kort, ' ');
        $tekst = substr($kort, 0, $pos)."...";
    } else {
        $tekst = $row[tekst];
    }
        echo "<tr>";
        echo "<td width=\"70%\"><b><a href=\"shownews.php?id=$data[id]\">$row[overskrift]</a></b></td>
        echo "<td width=\"30%\" align=\"right\">$dato</td>
    echo "</td></tr>";
    echo "<td colspan=\"2\">$tekst</td>";
    echo "</td></tr>";
        echo "<td colspan=\"2\" align=\"right\"><a href=\"#top\"><b>Til toppen</b></a></td>";
      echo "</tr>";
   
}
echo "</table>";
?>
<hr>
<?php
$query = mysql_query("SELECT id FROM nyheder");
if($start >= $limit) {
    if($start < mysql_num_rows($query)+$limit) {
        echo "<a href=\"?start=".($start-$limit)."\">&laquo;&laquo; Tilbage</a>&nbsp;";
    }
}
if($start <= mysql_num_rows($query)-$limit) {
      echo "<a href=\"?start=".($start+$limit)."\">Frem &raquo;&raquo;</a>";
}
?>

</body>
</html>

--- shownews.php ---

<?php
$id = $_GET['id'];
$query = mysql_query("SELECT * FROM nyheder WHERE id=$id");
$data = mysql_fetch_array($query);
echo "<b>$data[overskrift]</b><br><br>";
echo "$data[tekst]";
?>

Burde virke, men det er utestet :)

/Jesper Sørensen
Avatar billede akki Nybegynder
26. marts 2003 - 13:35 #4
tester nu...
Avatar billede schaefner Juniormester
26. marts 2003 - 13:36 #5
Du skal selvølgelig også lige connecte på siden der skal vise hver enkelt nyhed :)
Avatar billede akki Nybegynder
26. marts 2003 - 13:43 #6
det virker.. der skulle lige rettes nogle små ting.. men nu virker det.. takker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester