Знаки зодиака

Shkic

Новичок
Репутация
0 / 64
У меня в базе такого типа запись - 1.1.1950 и имя колонки "birth"

Код:
function get_znak ($b_date) {
$date = strtotime($b_date);
$d = date("j", $date);
$m = date("n", $date);
$znak = array ("Козерог","Водолей","Рыбы","Овен","Телец","Близнецы","Рак","Лев","Дева","Весы","Скорпион","Стрелец");
$na_date = array (22,15,11,18,13,21,20,10,16,30,22,17);
return $d < $na_date[$m] ? $znak[$m-1] : $znak[$m%12];

}

$q = "SELECT birth FROM players WHERE id='".$_SESSION['id']."'";
$r = mysql_fetch_array(mysql_query($q));
echo "<img src='./images/".get_znak($r['birth']).".gif'>";

У всех персонажей пишется "Козерог". Подскажите где ошибка?
 
Ошибка в массивах по моему. Попытайся написать по другому.
 
Ладно, нашел вот такой код, подправил его под мою версию, ошибок не выдаёт но echo""; ничего не выводит :huh:

$q = "SELECT birth FROM players WHERE id='".$_SESSION['id']."'";
$query = mysql_query($q);
$r = mysql_fetch_array($query);
$dnjuxa = explode(".", $r);
$day_month= array($dnjuxa[0],$dnjuxa[1]);
$dataizbazi= implode(".", $day_month);
if ( $dataizbazi >= "21.03" && $dataizbazi <= "20.04" ) echo "1";
if ( $dataizbazi >= "21.04" && $dataizbazi <= "21.05" ) echo "2";
if ( $dataizbazi >= "22.05" && $dataizbazi <= "21,06" ) echo "3";
if ( $dataizbazi >= "22.06" && $dataizbazi <= "22.07" ) echo "4";
if ( $dataizbazi >= "23.07" && $dataizbazi <= "23.08" ) echo "5";
if ( $dataizbazi >= "24.08" && $dataizbazi <= "23.09" ) echo "6";
if ( $dataizbazi >= "24.09" && $dataizbazi <= "23.10" ) echo "7";
if ( $dataizbazi >= "24.10" && $dataizbazi <= "22.11" ) echo "8";
if ( $dataizbazi >= "23.11" && $dataizbazi <= "21.12" ) echo "9";
if ( $dataizbazi >= "22.12" && $dataizbazi <= "20.01" ) echo "10";
if ( $dataizbazi >= "21.01" && $dataizbazi <= "18.02" ) echo "11";
if ( $dataizbazi >= "19.02" && $dataizbazi <= "20.03" ) echo "12";
 
тебе надо сделать знаки зодиака в inf.php или как там было, уже и не помню, в общем в информации об игроке ?
 
$r = mysql_fetch_array(mysql_query("SELECT `birth` FROM `players` WHERE `id`='".$_SESSION['id']."'"));
$dnjuxa = explode(".", $r['birth']);
$day_month= array($dnjuxa[0],$dnjuxa[1]);
$dataizbazi= implode(".", $day_month);
if ( $dataizbazi >= "21.03" && $dataizbazi <= "20.04" ) echo "1";
if ( $dataizbazi >= "21.04" && $dataizbazi <= "21.05" ) echo "2";
if ( $dataizbazi >= "22.05" && $dataizbazi <= "21,06" ) echo "3";
if ( $dataizbazi >= "22.06" && $dataizbazi <= "22.07" ) echo "4";
if ( $dataizbazi >= "23.07" && $dataizbazi <= "23.08" ) echo "5";
if ( $dataizbazi >= "24.08" && $dataizbazi <= "23.09" ) echo "6";
if ( $dataizbazi >= "24.09" && $dataizbazi <= "23.10" ) echo "7";
if ( $dataizbazi >= "24.10" && $dataizbazi <= "22.11" ) echo "8";
if ( $dataizbazi >= "23.11" && $dataizbazi <= "21.12" ) echo "9";
if ( $dataizbazi >= "22.12" && $dataizbazi <= "20.01" ) echo "10";
if ( $dataizbazi >= "21.01" && $dataizbazi <= "18.02" ) echo "11";
if ( $dataizbazi >= "19.02" && $dataizbazi <= "20.03" ) echo "12";
 
