Har en kolumn i en MySQL-databas som heter Text, nu undrar jag om man med PHP kan visa de t ex 50 första orden (kanske bara går med tecken?) ur den texten men oxo att den "avrundar" eller slutar visa efter nästa kommande punkt!
Alltså, jag vill jag att den ska visa de t ex 50 första orden, men dock fortsätta visa resten tills nästa punkt kommer.
T ex om det hade vart 3 första orden så vill jag att den då visar:
Pelle åt en glass igår.
- istället för
Pelle åt en
Men det kanske bara går/går bättre med tecken istället för ord?
Tack, har testat lite med hur jag ska lägga in koden. Letade tidigare efter tutorials på hur man gör nyhetssystem och hittade den här enkla, som jag nu testar på. Men jag fattar inte riktigt var jag ska placera kodsnutten du skrev.
Och angående koden nedan, där det står $rows[1,2,3 osv], går det inte att använda själva namnet som man har i databsen, t ex rubrik, text, datum etc?
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php
//connect using your hostname , username and password.
$connection = mysql_connect("localhost" , "namn" , "lösen");
//select the news database
$db = mysql_select_db("newstest" , $connection);
//this is our SQL query , note we are ordering by the submitted date
//and setting a limit of ten items
$query = "SELECT * FROM news ORDER BY datum DESC LIMIT 10";
//execute the query
$result = mysql_query($query);
//start creating our table
echo ("<table border = '0' width = '90%'>");
//loop through rows in the database
while ($rows = mysql_fetch_row($result))
{
//in the first row we display the title ($rows[1]) and the author $rows[3]
echo ("<tr bgcolor='violet'><td>$rows[1]</td><td>author : $rows[3]</td></tr>");
//in the next row we display the description which is $rows[2]
echo ("<tr><td colspan ='2' bgcolor='lavender'>$rows[2]</td></tr>");
//finally we display the url which is rows[5] and the submitted date which is rows[4]
echo ("<tr bgcolor='violet'><td><a href='$rows[5]'>$rows[5]</a></td><td>Submitted on : $rows[4]</td></tr>");
}
//finish or table
echo "</table>";
?>
</body>
</html>
Obs: jag har inte skrivit koden själv, hitta den på tutorialsida.
Detta uppstår antagligen när $rows[2] innehåller färre än 50 ord.
På någon sett måste du sätta en limit på while satsen så att den inte fortsätter i all evighet. Förutsettningen nu är att det 50 ordet eller efter innehåller en punkt. Är det däremot bara 49 ord eller färre fortsätter while satsen i all evighet...
du skulle kunna ersätta
while($punkt == FALSE) {
med
while($punkt == FALSE || $i>=60) {
men då struntar den i om det är någon punkt efter 60 ord utan avbryter där direkt. Men är det däremot en punkt i 54 ordet kommer den att sluta där.
Vad tror du om det?
------------------
<A HREF="http://www.gaski.net" TARGET=_blank>Datorer är inte smarta, de bara tror att de är det.</A>