Avatar billede tlunde Nybegynder
13. marts 2004 - 11:37 Der er 11 kommentarer og
1 løsning

Udskriv X antal bogstaver af en string fra DB.

Hejsa,
Hvordan er det nu man udskriver f.eks. 30 bogstaver fra en tekst der trækkes ud fra en database?

Jeg har nemlig en lang tekst, og der skal kun udskrives de første 30 bogstaver, og så derefter skal der så stå "...Læs mere" som skal være et link til filmen...

Hvordan er det det gøres?

Hilsen
Thomas Lunde
Avatar billede martinbk Nybegynder
13. marts 2004 - 11:40 #1
substring("dette er en meget meget lang streng og nu vil jeg gerne have de første 30 chars", 0, 30
Avatar billede martinbk Nybegynder
13. marts 2004 - 11:41 #2
argh jeg er da en pade på denne tid af dagen.. skal lade vær med at tåge i java og php samtidig.

prøv den her:
substr("dette er en meget meget lang streng og nu vil jeg gerne have de første 30 chars", 0, 30);
Avatar billede tlunde Nybegynder
13. marts 2004 - 11:48 #3
okay, det ligner noget jeg har set før, men hvordan skal jeg sættte dette ind, så det virker??

Den måde jeg trækker mit data ud på, er sådan her:
<?
db_con();

$query = mysql_query("SELECT * FROM www_filmliste WHERE id = $_GET[id] ORDER BY titel");
while ($row = mysql_fetch_array($query)) {

echo "<table width='100%' border='0' cellpadding='3' cellspacing='0' class='tekstafsnit'>";
echo "  <tr>";
echo "    <td rowspan='6' valign='top'><img src=$row[pic_url]></td>";
echo "    <td rowspan='6'>&nbsp;</td>";
echo "    <td colspan='2' class='film_overskrift'><strong><div align='left'>$row[titel]</div></strong></td>";
echo "  </tr>";
echo "  <tr>";
echo "    <td colspan='2' valign='top'>$row[beskrivelse] - <a href='filmliste_filmdetaljer.php?id=$row[id]'>Læs mere...</a></td>";
echo "  </tr>";
echo "  <tr>";
echo "    <td valign='top'><strong>Skuespillere:</strong></td>";
echo "    <td valign='top'><strong>$row[skuespillere]</strong></td>";
echo "  </tr>";
echo "  <tr>";
echo "    <td valign='top'><strong>Instruktør:</strong></td>";
echo "    <td valign='top'><strong>$row[instruktoer]</strong></td>";
echo "  </tr>";
echo "  <tr>";
echo "    <td valign='top'><strong>Kategori:</strong></td>";
echo "    <td valign='top'><strong>$row[kategori]:</strong></td>";
echo "  </tr>";
echo "  <tr>";
echo "    <td><strong>&#8250;&#8250;</strong> <font color='#FF0000'><strong>Lej filmen...</strong></font></td>";
echo "    <td>&nbsp;</td>";
echo "  </tr>";
echo "</table>";
}
?>

og det er $[beskrivelse] hvor jeg gerne vil have de bare 30 første bogstaver fra.
Avatar billede tlunde Nybegynder
13. marts 2004 - 11:49 #4
$row[beskrivelse] skulle den selvfølgelig hedde...
Avatar billede martinbk Nybegynder
13. marts 2004 - 11:50 #5
echo "    <td colspan='2' valign='top'>substr($row[beskrivelse], 0, 30) - <a href='filmliste_filmdetaljer.php?id=$row[id]'>Læs mere...</a></td>";
Avatar billede martinbk Nybegynder
13. marts 2004 - 11:52 #6
skal det være helt pænt burde man vel lave noget alla:

echo "    <td colspan='2' valign='top'>".substr($row['beskrivelse'], 0, 30)." - <a href='filmliste_filmdetaljer.php?id=$row[id]'>Læs mere...</a></td>";
Avatar billede tlunde Nybegynder
13. marts 2004 - 11:54 #7
Avatar billede tlunde Nybegynder
13. marts 2004 - 11:56 #8
Nu kommer den lige med fejl:
http://www.rent-a-movie.dk/filmlisten/filmliste_kategorier.php?kat=action

i denne linie:
echo "    <td colspan='2' valign='top'>'.substr($row['beskrivelse'], 0, 30).' - <a href='filmliste_detaljer.php?id=$row[id]'>Læs mere...</a></td>";
Avatar billede detox Nybegynder
13. marts 2004 - 12:28 #9
Altså mit forslag vil være, at du kun henter det i databasen som du har brug for. Der er jo ingen grund til at hente en masse tekst som du ikke skal bruge. Du kan eksempelvis godt nøjes med at hente 30 tegn fra feltet 'beskrivelse' med:

$query = mysql_query("SELECT id, pic_url, titel, skuespillere, instruktoer, kategori, LEFT(beskrivelse, 30) AS short FROM www_filmliste WHERE id = $_GET[id] ORDER BY titel");

og så udskrive linket med:

echo "    <td colspan='2' valign='top'>$row[short] - <a href='filmliste_filmdetaljer.php?id=$row[id]'>Læs mere...</a></td>";
Avatar billede jakoba Nybegynder
13. marts 2004 - 12:38 #10
tlunde var tæt på men glemte at markere med anførselstegn de steder nan indsatte punktummer.

echo "    <td colspan='2' valign='top'>'"
    . substr($row['beskrivelse'], 0, 30)
    . "' - <a href='filmliste_detaljer.php?id=$row[id]'>Læs mere...</a></td>";

Hvis man skriver sine strenge kønt er den slags fejl nemme at finde.
Avatar billede tlunde Nybegynder
14. marts 2004 - 11:48 #11
detox >> Smid et svar, og der er point på vej til dig...
Avatar billede detox Nybegynder
14. marts 2004 - 12:11 #12
c",)
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