Помогите с кодом

hamsterhomka

Новичок
Здравствуйте, уважаемые программисты. У меня есть код:

<?
include("../modules/conf.php");
mysql_select_db(characters,mysql_connect($nameSERVER,$nameUSER,$passUSER));
function top10achievement() {
$sm_read = file("achievements.html");
$sm_read = implode("",$sm_read);
$result_index = mysql_query("SELECT guid,totalKills,name,race,gender,class,deleteDate FROM characters WHERE deleteDate IS NULL");
$myrow_index = mysql_fetch_array($result_index);
preg_match("/\[_repeat\](.*?)\[_repeat\]/s",$sm_read,$div_menu);
do {
if($myrow_index[race] == 1)
{
$race = "human";
$img_src_faction = "../images/icons/alliance.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/human_man.gif";
}
else {$img_src_race = "../images/icons/human_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif";
} //Человек
if($myrow_index[race] == 2)
{
$race = "orc";
$img_src_faction = "../images/icons/horde.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/orc_man.gif";
}
else {$img_src_race = "../images/icons/orc_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif"; //ОРК
}

if($myrow_index[race] == 3)
{
$race = "dworf";
$img_src_faction = "../images/icons/alliance.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/dworf_man.gif";
}
else {$img_src_race = "../images/icons/dworf_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif"; //Дворф
}

if($myrow_index[race] == 4)
{
$race = "nightelf";
$img_src_faction = "../images/icons/alliance.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/nightelf_man.gif";
}
else {$img_src_race = "../images/icons/nightelf_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif";//Ночной эльф
}

if($myrow_index[race] == 5)
{
$race = "undead";
$img_src_faction = "../images/icons/horde.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/undead_man.gif";
}
else {$img_src_race = "../images/icons/undead_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif";//Нежить
}

if($myrow_index[race] == 6)
{
$race = "tauren";
$img_src_faction = "../images/icons/horde.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/tauren_man.gif";
}
else {$img_src_race = "../images/icons/tauren_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif";//Таурен
}

if($myrow_index[race] == 7)
{
$race = "gnom";
$img_src_faction = "../images/icons/alliance.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/gnom_man.gif";
}
else {$img_src_race = "../images/icons/gnom_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif"; //Гном
}

if($myrow_index[race] == 8)
{
$race = "troll";
$img_src_faction = "../images/icons/horde.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/troll_man.gif";
}
else {$img_src_race = "../images/icons/troll_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif"; //Троль
}

if($myrow_index[race] == 10)
{
$race = "bloodelf";
$img_src_faction = "../images/icons/horde.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/bloodelf_man.gif";
}
else {$img_src_race = "../images/icons/bloodelf_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif"; //Кровавый эльф
}

if($myrow_index[race] == 11)
{
$race = "dreney";
$img_src_faction = "../images/icons/alliance.png";
if($myrow_index[gender] == 0)
{
$gender = man;
$img_src_race = "../images/icons/dreney_man.gif";
}
else {$img_src_race = "../images/icons/dreney_woman.gif"; $gender = woman;}
if($myrow_index["class"] == 6)$img_src_race="../images/icons/".$race."_dk_".$gender.".gif";//Дреней
}

if($myrow_index["class"] == 1)$img_src_class = "../images/icons/warrior.png";
if($myrow_index["class"] == 2)$img_src_class = "../images/icons/paladin.png";
if($myrow_index["class"] == 3)$img_src_class = "../images/icons/hunter.png";
if($myrow_index["class"] == 4)$img_src_class = "../images/icons/rogue.png";
if($myrow_index["class"] == 5)$img_src_class = "../images/icons/priest.png";
if($myrow_index["class"] == 6)$img_src_class = "../images/icons/death_knight.png";
if($myrow_index["class"] == 7)$img_src_class = "../images/icons/shaman.png";
if($myrow_index["class"] == 8)$img_src_class = "../images/icons/mage.png";
if($myrow_index["class"] == 9)$img_src_class = "../images/icons/warlock.png";
if($myrow_index["class"] == 11)$img_src_class = "../images/icons/druid.png";

$guid = $myrow_index[guid];
$result_a = mysql_query("SELECT achievement FROM character_achievement WHERE guid='$guid'");
$achievement_n = mysql_num_rows($result_a);
$achievement_n .= "/1058";


$edd_tamp = $div_menu[1];
$edd_tamp = str_replace("[_src_faction]",$img_src_faction,$edd_tamp);
$edd_tamp = str_replace("[_src_race]",$img_src_race,$edd_tamp);
$edd_tamp = str_replace("[_src_class]",$img_src_class,$edd_tamp);
$edd_tamp = str_replace("[_name]",$myrow_index[name],$edd_tamp);
$edd_tamp = str_replace("[_achievements_n]",$achievement_n,$edd_tamp);
$disp .= $edd_tamp;
}
while($myrow_index = mysql_fetch_array($result_index));
$disp = preg_replace("/\[_repeat\].*?\[_repeat\]/s",$disp,$sm_read);
return $disp;
}
?>

