Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: выводка кол-ва прав. и неправ. ответов
 
 автор: odindvatri   (26.07.2012 в 12:28)   письмо автору
 
 

нужно зделать чтобы выводилось кол-во прав.,не прав. ответов и % прав. ответов
распишите пожалуйста(с помощью mysql)
key
</title>
</head>
<body>
<?php
function mysqlcon() {
global $db;
$db = mysql_connect ("localhost","root","");
mysql_select_db ("baza",$db) or die("Не могу подсоединиться к базе: " . mysql_error());





$x = "SELECT COUNT('resultat') FROM mybd where resultat='N'";
$y = "SELECT COUNT('resultat') FROM mybd where resultat='Y'";
$query = "SELECT * FROM mybd";
$res = mysql_query($query);
while($res = mysql_fetch_array($db));
}






if ( (isset($_POST['submit1'])) && ($_POST['submit1'] == 'OK') ) {
$rez = $_POST['resultat'];
$num1 = $_POST['number1'];
$num2 = $_POST['number2'];
$num3 = $_POST['number3'];
$num4 = $_POST['number4'];
$znak = $_POST['znak'];
$znak2 = $_POST['znak2'];
$znak3 = $_POST['znak3'];
if ($znak == 1 && $znak2 == 3 && $znak3 == 5) {
$proverka = $num1 + $num2 + $num3 + $num4;
$proverka2 = (string) $num1 .'+'. $num2 .'+'. $num3 .'+'. $num4;

}
if ( $znak == 2 && $znak2 == 4 && $znak3 == 6) {
$proverka = $num1 - $num2 - $num3 - $num4;
$proverka2 = (string) $num1 .'-'. $num2 .'-'. $num3 .'-'. $num4;
}
if ($znak == 1 && $znak2 == 3 && $znak3 == 6) {
$proverka = $num1 + $num2 + $num3 - $num4;
$proverka2 = (string) $num1 .'+'. $num2 .'+'. $num3 .'-'. $num4;
}
if ($znak == 1 && $znak2 == 4 && $znak3 == 5) {
$proverka = $num1 + $num2 - $num3 + $num4;
$proverka2 = (string) $num1 .'+'. $num2 .'-'. $num3 .'+'. $num4;
}
if ($znak == 1 && $znak2 == 4 && $znak3 == 6) {
$proverka = $num1 + $num2 - $num3 - $num4;
$proverka2 = (string) $num1 .'+'. $num2 .'-'. $num3 .'-'. $num4;
}
if ($znak == 2 && $znak2 == 3 && $znak3 == 5) {
$proverka = $num1 - $num2 + $num3 + $num4;
$proverka2 = (string) $num1 .'-'. $num2 .'+'. $num3 .'+'. $num4;
}
if ($znak == 2 && $znak2 == 3 && $znak3 == 6) {
$proverka = $num1 - $num2 + $num3 - $num4;
$proverka2 = (string) $num1 .'-'. $num2 .'+'. $num3 .'-'. $num4;
}
if ($znak == 2 && $znak2 == 4 && $znak3 == 5) {
$proverka = $num1 - $num2 - $num3 + $num4;
$proverka2 = (string) $num1 .'-'. $num2 .'-'. $num3 .'+'. $num4;
}
if ($proverka == $rez) {
echo 'PRAVILNO';
$resultatik = 'Y';
}else {
echo 'NE PRAVILNO';
$resultatik = 'N';
}

mysqlcon();

$sqladd = "INSERT INTO mybd (`id` , `data` , `vopros` , `otvet` , `pravilno` , `resultat` ) VALUES (
NULL ,NOW(),'".$proverka2."','".$rez."','".$proverka."','".$resultatik."')";

mysql_query($sqladd);

//echo $sqladd;