$r = mysql_fetch_array(mysql_query("SELECT `birth` FROM `players` WHERE `id`='".$_SESSION['id']."'"));
$dnjuxa = explode(".", $r['birth']);
$day_month= array($dnjuxa[0],$dnjuxa[1]);
$dataizbazi= implode(".", $day_month);
if ( $dataizbazi >= "21.03" && $dataizbazi <= "20.04" ) echo "1";
if ( $dataizbazi >= "21.04" && $dataizbazi <= "21.05" ) echo "2";
if ( $dataizbazi >= "22.05" && $dataizbazi <= "21,06" ) echo "3";
if ( $dataizbazi >= "22.06" && $dataizbazi <= "22.07" ) echo "4";
if ( $dataizbazi >= "23.07" && $dataizbazi <= "23.08" ) echo "5";
if ( $dataizbazi >= "24.08" && $dataizbazi <= "23.09" ) echo "6";
if ( $dataizbazi >= "24.09" && $dataizbazi <= "23.10" ) echo "7";
if ( $dataizbazi >= "24.10" && $dataizbazi <= "22.11" ) echo "8";
if ( $dataizbazi >= "23.11" && $dataizbazi <= "21.12" ) echo "9";
if ( $dataizbazi >= "22.12" && $dataizbazi <= "20.01" ) echo "10";
if ( $dataizbazi >= "21.01" && $dataizbazi <= "18.02" ) echo "11";
if ( $dataizbazi >= "19.02" && $dataizbazi <= "20.03" ) echo "12";

echo""; ничего не выводит ;/// 0 ошибок, проста ничего, как бы этот код игнорирует ;///
 
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
$sql = "SELECT month(`birth`),day(`birth`) FROM `test` where `id`={$_SESSION['id']}";
$res = mysql_fetch_assoc(mysql_query($sql));


function zodiak($month,$day) {
$sign = array("Козерог","Водолей","Рыбы","Овен","Телец","Близнецы","Рак","Лев","Дева","Весы","Скорпион","Стрелец");
$signstart = array(1=>21, 2=>20 , 12=>22 );
return $day < $signstart[$month] ? $sign[$month-1] : $sign[$month%12];
}
echo zodiak($res['month(`birth`)'], $res['day(`birth`)']);
</div>

SELECT month(`birth`), day(`birth`) - выбирают месяц и день из таблицы с типом DATE(birth которая) из БД
$sign - массив с именами знаков
$signstart - массив с первыми днями знака для каждого месяца

ПЫСЫ функцию зодиак тупо скопипастил
 
<div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
$sql = "SELECT month(`birth`),day(`birth`) FROM `test` where `id`={$_SESSION['id']}";
$res = mysql_fetch_assoc(mysql_query($sql));


function zodiak($month,$day) {
$sign = array("Козерог","Водолей","Рыбы","Овен","Телец","Близнецы","Рак","Лев","Дева","Весы","Скорпион","Стрелец");
$signstart = array(1=>21, 2=>20 , 12=>22 );
return $day < $signstart[$month] ? $sign[$month-1] : $sign[$month%12];
}
echo zodiak($res['month(`birth`)'], $res['day(`birth`)']);

SELECT month(`birth`), day(`birth`) - выбирают месяц и день из таблицы с типом DATE(birth которая) из БД
$sign - массив с именами знаков
$signstart - массив с первыми днями знака для каждого месяца

ПЫСЫ функцию зодиак тупо скопипастил[/quote]



Код:
$r = mysql_fetch_array(mysql_query("SELECT `birth` FROM `players` WHERE `id`='".$_SESSION['id']."'"));
$dnjuxa = explode(".", $r['birth']); 
$day_month= array($dnjuxa[0],$dnjuxa[1]);
$dataizbazi= implode(".", $day_month);
if ( $dataizbazi >= "21.03" && $dataizbazi <= "20.04" ) echo "1";
if ( $dataizbazi >= "21.04" && $dataizbazi <= "21.05" ) echo "2";
if ( $dataizbazi >= "22.05" && $dataizbazi <= "21,06" ) echo "3";
if ( $dataizbazi >= "22.06" && $dataizbazi <= "22.07" ) echo "4";
if ( $dataizbazi >= "23.07" && $dataizbazi <= "23.08" ) echo "5";
if ( $dataizbazi >= "24.08" && $dataizbazi <= "23.09" ) echo "6";
if ( $dataizbazi >= "24.09" && $dataizbazi <= "23.10" ) echo "7";
if ( $dataizbazi >= "24.10" && $dataizbazi <= "22.11" ) echo "8";
if ( $dataizbazi >= "23.11" && $dataizbazi <= "21.12" ) echo "9";
if ( $dataizbazi >= "22.12" && $dataizbazi <= "20.01" ) echo "10";
if ( $dataizbazi >= "21.01" && $dataizbazi <= "18.02" ) echo "11";
if ( $dataizbazi >= "19.02" && $dataizbazi <= "20.03" ) echo "12";

на!!
 

Похожие темы

Сверху