PDA

View Full Version : How do i set maximum characters?


Aaron1
12-25-2002, 10:55 AM
IS that very hard to do?
I was trying to incorporate that in the follwing script:

$result = mysql_query("SELECT title, threadid, dateline FROM thread WHERE forumid NOT IN ('10','16')ORDER BY dateline DESC LIMIT 40");

while($row = mysql_fetch_assoc($result))

{
echo "<a class=\"cap\" href=\"javascript:;\" onClick=\"opener.location='/forum/showthread.php?s=&threadid=".$row["threadid"]."'\">".$row["title"]."</a>\r\n";

}


I know it has something to do with:


$maxchars=25; //title lenght in characters

if (strlen($thread['title']) > $maxchars) {
$thread['title'] = substr($thread['title'], 0, $maxchars - 2) . '...';
}


But haven't got a clue how to combine that....
Can you help me out?

Sebastian
12-25-2002, 10:42 PM
little more detail would be good. Max characters for what, subject?

Aaron1
12-26-2002, 12:28 PM
Sorry i forgot to mention that, yes the subject, in this case: $row["title"] But i haven't got a clue how yet. So if you could help that would be great

Aaron1
12-28-2002, 07:19 AM
I have got my pencil and paper ready, how do i do this?

Aaron1
12-29-2002, 11:38 AM
My fingers are getting cramped holding the pencil :)
Nobody knows how?

futureal
12-29-2002, 10:46 PM
Are you saying that you want a string to be no longer than a certain length?

I use a small addition like this in my forums to shrink usernames to show no more than 20 characters in the thread lists. Taking that as an example, you could do this:


if (strlen($mystring) > 20)
$mystring = substr($mystring, 0, 17) . "...";


In this case, the string "abcdefghijklmnopqrs" would pass through untouched, but the string "abcdefghijklmnopqrst" would become "abcdefghijklmnop..."

Does that make any sense? heh

Aaron1
12-30-2002, 12:39 PM
Yes thats exactly what i wanted. Thanks!
So my string is this: $row["title"]

So the code for me would be like this?:

if (strlen($row["title"]) > 20)
$row["title"] = substr($row["title"], 0, 17) . "...";

I am doing something wrong i guess, because the above example doesn't work... Argh!

Aaron1
12-30-2002, 01:06 PM
Let me give you the complete code:

-------------------------
$result = mysql_query("SELECT title, threadid, dateline FROM thread WHERE forumid NOT IN ('10','16')ORDER BY dateline DESC LIMIT 40");

while($row = mysql_fetch_assoc($result))

{
echo ".$row["title"]."\r\n";


}
-------------------------

I hope this helps