Разширяване на таблиците..

FirstBlood

Registered
Току що си оправих кода за последни теми в форумите, но имам един проблем.
Ако заглавието на темата е много дълго се разтягат таблиците на портала....как да го оправя ?

pro.png


Ако неможе да се оправи при PHP-Fusion-a, как да се оправи чрез IPB-то ?

Мерси предварително!
 
kanadeca каза:
Ами слагай интервали м/у буквите и то ще ти пренася думите на нови редове. :)
Нали се сещаш, че в този форум няма да пиша само аз :D
 
svilkaa каза:
я дай кода с който извеждаш темите
Код:
openside("Последно в форумитe");
$host="localhost";
//Ако го държите на вашия сървър. Ако не, посочете пътя до сървъра.
$user="root";
$pass="*******";
$db="db";
//Прии мен е така, защото така съм кръстил БД на форума. Ако вие сте я кръстили по друг начин, променете го.
$table_topics="ipb_topics";
$table_forums="ipb_forums";
$table_category="ipb_categories";
$laforums="10";
//Колко теми да показва. Вие можете да изберете повече или по-малко.
$link=mysql_connect($host, $user, $pass);
$db=mysql_select_db($db);
$query="select * from $table_topics order by start_date desc limit 0,$laforums";
$result=mysql_query($query, $link);
while ($row=mysql_fetch_array($result)) {
$query1="select * from $table_forums where id='$row[forum_id]'";
$result1=mysql_query($query1, $link);
$row1=mysql_fetch_array($result1);
$forum_name=$row1[name];
$category_id=$row1[category];
$cat=$row2[name];
if ( $row[posts]==0 ){
echo "<a href='forum/index.php?showtopic=$row[0]'>$cat $row[title]</a><br>";
}
//Това е за заглавието на темата.
else {
echo "<a href='forum/index.php?showtopic=$row[0]'>$cat $row[title]</a> ($row[posts])<br>";
}
//Това е за  броя на отговорите в темата.
}  
closeside();
 
Пробвай така:
* с RSS
Код:
<?php

set_time_limit(0);
$file = "http://сайт/forum/index.php?act=rssout&id=1"; //път към RSS
$maxchar = "100"; //колко символа да показва
$broi = "5"; //колко теми да извежда

$rss_channel = array();
$currently_writing = "";
$main = "";
$item_counter = 0;

function startElement($parser, $name, $attrs) {
   	global $rss_channel, $currently_writing, $main;
   	switch($name) {
   		case "RSS":
   		case "RDF:RDF":
   		case "ITEMS":
   			$currently_writing = "";
   			break;
   		case "CHANNEL":
   			$main = "CHANNEL";   			break;
   		case "IMAGE":
   			$main = "IMAGE";
   			$rss_channel["IMAGE"] = array();
   			break;
   		case "ITEM":
   			$main = "ITEMS";
   			break;
   		default:
   			$currently_writing = $name;
   			break;
   	}
}

function endElement($parser, $name) {
   	global $rss_channel, $currently_writing, $item_counter;
   	$currently_writing = "";
   	if ($name == "ITEM") {
   		$item_counter++;
   	}
}

function characterData($parser, $data) {
	global $rss_channel, $currently_writing, $main, $item_counter;
	if ($currently_writing != "") {
		switch($main) {
			case "CHANNEL":
				if (isset($rss_channel[$currently_writing])) {
					$rss_channel[$currently_writing] .= $data;
				} else {
					$rss_channel[$currently_writing] = $data;
				}
				break;
			case "IMAGE":
				if (isset($rss_channel[$main][$currently_writing])) {
					$rss_channel[$main][$currently_writing] .= $data;
				} else {
					$rss_channel[$main][$currently_writing] = $data;
				}
				break;
			case "ITEMS":
				if (isset($rss_channel[$main][$item_counter][$currently_writing])) {
					$rss_channel[$main][$item_counter][$currently_writing] .= $data;
				} else {
					$rss_channel[$main][$item_counter][$currently_writing] = $data;
				}
				break;
		}
	}
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
	die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
	if (!xml_parse($xml_parser, $data, feof($fp))) {
		die(sprintf("XML error: %s at line %d",
					xml_error_string(xml_get_error_code($xml_parser)),
					xml_get_current_line_number($xml_parser)));
	}
}
xml_parser_free($xml_parser);

if (isset($rss_channel["ITEMS"])) {
	if (count($rss_channel["ITEMS"]) > 0) {
		echo "<table width='100%' height='50' cellpadding='0' cellspacing='0' border='1' bgcolor='e6e6e6'>";
		for($i = 0;$i < $broi;$i++) {
			if (strlen($rss_channel["ITEMS"][$i]["TITLE"]) > $maxchar) {
			$rssname = $rss_channel["ITEMS"][$i]["TITLE"];
			$rssname = substr($rssname, 0, $maxchar);
			$rssname .= "...";
			}
			else $rssname = $rss_channel["ITEMS"][$i]["TITLE"];
			echo "<tr><td align='left' style='padding: 2px; font-size: 9px; color: yellow; font-family: Verdana;'><a href=\"" . $rss_channel["ITEMS"][$i]["LINK"] . "\" target=\"_blank\">" . $rssname . "</a></b></td></tr>";
		}
		echo "</table>";
	}
}

?>

С този код дет ми даде ми изкарва грешки и ся гледам кво може да се направи
 
Това което ти дадох е за изваждане на последни теми от IPB чрез RSS ;) Ти дето даде код-а ми изкарва няква грешка и нз защо ... Пробвай това дето ти дадох само смени пътя към rss-то и промени стойноста на броя на символите: $maxchar = "100";
 

Back
Горе