Проблем с код за последни теми

ReD_z0n3

Registered
Здравейте , когато добавя този код за последно коментирани теми от форума ми излиза маймуници ... Ето го и самият код ..

Код:
<?php
include "config.php";
//Брой на последните теми, които искате да се показват
$latest = "10";

$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
if (!$link)
{
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db("$dbname", $link);
if (!$db_selected)
{
die ('Can\'t use foo : ' . mysql_error());
}
mysql_query("SET NAMES UTF8");
$get_url = "SELECT config_name, config_value FROM $table_prefix".config." WHERE config_name = 'server_name' LIMIT 0,1";
$url = mysql_query($get_url);
$url = mysql_fetch_array($url);
$latest_topics = "SELECT * FROM $table_prefix".topics." WHERE topic_approved = '1' ORDER BY topic_time DESC LIMIT 0,$latest";
$topics = mysql_query($latest_topics);
while($row = mysql_fetch_array($topics))
{
extract($row);
if ( ($auth->acl_get('f_read', $row['forum_id'])) || ($row['forum_id'] == '0') )
{
echo "<a href='".$phpbb_root_path."/viewtopic.php?f=".$forum_id."&t=".$topic_id."' target='_blank'>".$topic_title."</a> <br/> видяна: (".$topic_views.") отговори: (".$topic_replies.")<br/>";
}
}
?>
 
Вчера гледах за този проблем, пробвай като направиш кодировката в кода ти

Код:
mysql_query("SET NAMES cp1251");

тоест да стане
<?php
include "forum/config.php";
//Брой на последните теми, които искате да се показват
$latest = "10";

$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
if (!$link)
{
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db("$dbname", $link);
if (!$db_selected)
{
die ('Can\'t use foo : ' . mysql_error());
}
mysql_query("SET NAMES cp1251");
$get_url = "SELECT config_name, config_value FROM $table_prefix".config." WHERE config_name = 'server_name' LIMIT 0,1";
$url = mysql_query($get_url);
$url = mysql_fetch_array($url);
$latest_topics = "SELECT * FROM $table_prefix".topics." WHERE topic_approved = '1' ORDER BY topic_time DESC LIMIT 0,$latest";
$topics = mysql_query($latest_topics);
while($row = mysql_fetch_array($topics))
{
extract($row);
if ( ($auth->acl_get('f_read', $row['forum_id'])) || ($row['forum_id'] == '0') )
{
echo "<a href='".$phpbb_root_path."/viewtopic.php?f=".$forum_id."&t=".$topic_id."' target='_blank'>".$topic_title."</a> <br/> видяна: (".$topic_views.") отговори: (".$topic_replies.")<br/>";
}
}
?>
мисля че няма да имаш проблем
 
lub4o каза:
Вчера гледах за този проблем, пробвай като направиш кодировката в кода ти

Код:
mysql_query("SET NAMES cp1251");

тоест да стане
<?php
include "forum/config.php";
//Брой на последните теми, които искате да се показват
$latest = "10";

$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
if (!$link)
{
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db("$dbname", $link);
if (!$db_selected)
{
die ('Can\'t use foo : ' . mysql_error());
}
mysql_query("SET NAMES cp1251");
$get_url = "SELECT config_name, config_value FROM $table_prefix".config." WHERE config_name = 'server_name' LIMIT 0,1";
$url = mysql_query($get_url);
$url = mysql_fetch_array($url);
$latest_topics = "SELECT * FROM $table_prefix".topics." WHERE topic_approved = '1' ORDER BY topic_time DESC LIMIT 0,$latest";
$topics = mysql_query($latest_topics);
while($row = mysql_fetch_array($topics))
{
extract($row);
if ( ($auth->acl_get('f_read', $row['forum_id'])) || ($row['forum_id'] == '0') )
{
echo "<a href='".$phpbb_root_path."/viewtopic.php?f=".$forum_id."&t=".$topic_id."' target='_blank'>".$topic_title."</a> <br/> видяна: (".$topic_views.") отговори: (".$topic_replies.")<br/>";
}
}
?>
мисля че няма да имаш проблем

Мерси стана :)
 
Ползвай само utf8... и аз имах същия проблем, но се решава като си оправиш енкодинга. Не се занимавай с cp1251, това е измислица на microsoft-a...

всичко по метатаговете на сайта си слагаш да е utf-8, а към Queryt-и на mysql трябва да стане така:

mysql_query("set names utf8")

или другия вариант, които е абсолютно същия, но по друг начин написан...:

$chars="SET CHARACTER SET utf8";
mysql_query($chars);


Както и в базата данни... енкодинга го задаваш да е:

utf8_unicode_ci
 

Back
Горе