За последние 24 часа нас посетили 20044 программиста и 1712 роботов. Сейчас ищет 1491 программист ...

Как вытащить данные??

Тема в разделе "Вопросы от блондинок", создана пользователем kuliev, 11 май 2008.

  1. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Доброго времени суток.
    Вопрос у меня очень глупый, но незнаю у кого еще поинтересоваться!

    Код (Text):
    1.  
    2. <input type='checkbox' name='vp' value='1' id='2'>
    Как вытащить значение ID
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    У чекбокса нет value. У него бывает статус checked (в пост-массиве - on).
    id не должно начинаться с цифры
    if (document.getElementById("_2").checked) {
    alert('Выбрано!');
    }
     
  3. kuliev

    kuliev Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    204
    Симпатии:
    0
    Адрес:
    TLT
    Вобщем ничего у меня не получается.
    Проблема в том, что скрипт какимто образом сам берет данный и записывает в БД
    даже если я не выбираю значения чекбокса все равно он записывает последний вариант ответа!
    вот код может кто вразумит?
    PHP:
    1.  
    2. <?
    3. include ("../config.php");
    4.  
    5. // функция вывода всех тестов
    6. function add_new() {
    7.         echo "<h1>Выберите тест</h1><center>";
    8.         echo  "[ <a href='".$_SERVER['PHP_SELF']."?page1-for-3.php&up=show_table_test&list=1'>Тесты</a> ]";
    9. }
    10. add_new();
    11. // функция выбора теста
    12. function show_table_test()
    13. {
    14. $per_page=pages;
    15. // получаем номер страницы
    16. if (isset($_GET['list'])) $list=($_GET['list']-1); else $list=1;
    17. // вычисляем первый оператор для LIMIT
    18. $start=abs($list*$per_page);
    19. // составляем запрос и выводим записи
    20. // переменную $start используем, как нумератор записей.
    21. $sql="select * from test ORDER BY id_test LIMIT $start,$per_page";
    22. $result=db($sql);
    23. //выводим таблицу с тестами
    24. echo "<br><br><center><b class='text'>Выбирите тест</b><br>";
    25. echo "<table width='30%' border='0' cellspacing='1' cellpadding='4' align='center' bgcolor='#336699'><tr>";
    26. echo "<td align='center'>№</td>";
    27. echo "<td align='center'>Тесты</td></tr>";
    28. $bgr='1';
    29. while($row=mysql_fetch_array($result))
    30. {
    31. if($bgr==1)
    32. {
    33. $bgcolor='#F5F5F5';
    34. $bgr=0;
    35. }
    36. else
    37. {
    38. $bgcolor='#FFFFFF';
    39. $bgr=1;
    40. }
    41. echo "<form action='".$_SERVER['PHP_SELF']."' method='GET'>";
    42. echo "<tr bgcolor='$bgcolor' onMouseOut=this.style.backgroundColor='$bgcolor' onMouseOver=this.style.backgroundColor='#BED9FB'>";
    43. echo "<td align='center'>".$row['id_test']."<input type='hidden'  value='".$row['id_test']."'></td>";
    44. echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?page1-for-3.php&up=show_test&id_test=".$row['id_test']."&name_test=".$row['name_test']."&list=".$_GET['list']."'>".$row['name_test']."</a><input type='hidden' name='name_test' value='".$row['name_test']."'></td>";
    45. }
    46. echo "</form></tr></table>";
    47. $sql=("SELECT count(*) FROM test");
    48. $result=db($sql);
    49. $row=mysql_fetch_row($result);
    50. $total_rows=$row[0];
    51. $num_pages=ceil($total_rows/$per_page);
    52. for($i=1;$i<=$num_pages;$i++) {
    53.   if ($i-1 == $list) {
    54.     echo $i." ";
    55.   } else {
    56.     echo '<a href="'.$_SERVER['PHP_SELF'].'?page1-for-3.php&up=show_test&list='.$i.'">'.$i."</a> ";
    57. }
    58.   }
    59.      }
    60. // функция вывода таблиц с ответами
    61. function get_table($arr)
    62. {
    63. $bgr=1;
    64. if($bgr==1)
    65. {
    66. $bgcolor='#F5F5F5';
    67.         $bgr=0;
    68. }
    69. else
    70. {
    71. $bgcolor='#FFFFFF';
    72. $bgr=1;
    73. }
    74.     $table  = "<table bgcolor='#ffffd0' cellspacing='1' cellpadding='2' width='400px'>";
    75.     foreach($arr as $row){
    76.  
    77.         $table  .= "<tr bgcolor='$bgcolor' onMouseOut=this.style.backgroundColor='$bgcolor' onMouseOver=this.style.backgroundColor='#BED9FB'>";
    78.         foreach($row as $ceil){
    79.             $table  .= "<td align='{$ceil['align']}' width={$ceil['width']}>".$ceil['data']."</td>";
    80.         }
    81.         $table  .= "</tr>";
    82.     }
    83.     $table  .= "</table>";
    84.  
    85.     return $table;
    86. }
    87. function show_test()
    88. {
    89. $per_page   = 2;
    90. $pages       = isset($_POST['pages']) ? (int) $_POST['pages'] : 1;
    91.  
    92.  // считаем количество строк в базе
    93. $sql        = ("select count(*) from test,vopros where test.id_test='".$_GET['id_test']."' and test.id_test=vopros.id_test;");
    94. $result     = db($sql);
    95. $row        = mysql_fetch_array($result);
    96. $total      = $row['0'];
    97. $next_page  = ($pages <= $total) ? $pages+1 : -1;
    98.  
    99. // Если все ответы прошли
    100. if ($next_page === -1) {
    101.     echo "<h3>Поздравляем, вы успешно прошли тест</h3>";
    102. }
    103. else{
    104.  
    105.     $result=db("select * from test,vopros,otvet where test.id_test=".$_GET['id_test']." and test.id_test=vopros.id_test and vopros.id_vopros=otvet.id_vopros and vopros.order=$pages");
    106.      $data   = array();
    107.     while ($row    = mysql_fetch_array($result)){
    108.         $vopros = $row['vopr'];
    109.         $data[] = array(
    110.             array(
    111.                 'data'  => "<input type='checkbox' name='vp' value='{$row['logic']}' id='{$row['otvet']}'>",
    112.                 'width' => "50px",
    113.                 'align' => 'center'
    114.             ),
    115.             array(
    116.                 'data'  => "<label for='{$row['otvet']}'>".$row['otvet']."</label>",
    117.                 'width' => "340px",
    118.                 'align' => 'left'
    119.             )
    120.         );
    121.  
    122.     }
    123.  
    124.  
    125.   echo "<br><br><b class='navy'>Вопрос №</b> <b class='red'>".$pages."</b>";
    126.     echo "<div align='center'>
    127.                <form action='' method='POST'>
    128.              <b class='text'>" . $vopros . "</b><br><br>".
    129.               get_table($data).
    130.               "<input type='hidden' value='{$next_page}' name='pages' />".
    131.               "<input type='submit'name='go' value='некст'/>".
    132.             "</form>" .
    133.          "</div>";
    134.  
    135. }
    136.  
    137.  //*************************************
    138.  
    139. foreach ($_SESSION as $key =>$value);
    140. $login=$value['login'];
    141. $fam=$value['fam'];
    142. $name=$value['name'];
    143. $otc=$value['otc'];
    144. $data=date("Y-m-d");
    145. $time=date("H:i:s");
    146.  
    147. echo "<center><b class='navy'>$value[fam] $value[name] $value[otc] $data $time ".$_POST['vp']."  ".$vopros." ".$_POST['otvet']." $ip </b></center>";
    148. if(isset($_POST['go']))
    149. {
    150. if(empty($login));
    151. if(empty($fam));
    152. if(empty($name));
    153. if(empty($otc));
    154. if(empty($vopros));
    155. if(empty($_POST['otvet']));
    156.  
    157. $sql=("insert into log values(null,'$login','$fam','$name','$otc','$vopros','".$_POST['otvet']."','".$_POST['vp']."','$data','$time','$time','$ip','".$_GET['id_test']."')");
    158. $result=db($sql);
    159. }
    160. }
    161.  // конструкция switch
    162. switch($_GET['up']) {
    163.  
    164.      case "show_table_test":
    165.    show_table_test();
    166.     break;
    167.  
    168.     case "show_test":
    169.    show_test();
    170.     break;
    171. }
    172.  
    173.  
    174. ?>
    175.  
     
  4. Johnatan

    Johnatan Активный пользователь

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    Что-то меня смущает синтаксис скрипта... особенно начиная со строки 138.. Хотя предыдущие я просто не так внимательно смотрел.
    Что автор пытается сделать?
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    :lol: :lol: :lol: :lol: :lol: :lol: :lol:
     
  6. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    :) двойной удар по логике.