проблем с файл от анкета

rado0

Registered
здравейте може ли да оправите тази грешка Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/1gb.bg/b/e/a/bear/htdocs/anketa/functions.php on line 228

това е файла
Код:
<?php
$all_colors = array("black", "white", "blue", "dark_blue", "green", "dark_green", "red", "dark_red", "purple", "dark_purple", "yellow", "orange", "light_orange", "gray", "pink");

function view_results($id=0, $width, $podrejdane, $vote_poll=0, $to_vote=0, $time_vote=0, $time_votee=0, $count_answers=1, $result_view=0, $select_color)
{
	global $all_colors;
	$show_result = true;
	$show_error = false;
	if ($vote_poll)
	{
		if ($to_vote)
		{
			$count_vote = count($to_vote);
			if (substr_count($count_answers, "-"))
			{
				$ex_count_answers = explode("-", $count_answers);
				if (!in_array($count_vote, range($ex_count_answers[0], $ex_count_answers[1])))
				{
					$show_result = false;
					$show_error = "Трябва да изберете от {$ex_count_answers[0]} до {$ex_count_answers[1]} отговора!";
				}
			}
			elseif ($count_answers > 1)
			{
				if ($count_vote != $count_answers)
				{
					$show_result = false;
					$show_error = "Трябва да изберете точно {$count_answers} отговора!";
				}
			}
			
			if ($show_result)
			{
				if ($time_votee)
				{
					if ($time_votee == 1)
					{
						mysql_query("INSERT INTO `ips` (`id_vapros`,`ip`,`timestamp`) VALUES ('$vote_poll','".$_SERVER['REMOTE_ADDR']."','0')");
					}
					else
					{
						$ip_co = mysql_num_rows(mysql_query("SELECT * FROM `ips` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `id_vapros` = '$vote_poll' LIMIT 1"));
						if ($ip_co)
						{
							mysql_query("UPDATE `ips` SET `timestamp` = '".(time() + $time_vote)."' WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `id_vapros` = '$vote_poll'");
						}
						else
						{
							mysql_query("INSERT INTO `ips` (`id_vapros`,`ip`,`timestamp`) VALUES ('$vote_poll','".$_SERVER['REMOTE_ADDR']."','".(time() + $time_vote)."')");
						}
					}
				}
				if ($count_vote > 1)
				{
					foreach ($to_vote as $idto)
					{
						mysql_query("UPDATE `otgovori` SET `broi` = broi + 1 WHERE `id` = '$idto' LIMIT 1");
					}
					mysql_query("UPDATE `vaprosi`SET `br_otgovori` = br_otgovori + $count_vote WHERE `id` = '$vote_poll'");
				}
				else
				{
					$to_vote = (is_array($to_vote)) ? $to_vote[0] : $to_vote;
					mysql_query("UPDATE `otgovori` SET `broi` = broi + 1 WHERE `id` = '$to_vote' LIMIT 1");
					mysql_query("UPDATE `vaprosi`SET `br_otgovori` = br_otgovori + 1 WHERE `id` = '$vote_poll'");
				}
			}
		}
		$id = $vote_poll;
	}
	
	if ($show_result)
	{
		if ($select_color == "rand")
		{
			$i=0;
			shuffle($all_colors);
		}
		$vapros = mysql_fetch_array(mysql_query("SELECT * FROM `vaprosi` WHERE `id` = '$id' LIMIT 1"));
		$order = ($podrejdane) ? "ORDER BY `broi` DESC, `id` ASC" : "ORDER BY `id` ASC";
		$query = mysql_query("SELECT * FROM `otgovori` WHERE `id_vapros` = '$id' $order");
		$return = "<b>".$vapros['vapros']."</b><table border=\"0\">\n";
		while ($otgovori = mysql_fetch_array($query))
		{
			$procent = @round(($otgovori['broi'] * (100/$vapros['br_otgovori'])));
			$width_pic = @($otgovori['broi'] * ($width/$vapros['br_otgovori']));
			$return .= "<tr><td>".$otgovori['otgovor']."<br /><img src=\"poll_images/vote_".(($select_color == "rand") ? $all_colors[$i] : $select_color).".png\" width=\"".$width_pic."\" height=\"9\" border=\"0\"></td><td>Гласове: ".$otgovori['broi']." (".$procent."%)</td></tr>\n";
			
			if ($select_color == "rand") $i++;
		}
		$return .= "</table>\nОбщо гласове: ".$vapros['br_otgovori'];
	}
	else
	{
		$return = "<b>{$show_error}</b><br />";
		$return .= view_form($vote_poll, $result_view, $count_answers);
	}
	return $return;
}

