Max length echo

Status
Niet open voor verdere reacties.

killer4all2

Gebruiker
Lid geworden
26 mei 2009
Berichten
449
Hoi,

Ik ben momenteel samen met iemand een website aan het opzetten voor een community en we willen recent posts op de home pagina in de side bar echo'en. Ik heb hier dan wel het script voor alleen heb ik het probleem dat als de topic naam telang is dat dat niet goed gaat.

Code:
Dit is wat ik wil:

Topic:			By:

Admin Manual	Admin
Current Memb..	Admin

Dit is wat ik krijg:
Topic:			By:

Admin Manual	Admin
Current member lists
				Admin
				
Ik wil dus dat als de Topic name meer als 12 tekens bevat dat hij hem afsnijd. op deze manier `Current member list`, `Current memb..`
Weet iemand hoe dit moet of dat dit kan.

Hoe ziet het script eruit:

Code:
<?php
    $urlPath = "**********************";
    include 'forum/config.php';
 
    $table_topics = $table_prefix. "topics";
    $table_forums = $table_prefix. "forums";
    $table_posts = $table_prefix. "posts";
    $table_users = $table_prefix. "users";
    $link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Could not connect");
    mysql_select_db("$dbname") or die("Could not select database");
 
    $query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
    FROM $table_topics t, $table_forums f, $table_posts p, $table_users u
    WHERE t.topic_id = p.topic_id AND
    f.forum_id = t.forum_id AND
    t.forum_id != 4 AND
    t.topic_status <> 2 AND
    p.post_id = t.topic_last_post_id AND
    p.poster_id = u.user_id
    ORDER BY p.post_id DESC LIMIT 6";
    $result = mysql_query($query) or die("Query failed");									
 
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
 
    echo  "<ul>Topic:<a href=\"$urlPath/viewtopic.php?f=$row[forum_id]&t=$row[topic_id]&p=$row[post_id]#p$row[post_id]\" TARGET=\"_blank\">" . $row["topic_title"] . "</a><br />
	by: <a href=\"$urlPath/memberlist.php?mode=viewprofile&u=$row[user_id]\" TARGET=\"_blank\">" . $row["username"] . "</a>";
    }
    mysql_free_result($result);
    mysql_close($link);
    ?>
	
	<?php "Topic: <a href=\"$urlPath/viewtopic.php?f=$row[forum_id]&t=$row[topic_id]&p=$row[post_id]#p$row[post_id]\" TARGET=\"_blank\">" . $row["topic_title"] . "</a> By: <a href=\"$urlPath/memberlist.php?mode=viewprofile&u=$row[user_id]\" TARGET=\"_blank\">" . $row["username"] . "</a>";
 
Ik zou denken aan zoiets:
PHP:
if( strlen( $row["topic_title"] ) > 12 ) {
  $topic_title = str_split( $row["topic_title"], 12 );
  echo $topic_title[0]; 
}
Dit is even snel bedacht, het zou goed kunnen dat het niet werkt of totaal anders moet, je kunt het allicht even proberen:D.
 
Je kunt beter substr gebruiken:
PHP:
$korte_tekst = substr( $lange_tekst, 0, 12 );
 
en print
?? zal mogelijks het zelfde zijn maar je weet nooit

en include van een file
PHP:
    include("/db/mysql.php");
    mysql_select_db($db_name);
    $res = mysql_query("",????);
    if ((file_exists($cacheFile)) && ((fileatime($cacheFile) + 600) > time()) ){
        $content = file_get_contents($cacheFile);
        echo $content;
    }else{
        ob_start();
            print "<script>";
                print "$(function() {var availableCountryTags = [";
                    while ($row = mysql_fetch_assoc($res)){
                        print '"'.$row['printable_name'].'",'."\n";
                    }
                print "];";
            print "</script>";
        $content = ob_get_contents();
        ob_end_clean();
        file_put_contents('yourfile.cache',$content);
    }
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan