Относно избор анкета!

DarkSiteBG

Registered
Помогнете трябва ми скпипт за да мога да зареждам анкета вместо сегашната ,ако имам 2 или повече анкети да имам например падащо меню и да избирам коя от анкети да разглеждам с какъв скрипт да стане или кали въобще е със скрипт ?
 
Зависи от системата която използваш. Мога да ти препоръчам http://web-tourist.net/login/login/view.php?st=2472 . Hunter е описал как може да избереш коя анкета се добавя. Ако решиш да използваш тази система кажи ще направим код който да показва 1 падащо меню и да се избира анкетата. :?:
 
NewGuy каза:
Зависи от системата която използваш. Мога да ти препоръчам http://web-tourist.net/login/login/view.php?st=2472 . Hunter е описал как може да избереш коя анкета се добавя. Ако решиш да използваш тази система кажи ще направим код който да показва 1 падащо меню и да се избира анкетата. :?:
Изплю камъчето, ако може. :roll:
Готина е системата за анкети, но ще е още по-готино с падащо меню точно под "Общо гласове"(със select и option) и избира анкета. :)
 
He3aBuCuM каза:
NewGuy каза:
Зависи от системата която използваш. Мога да ти препоръчам http://web-tourist.net/login/login/view.php?st=2472 . Hunter е описал как може да избереш коя анкета се добавя. Ако решиш да използваш тази система кажи ще направим код който да показва 1 падащо меню и да се избира анкетата. :?:
Изплю камъчето, ако може. :roll:
Готина е системата за анкети, но ще е още по-готино с падащо меню точно под "Общо гласове"(със select и option) и избира анкета. :)

Да ако може ще ти бъда много благодарен , ще помогнеш много!
 
function_poll.php
Код:
<?php 
function poll($promenliva) { // създаваме функция 
$ip = getenv("REMOTE_ADDR"); 
include("config_poll.php"); // добавяме файла за връзка с BD 
if (isset($promenliva) && is_numeric($promenliva)) { // проверяваме дали сме задали стойност на функцията и ако сме задали дали е число 
$poll_here = mysql_num_rows(mysql_query("SELECT * FROM poll WHERE id = '$promenliva' LIMIT 1")); // взимаме дадената анкета 
if ($poll_here > 0) { // ако анкетата съществува нея ще изкарваме в страницата 
$poll_query = mysql_query("SELECT * FROM poll WHERE id = '$promenliva' LIMIT 1"); 
$poll = mysql_fetch_array($poll_query); 
$poll_broi = mysql_num_rows($poll_query); 
} else { // ако не съществува ще изкараме най-новата добавена анкета 
$poll_query = mysql_query("SELECT * FROM poll ORDER BY id DESC LIMIT 1"); 
$poll = mysql_fetch_array($poll_query); 
$poll_broi = mysql_num_rows($poll_query); 
} 
} else { // ако не сме избрали точно дадена анкета ще вземеме последната добавена 
$poll_query = mysql_query("SELECT * FROM poll ORDER BY id DESC LIMIT 1"); 
$poll = mysql_fetch_array($poll_query); 
$poll_broi = mysql_num_rows($poll_query); 
} 

if ($poll_broi > 0) { // ако изобщо съществува анкета 
if ($poll['status'] == 1) { // проверяваме дали сме включили анкетата 
$dali_si_glasuval = mysql_num_rows(mysql_query("SELECT * FROM ips WHERE ip = '$ip' AND id = '".$poll['id']."'")); 
if ($dali_si_glasuval == 0) { // проверяваме дали потребителя е гласувал. Ако не е му позволяваме да гласува 
if (isset($_POST['submit']) && isset($_POST['vote']) && is_numeric($_POST['vote'])) { // малко защити :P 
$vote = $_POST['vote']; 
$dali_taq_anketa = mysql_fetch_array(mysql_query("SELECT * FROM otgovori WHERE id = '$vote' LIMIT 1")); 
if ($dali_taq_anketa['id_poll'] == $poll['id']) { // проверяваме дали отговора е точно към тази анкета 
mysql_query("UPDATE otgovori SET broi = broi + 1 WHERE id = '$vote' LIMIT 1"); 
mysql_query("INSERT INTO ips (id,ip) VALUES ('".$poll['id']."','$ip')"); 

if ($poll['podrejdane'] == 1) { $order_by = "ORDER BY id ASC"; } // ако е избран тип стандартно подреждане 
elseif ($poll['podrejdane'] == 2) { $order_by = "ORDER BY broi DESC"; } // ако е избран тип подреждане по гласове 

$query_otgovori = mysql_query("SELECT * FROM otgovori WHERE id_poll = '".$poll['id']."' $order_by"); 
$query = mysql_query("SELECT SUM(broi) as kolko FROM otgovori WHERE id_poll = '".$poll['id']."' GROUP BY id_poll"); 
$votes = mysql_fetch_array($query); 
$votes = $votes['kolko']; 
?> 
<b><?=$poll['vapros']?></b><br><br> 
<table border="0"> 
<?php 
// изкарваме резултатите от анкетата 
while ($row_otgovori = mysql_fetch_array($query_otgovori)) { 
$procent = $row_otgovori['broi'] * (100/$votes); // смятаме процентите 
$procent = round($procent); // закръгляме ги 
?> 
<tr><td><?=$row_otgovori['otgovor']?></td><td><img src="bar_left.bmp" height="9" border="0"><img src="vote.bmp" width="<?=$procent?>" height="9" border="0"><img src="bar_right.bmp" height="9" border="0"></td><td>Гласове: <?=$row_otgovori['broi']?> (<?=$procent?>%)</td></tr> 
<?php 
} 
?> 
</table><br> 
Общо гласове: <b><?=$votes?></b> 
<br>
<select onchange="if (this.selectedIndex > 0) document.location.href='index.php?poll=' + this.value;">
<option>Изберете анкета</option>
<?php
$all=mysql_query("SELECT id,vapros from poll");
while($a=mysql_fetch_assoc($all))
{
	$idto=$a['id'];
	$vapros=$a['vapros'];
	echo "
	<option value='$idto'>$vapros</option>";
}
?>
</select>

<?php 
} 
} else { 
$query_otgovori = mysql_query("SELECT * FROM otgovori WHERE id_poll = '".$poll['id']."' ORDER BY id ASC"); 
?> 
<b><?=$poll['vapros']?></b><br><br> 
<form action="" method="post"> 
<?php 
// тук извеждаме формата за гласуване с възможните отговори 
while ($row_otgovori = mysql_fetch_array($query_otgovori)) { ?> 
<input type="radio" name="vote" value="<?=$row_otgovori['id']?>"> <?=$row_otgovori['otgovor']?><br> 
<?php } ?> 
<input type="submit" name="submit" value="Гласувай"> 
</form> 
<?php 
} 
} else { // ако е гласувал му извеждаме резултатите 
if ($poll['podrejdane'] == 1) { $order_by = "ORDER BY id ASC"; } // ако е избран тип стандартно подреждане 
elseif ($poll['podrejdane'] == 2) { $order_by = "ORDER BY broi DESC"; } // ако е избран тип подреждане по гласове 

$query_otgovori = mysql_query("SELECT * FROM otgovori WHERE id_poll = '".$poll['id']."' $order_by"); 
$query = mysql_query("SELECT SUM(broi) as kolko FROM otgovori WHERE id_poll = '".$poll['id']."' GROUP BY id_poll"); 
$votes = mysql_fetch_array($query); 
$votes = $votes['kolko']; 
?> 
<b><?=$poll['vapros']?></b><br><br> 
<table border="0"> 
<?php 
// изкарваме резултатите от анкетата 
while ($row_otgovori = mysql_fetch_array($query_otgovori)) { 
$procent = $row_otgovori['broi'] * (100/$votes); // смятаме процентите 
$procent = round($procent); // закръгляме ги 
?> 
<tr><td><?=$row_otgovori['otgovor']?></td><td><img src="bar_left.bmp" height="9" border="0"><img src="vote.bmp" width="<?=$procent?>" height="9" border="0"><img src="bar_right.bmp" height="9" border="0"></td><td>Гласове: <?=$row_otgovori['broi']?> (<?=$procent?>%)</td></tr> 
<?php 
} 
?> 
</table><br> 
Общо гласове: <b><?=$votes?></b>
<br> 
<select onchange="if (this.selectedIndex > 0) document.location.href='index.php?poll=' + this.value;">
<option>Изберете анкета</option>
<?php
$all=mysql_query("SELECT id,vapros from poll");
while($a=mysql_fetch_assoc($all))
{
	$idto=$a['id'];
	$vapros=$a['vapros'];
	echo "
	<option value='$idto'>$vapros</option>";
}
?>
</select>

<?php 
} 
} else { // ако е изключена ще показваме само резултатите без да даваме право да гласуват 
if ($poll['podrejdane'] == 1) { $order_by = "ORDER BY id ASC"; } // ако е избран тип стандартно подреждане 
elseif ($poll['podrejdane'] == 2) { $order_by = "ORDER BY broi DESC"; } // ако е избран тип подреждане по гласове 

$query_otgovori = mysql_query("SELECT * FROM otgovori WHERE id_poll = '".$poll['id']."' $order_by"); 
$query = mysql_query("SELECT SUM(broi) as kolko FROM otgovori WHERE id_poll = '".$poll['id']."' GROUP BY id_poll"); 
$votes = mysql_fetch_array($query); 
$votes = $votes['kolko']; 
?> 
<b><?=$poll['vapros']?></b><br><br> 
<table border="0"> 
<?php 
// изкарваме резултатите от анкетата 
while ($row_otgovori = mysql_fetch_array($query_otgovori)) { 
$procent = $row_otgovori['broi'] * (100/$votes); // смятаме процентите 
$procent = round($procent); // закръгляме ги 
?> 
<tr><td><?=$row_otgovori['otgovor']?></td><td><img src="bar_left.bmp" height="9" border="0"><img src="vote.bmp" width="<?=$procent?>" height="9" border="0"><img src="bar_right.bmp" height="9" border="0"></td><td>Гласове: <?=$row_otgovori['broi']?> (<?=$procent?>%)</td></tr> 
<?php 
} 
?> 
</table><br> 
Общо гласове: <b><?=$votes?></b> 
<?php 
} 
} else { 
echo "Няма такава анкета или все още няма добавени анкети!"; // изкарваме съобщение, че няма такава анкета или изобщо не сме добавили 
} 
} 
?>