function view_form($id, $result_view, $count_answers)
{
	$vapros = mysql_fetch_array(mysql_query("SELECT `vapros` FROM `vaprosi` WHERE `id` = '$id' LIMIT 1"));
	$query = mysql_query("SELECT `id`,`otgovor` FROM `otgovori` WHERE `id_vapros` = '$id' ORDER BY `id` ASC");
	$_SESSION['poll_id'] = $id;
	$_SESSION['count_answers'] = $count_answers;
	$more_answers = (substr_count($count_answers, "-") || $count_answers > 1) ? true : false;
	$return = "<b>".$vapros['vapros']."</b>
<form action=\"\" method=\"post\">
<table border=\"0\">\n";
	while ($otgovori = mysql_fetch_array($query))
	{
		$return .= "<tr><td><input type=\"".(($more_answers) ? "checkbox" : "radio")."\" name=\"vote".(($more_answers) ? "[]" : "")."\" value=\"".$otgovori['id']."\"> ".$otgovori['otgovor']."</td></tr>\n";
	}
	$return .= "</table>\n<input type=\"submit\" name=\"vote_poll\" value=\"Гласувай\">\n</form>";
	$return .= ($result_view) ? "<a href=\"?poll_results=$id\">Виж резултатите</a>" : '';
return $return;
}

