здравейте може ли да оправите тази грешка 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>";
}
}
}
}
?>