И мне нужно, чтобы выводимые строки сортировались по $achievement_n. подскажите пажалуйста как это сделать.
 

Фанат

oncle terrible
Команда форума
а побольше кода не нашлось? Ну, строк 3000-4000 хотя бы? А то в этой паре строчек разбираться неинтересно.
 

hamsterhomka

Новичок
Извиняюсь.

<?
include("../modules/conf.php");
mysql_select_db(characters,mysql_connect($nameSERVER,$nameUSER,$passUSER));
function top10achievement() {
$sm_read = file("achievements.html");
$sm_read = implode("",$sm_read);
$result_index = mysql_query("SELECT guid,totalKills,name,race,gender,class,deleteDate FROM characters WHERE deleteDate IS NULL");
$myrow_index = mysql_fetch_array($result_index);
preg_match("/\[_repeat\](.*?)\[_repeat\]/s",$sm_read,$div_menu);
do {

$guid = $myrow_index[guid];
$result_a = mysql_query("SELECT achievement FROM character_achievement WHERE guid='$guid'");
$achievement_n = mysql_num_rows($result_a);
$achievement_n .= "/1058";


$edd_tamp = $div_menu[1];
$edd_tamp = str_replace("[_src_faction]",$img_src_faction,$edd_tamp);
$edd_tamp = str_replace("[_src_race]",$img_src_race,$edd_tamp);
$edd_tamp = str_replace("[_src_class]",$img_src_class,$edd_tamp);
$edd_tamp = str_replace("[_name]",$myrow_index[name],$edd_tamp);
$edd_tamp = str_replace("[_achievements_n]",$achievement_n,$edd_tamp);


$disp .= $edd_tamp;
}
while($myrow_index = mysql_fetch_array($result_index));
$disp = preg_replace("/\[_repeat\].*?\[_repeat\]/s",$disp,$sm_read);
return $disp;
}
?>
 

WMix

герр M:)ller
Партнер клуба
а на сколько велик выбор, если один запрос из двух, выдает по одной строчке?
PHP:
$result_a = mysql_query("SELECT achievement FROM character_achievement WHERE guid='$guid'");
 

hamsterhomka

Новичок
а на сколько велик выбор, если один запрос из двух, выдает по одной строчке?
PHP:
$result_a = mysql_query("SELECT achievement FROM character_achievement WHERE guid='$guid'");
Дело в том, что нужное мне значение, а именно mysql_num_rows($result_a) по которому нужно сортироваать содержится во втором запросе.
 

hamsterhomka

Новичок
а на сколько велик выбор, если один запрос из двух, выдает по одной строчке?
PHP:
$result_a = mysql_query("SELECT achievement FROM character_achievement WHERE guid='$guid'");
И в этом запросе не одна строчка, а множество, так как значений achievement для определенного guid может быть много.
 

Фанат

oncle terrible
Команда форума
Код не читал, но как писча для размышлений
PHP:
SELECT guid, count(1) cnt FROM character_achievement GROUP BY guid ORDER BY cnt DESC
 
Сверху