function poll($pol_id="last", $br_glas=0, $width=100, $podrejdane=0, $result_view=0, $count_answers=1, $select_color="red")
{
	global $all_colors;
    if (isset($_GET['poll_results']) && is_numeric($_GET['poll_results']) && $_GET['poll_results'] > 0 && $result_view)
    {
        $p_ank = mysql_num_rows(mysql_query("SELECT * FROM `vaprosi` WHERE `id` = '".$_GET['poll_results']."' LIMIT 1"));
    }
    else
    {
        $p_ank = 0;
    }
    
    if ($p_ank > 0)
    {
        echo view_results(0, $width, $podrejdane, $_GET['poll_results'], 0, 0, 0, 0, 0, $select_color);
    }
    else
    {
        $ip = $_SERVER['REMOTE_ADDR'];
        $time = time();
        
        $pol_id = ($pol_id == "rand" || $pol_id == "not_vote" || $pol_id == "last" || (is_numeric($pol_id) && $pol_id > 0)) ? $pol_id : "last";
        $br_glas = ($br_glas === 0 || $br_glas === 1 || ereg('^[1-9]{1}[0-9]*[ ]{1}(sec|min|hour|day|week|month|year)$', $br_glas)) ? $br_glas : 0;
        $width = (is_numeric($width) && $width > 0) ? $width : 100;
        $podrejdane = ($podrejdane == 1 || $podrejdane == 0) ? $podrejdane : 0;
        $result_view = ($result_view == 1 || $result_view == 0) ? $result_view : 0;
        $count_answers2 = explode("-", $count_answers);
        $count_answers = (preg_match('/[1-9]{1}([0-9]{1})?(-\[1-9]{1}([0-9]{1})?)?/', $count_answers)) ? ((count($count_answers2) == 2) ? (($count_answers2[0] < $count_answers2[1]) ? $count_answers : $count_answers2[1] ) : $count_answers) : 1;
        $select_color = (in_array($select_color, $all_colors) || $select_color == "rand") ? $select_color : "red";
        
        if ($br_glas !== 0 && $br_glas !== 1)
        {
            $raz = explode(" ", $br_glas);
            $num = $raz[0]; $data = $raz[1];
            
            if ($data == "sec") { $time_vote = $num; }
            elseif ($data == "min") { $time_vote = $num * 60; }
            elseif ($data == "hour") { $time_vote = $num * 3600; }
            elseif ($data == "day") { $time_vote = $num * 86400; }
            elseif ($data == "week") { $time_vote = $num * 604800; }
            elseif ($data == "month") { $time_vote = $num * 2629743; }
            elseif ($data == "year") { $time_vote = $num * 31556926; }
            $time_votee = 2;
        }
        else
        {
            $time_votee = ($br_glas) ? 1 : 0;
        }
        
        
        if (isset($_POST['vote_poll']) && is_numeric($_SESSION['poll_id']))
        {
        	if (substr_count($_SESSION['count_answers'], "-") || $_SESSION['count_answers'] > 1)
        	{
        		$idto = (count($_POST['vote'])) ? $_POST['vote'] : array();
        		foreach ($idto as $idta)
        		{
        			if (is_numeric($idta))
        			{
        				$ot_c = @mysql_result(mysql_query("SELECT COUNT(*) FROM `otgovori` WHERE `id_vapros` = '".$_SESSION['poll_id']."' AND `id` = '$idta'"), 0);
        				if (!$ot_c) break;
        			}
        			else break;	
        		}
        	}
        	else
        	{
        		if (is_numeric($_POST['vote']) && $_POST['vote'] > 0)
            		$ot_c = @mysql_result(mysql_query("SELECT COUNT(*) FROM `otgovori` WHERE `id_vapros` = '".$_SESSION['poll_id']."' AND `id` = '".$_POST['vote']."'"), 0);
            }
            
            if ($time_votee)
            {
                if ($time_votee == 1)
                {
                    $ip_c = mysql_num_rows(mysql_query("SELECT * FROM `ips` WHERE `ip` = '$ip' AND `id_vapros` = '".$_SESSION['poll_id']."' LIMIT 1"));
                }
                else
                {
                    $ip_c = mysql_num_rows(mysql_query("SELECT * FROM `ips` WHERE `id_vapros` = '".$_SESSION['poll_id']."' AND `ip` = '$ip' AND `timestamp` > $time LIMIT 1"));
                }
            }
            else
            {
                $ip_c = 0;
            }
        }
        
        if (isset($ot_c) && !$ip_c)
        {
            echo view_results(0, $width, $podrejdane, $_SESSION['poll_id'], $_POST['vote'], $time_vote, $time_votee, $_SESSION['count_answers'], $result_view, $select_color);
        }
        else
        {
            if ($pol_id == "rand")
            {
            	$query = mysql_query("SELECT `id` FROM `vaprosi` ORDER BY RAND() LIMIT 1");
                $anketata = mysql_fetch_array($query);
                $anketata['kolko'] = mysql_num_rows($query);
            }
            elseif ($pol_id == "last")
            {
            	$query = mysql_query("SELECT `id` FROM `vaprosi` ORDER BY `id` DESC LIMIT 1");
                $anketata = mysql_fetch_array($query);
                $anketata['kolko'] = mysql_num_rows($query);
            }
            else
            {
                $anketata = mysql_fetch_array(mysql_query("SELECT `id`,COUNT(*) as 'kolko' FROM `vaprosi` WHERE `id` = '$pol_id' LIMIT 1"));
                if ($anketata['kolko'] == 0)
                {
            		$query = mysql_query("SELECT `id` FROM `vaprosi` ORDER BY `id` DESC LIMIT 1");
             		$anketata = mysql_fetch_array($query);
             	    $anketata['kolko'] = mysql_num_rows($query);
                }
            }
            
            if ($anketata['kolko'] > 0)
            {
                if ($time_votee)
                {
                    if ($time_votee == 1)
                    {
                    	$ip_co = mysql_num_rows(mysql_query("SELECT * FROM `ips` WHERE `ip` = '$ip' AND `id_vapros` = '".$anketata['id']."' LIMIT 1"));
                    	
                    }
                    else
                    {
                    	$ip_co = mysql_num_rows(mysql_query("SELECT * FROM `ips` WHERE `ip` = '$ip' AND `timestamp` > $time AND `id_vapros` = '".$anketata['id']."' LIMIT 1"));
                    }
                    
                    if (!$ip_co)
                    {
                    	echo view_form($anketata['id'], $result_view, $count_answers);
                    }
                    else
                    {
                    	echo view_results($anketata['id'], $width, $podrejdane, 0, 0, 0, 0, 0, 0, $select_color);
                    }
                    
                    
                }
                else
                {
                    echo view_form($anketata['id'], $result_view, $count_answers);
                }
            }
            else
            {
                return "<b>Няма създадени анкети!</b>";
            }
        }
    }
}
?>
 

Back
Горе