Примерен index.php
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
	<meta http-equiv="content-type" content="text/html; charset=windows-1251">
	<meta name="author" content="">

	<title>Untitled 1</title>
</head>
<body>
<?php include("function_poll.php"); ?> 
<?php @poll((int)$_GET['poll']); ?>

</body>
</html>

Ето и 2 screenshota
912.jpg

-------
913.jpg
 
Всичко е перфе, но може ли да не за показват целите имена на анкети, а само първите примерно 15 думи и да има многоточие след тях.
 
Код:
<?php 
function poll($promenliva) { // създаваме функция 
$ip = getenv("REMOTE_ADDR"); 
include("config_poll.php"); // добавяме файла за връзка с BD 
if (isset($promenliva) && is_numeric($promenliva)) { // проверяваме дали сме задали стойност на функцията и ако сме задали дали е число 
$poll_here = mysql_num_rows(mysql_query("SELECT * FROM poll WHERE id = '$promenliva' LIMIT 1")); // взимаме дадената анкета 
if ($poll_here > 0) { // ако анкетата съществува нея ще изкарваме в страницата 
$poll_query = mysql_query("SELECT * FROM poll WHERE id = '$promenliva' LIMIT 1"); 
$poll = mysql_fetch_array($poll_query); 
$poll_broi = mysql_num_rows($poll_query); 
} else { // ако не съществува ще изкараме най-новата добавена анкета 
$poll_query = mysql_query("SELECT * FROM poll ORDER BY id DESC LIMIT 1"); 
$poll = mysql_fetch_array($poll_query); 
$poll_broi = mysql_num_rows($poll_query); 
} 
} else { // ако не сме избрали точно дадена анкета ще вземеме последната добавена 
$poll_query = mysql_query("SELECT * FROM poll ORDER BY id DESC LIMIT 1"); 
$poll = mysql_fetch_array($poll_query); 
$poll_broi = mysql_num_rows($poll_query); 
} 

if ($poll_broi > 0) { // ако изобщо съществува анкета 
if ($poll['status'] == 1) { // проверяваме дали сме включили анкетата 
$dali_si_glasuval = mysql_num_rows(mysql_query("SELECT * FROM ips WHERE ip = '$ip' AND id = '".$poll['id']."'")); 
if ($dali_si_glasuval == 0) { // проверяваме дали потребителя е гласувал. Ако не е му позволяваме да гласува 
if (isset($_POST['submit']) && isset($_POST['vote']) && is_numeric($_POST['vote'])) { // малко защити :P 
$vote = $_POST['vote']; 
$dali_taq_anketa = mysql_fetch_array(mysql_query("SELECT * FROM otgovori WHERE id = '$vote' LIMIT 1")); 
if ($dali_taq_anketa['id_poll'] == $poll['id']) { // проверяваме дали отговора е точно към тази анкета 
mysql_query("UPDATE otgovori SET broi = broi + 1 WHERE id = '$vote' LIMIT 1"); 
mysql_query("INSERT INTO ips (id,ip) VALUES ('".$poll['id']."','$ip')"); 

if ($poll['podrejdane'] == 1) { $order_by = "ORDER BY id ASC"; } // ако е избран тип стандартно подреждане 
elseif ($poll['podrejdane'] == 2) { $order_by = "ORDER BY broi DESC"; } // ако е избран тип подреждане по гласове 

$query_otgovori = mysql_query("SELECT * FROM otgovori WHERE id_poll = '".$poll['id']."' $order_by"); 
$query = mysql_query("SELECT SUM(broi) as kolko FROM otgovori WHERE id_poll = '".$poll['id']."' GROUP BY id_poll"); 
$votes = mysql_fetch_array($query); 
$votes = $votes['kolko']; 
?> 
<b><?=$poll['vapros']?></b><br><br> 
<table border="0"> 
<?php 
// изкарваме резултатите от анкетата 
while ($row_otgovori = mysql_fetch_array($query_otgovori)) { 
$procent = $row_otgovori['broi'] * (100/$votes); // смятаме процентите 
$procent = round($procent); // закръгляме ги 
?> 
<tr><td><?=$row_otgovori['otgovor']?></td><td><img src="bar_left.bmp" height="9" border="0"><img src="vote.bmp" width="<?=$procent?>" height="9" border="0"><img src="bar_right.bmp" height="9" border="0"></td><td>Гласове: <?=$row_otgovori['broi']?> (<?=$procent?>%)</td></tr> 
<?php 
} 
?> 
</table><br> 
Общо гласове: <b><?=$votes?></b> 
<br>
<select onchange="if (this.selectedIndex > 0) document.location.href='index.php?poll=' + this.value;">
<option>Изберете анкета</option>
<?php
$all=mysql_query("SELECT id,vapros from poll");
while($a=mysql_fetch_assoc($all))
{
	$idto=$a['id'];
	$vapros=$a['vapros'];
	
	
	$golqmo = "5";
	$vapros = substr("$vapros", 0, $golqmo);
    $broi = strlen($vapros);
	if ($broi < $golqmo)
    {
        $oshte = "";
    }
    else
    {
        $oshte = "...";
    }

	echo "
	<option value='$idto'>$vapros$oshte</option>";
}
?>
</select>

<?php 
} 
} else { 
$query_otgovori = mysql_query("SELECT * FROM otgovori WHERE id_poll = '".$poll['id']."' ORDER BY id ASC"); 
?> 
<b><?=$poll['vapros']?></b><br><br> 
<form action="" method="post"> 
<?php 
// тук извеждаме формата за гласуване с възможните отговори 
while ($row_otgovori = mysql_fetch_array($query_otgovori)) { ?> 
<input type="radio" name="vote" value="<?=$row_otgovori['id']?>"> <?=$row_otgovori['otgovor']?><br> 
<?php } ?> 
<input type="submit" name="submit" value="Гласувай"> 
</form> 
<?php 
} 
} else { // ако е гласувал му извеждаме резултатите 
if ($poll['podrejdane'] == 1) { $order_by = "ORDER BY id ASC"; } // ако е избран тип стандартно подреждане 
elseif ($poll['podrejdane'] == 2) { $order_by = "ORDER BY broi DESC"; } // ако е избран тип подреждане по гласове 

$query_otgovori = mysql_query("SELECT * FROM otgovori WHERE id_poll = '".$poll['id']."' $order_by"); 
$query = mysql_query("SELECT SUM(broi) as kolko FROM otgovori WHERE id_poll = '".$poll['id']."' GROUP BY id_poll"); 
$votes = mysql_fetch_array($query); 
$votes = $votes['kolko']; 
?> 
<b><?=$poll['vapros']?></b><br><br> 
<table border="0"> 
<?php 
// изкарваме резултатите от анкетата 
while ($row_otgovori = mysql_fetch_array($query_otgovori)) { 
$procent = $row_otgovori['broi'] * (100/$votes); // смятаме процентите 
$procent = round($procent); // закръгляме ги 
?> 
<tr><td><?=$row_otgovori['otgovor']?></td><td><img src="bar_left.bmp" height="9" border="0"><img src="vote.bmp" width="<?=$procent?>" height="9" border="0"><img src="bar_right.bmp" height="9" border="0"></td><td>Гласове: <?=$row_otgovori['broi']?> (<?=$procent?>%)</td></tr> 
<?php 
} 
?> 
</table><br> 
Общо гласове: <b><?=$votes?></b>
<br> 
<select onchange="if (this.selectedIndex > 0) document.location.href='index.php?poll=' + this.value;">
<option>Изберете анкета</option>
<?php
$all=mysql_query("SELECT id,vapros from poll");
while($a=mysql_fetch_assoc($all))
{
	$idto=$a['id'];
	$vapros=$a['vapros'];
	
	
	$golqmo = "5";
	$vapros = substr("$vapros", 0, $golqmo);
    $broi = strlen($vapros);
	if ($broi < $golqmo)
    {
        $oshte = "";
    }
    else
    {
        $oshte = "...";
    }

	echo "
	<option value='$idto'>$vapros$oshte</option>";
}
?>
</select>

<?php 
} 
} else { // ако е изключена ще показваме само резултатите без да даваме право да гласуват 
if ($poll['podrejdane'] == 1) { $order_by = "ORDER BY id ASC"; } // ако е избран тип стандартно подреждане 
elseif ($poll['podrejdane'] == 2) { $order_by = "ORDER BY broi DESC"; } // ако е избран тип подреждане по гласове 

$query_otgovori = mysql_query("SELECT * FROM otgovori WHERE id_poll = '".$poll['id']."' $order_by"); 
$query = mysql_query("SELECT SUM(broi) as kolko FROM otgovori WHERE id_poll = '".$poll['id']."' GROUP BY id_poll"); 
$votes = mysql_fetch_array($query); 
$votes = $votes['kolko']; 
?> 
<b><?=$poll['vapros']?></b><br><br> 
<table border="0"> 
<?php 
// изкарваме резултатите от анкетата 
while ($row_otgovori = mysql_fetch_array($query_otgovori)) { 
$procent = $row_otgovori['broi'] * (100/$votes); // смятаме процентите 
$procent = round($procent); // закръгляме ги 
?> 
<tr><td><?=$row_otgovori['otgovor']?></td><td><img src="bar_left.bmp" height="9" border="0"><img src="vote.bmp" width="<?=$procent?>" height="9" border="0"><img src="bar_right.bmp" height="9" border="0"></td><td>Гласове: <?=$row_otgovori['broi']?> (<?=$procent?>%)</td></tr> 
<?php 
} 
?> 
</table><br> 
Общо гласове: <b><?=$votes?></b> 
<?php 
} 
} else { 
echo "Няма такава анкета или все още няма добавени анкети!"; // изкарваме съобщение, че няма такава анкета или изобщо не сме добавили 
} 
} 
?>

От $golqmo = "5"; променяш това 5 на колко символа искаш да показва ... :?:
 

Back
Горе