$query = "SELECT * FROM mybd";
$res = mysql_query($query);
//$row = mysql_num_rows($res);
// if(!$db) exit("Ошибка");
if(mysql_num_rows($res)) {
echo '<table border=1>';
echo '<tr>';
echo "<td>id</td>";
echo "<td>data</td>";
echo "<td>vopros</td>";
echo "<td>otvet</td>";
echo "<td>pravilno</td>";
echo "<td>resultat</td>";
echo '</tr>';
while($row = mysql_fetch_array($res)) {
echo '<tr>';
echo "<td>".$row['id']."</td>";
echo "<td>".$row['data']."</td>";
echo "<td>".$row['vopros']."</td>";
echo "<td>".$row['otvet']."</td>";
echo "<td>".$row['pravilno']."</td>";
echo "<td>".$row['resultat']."</td>";
echo '</tr>';
}
echo "</table>";
}


}
$a=rand(1,20);
$b=rand(1,20);
$x=rand(1,20);
$y=rand(1,20);
$c=rand(1,2);
$q=rand(3,4);
$w=rand(5,6);
if ($c == 1) $znak = '+';
if ($c == 2) $znak = '-';
if ($q == 3) $znak2 = '+';
if ($q == 4) $znak2 = '-';
if ($w == 5) $znak3 = '+';
if ($w == 6) $znak3 = '-';
echo "<h2>$a $znak $b $znak2 $x $znak3 $y= </h2>";
?>
<form action="key.php" method="post"/>
Введите результат:
<input type="text" name="resultat" />
<input type="submit" name="submit1" value="OK"/>
<input type="hidden" name="number1" value="<?php echo $a; ?>"/>
<input type="hidden" name="number2" value="<?php echo $b; ?>"/>
<input type="hidden" name="number3" value="<?php echo $x; ?>"/>
<input type="hidden" name="number4" value="<?php echo $y; ?>"/>
<input type="hidden" name="znak" value="<?php echo $c; ?>"/>
<input type="hidden" name="znak2" value="<?php echo $q; ?>"/>
<input type="hidden" name="znak3" value="<?php echo $w; ?>"/>
</form>
</body>
</html>
<?php

?>

  Ответить  
 
 автор: odindvatri   (27.07.2012 в 10:23)   письмо автору
 
   для: odindvatri   (26.07.2012 в 12:28)
 

up

  Ответить  
 
 автор: odindvatri   (15.08.2012 в 13:58)   письмо автору
 
   для: odindvatri   (27.07.2012 в 10:23)
 

up

  Ответить  
 
 автор: Lotanaen   (15.08.2012 в 14:12)   письмо автору
 
   для: odindvatri   (15.08.2012 в 13:58)
 

а что function mysqlcon() делает? у Вас она только к БД подключается и все....

  Ответить  
 
 автор: Sfinks   (16.08.2012 в 19:52)   письмо автору
 
   для: odindvatri   (15.08.2012 в 13:58)
 

Скажу по секрету.... Только тссс...
Скорее всего вам никто не отвечает, потому что это раздел MySQL.
А вы мало того, что выкладываете кроме него еще и HTML и PHP, так еще и не пользуетесь тегами [ code][/code ], что значительно ухудшает читаемость кода и отбивает желание его читать.
Чтобы получить помошь по SQL, нужно четко сформулировать проблему, относящуюся именно к SQL, а не показывать как вы выводите всю страницу.
А ради одной строчки SQL разбирать 3 экрана нечитаемого кода не очень охото.

  Ответить  
 
 автор: Sfinks   (16.08.2012 в 20:07)   письмо автору
 
   для: odindvatri   (15.08.2012 в 13:58)
 

На сколько я понял в этом бардаке, я бы составил запрос так:
SELECT n+y `all`, n, round(n/(n+y)*100,2)proc_n, y, round(y/(n+y)*100,2)proc_y FROM
( SELECT sum(case resultat when 'N' then 1 end)n
       , sum(case resultat when 'Y' then 1 end)y
  FROM mybd
)t
результат содержит 1 строку и 5 столбцов, в которых в:
1 - all - общее число ответов
2 - n - число неверных ответов
3 - proc_n - процент неверных ответов округленный до 2х знаков после точки
4 - y - число верных ответов
5 - proc_y - процент верных ответов округленный до 2х знаков после точки

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования