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
Annonceindlæg fra Kingston Technology
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
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);
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'> </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>››</strong> <font color='#FF0000'><strong>Lej filmen...</strong></font></td>"; echo " <td> </td>"; echo " </tr>"; echo "</table>"; } ?> og det er $[beskrivelse] hvor jeg gerne vil have de bare 30 første bogstaver fra.
13. marts 2004 - 11:49
#4
$row[beskrivelse] skulle den selvfølgelig hedde...
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>";
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>";
13. marts 2004 - 11:54
#7
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>";
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.
14. marts 2004 - 11:48
#11
detox >> Smid et svar, og der er point på vej til dig...
14. marts 2004 - 12:11
#12
c",)
Vi tilbyder markedets bedste kurser inden for webudvikling