За последние 24 часа нас посетили 22449 программистов и 1151 робот. Сейчас ищут 689 программистов ...

Валидация и кроссбраузерность

Тема в разделе "HTML и CSS", создана пользователем artemkhv, 25 сен 2012.

  1. AlNick

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

    С нами с:
    19 авг 2017
    Сообщения:
    64
    Симпатии:
    3
    Ставить слеш в тэге <br> не нужно, HTML5 это не требует. И писать пустые значения в атрибутах тоже не нужно. Только в валидаторе
    нужно правильно доктип установить
     
  2. Владилен

    Владилен Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    1
    Симпатии:
    0
    PHP:
    1. <html>
    2. <head>
    3.         <title>pin</title>
    4.         <meta charset="utf-8">
    5.     </head>
    6.     <body>
    7.     <form method='POST'>
    8.  
    9.     <select name='viborotdel'>
    10.     <?php
    11.     error_reporting(0);
    12.     $baza= new mysqli('localhost','root','','examen'); //1
    13.     $baza->set_charset('utf8'); //2
    14.     $result=$baza->query("SELECT*FROM ex");//3
    15.     //Пункты 1 2 3 лучше писать во всех тегах php
    16.  
    17.     $i=0;
    18.     while ($row=$result->fetch_assoc()) //вывод таблицы, там будет уже разметка table, это надо вставить туда, но не забудьте выполнить первые 3 пункта
    19.     {
    20.  
    21.             $otd[$i]=$row['otdel'];
    22.             $i++;
    23.     }
    24.     $otdel=array_unique($otd); //в ячейках куча одинаковых отделов, берёт уникальные
    25.     $otdels=array_values($otdel); //чтобы передать значения, иначе не работает
    26.     //В первый селект добавляем отделы, там тоже будет теги <select></select> и даже option вроде бы. На всякий случай в данном php не забудьте снова подкл базу данных
    27.  
    28.     for ($j=0;$j<count($otdels);$j++) //заполняем селект значениями из массива отделов
    29.     {
    30.             echo "<option>".$otdels[$j]."</option>";
    31.     }  
    32.     ?>
    33.     </select>
    34.  
    35.     <select name='viborzar'>
    36.     <?php
    37.  
    38.     echo "<option>20000-30000</option>";
    39.     echo "<option>30000-40000</option>";
    40.     echo "<option>40000-50000</option>";
    41.  
    42.     ?>
    43.     </select>
    44.  
    45.     <p><input type='submit' name='otpr' value='Вывести'>
    46.     <p>
    47.     <table style='border:solid 1px;'>
    48.     <?php
    49.     if (isset($_POST['otpr']))
    50.     {
    51.     $baza= new mysqli('localhost','root','','examen'); //1
    52.     $baza->set_charset('utf8'); //2
    53.     $zar=preg_split('/-/',$_POST['viborzar']);
    54.     $result=$baza->query("SELECT*FROM ex where otdel='$_POST[viborotdel]' "); //order by name вставить в код
    55.  
    56.     $i=0;
    57.     while ($row=$result->fetch_assoc())
    58.     {
    59.         if ($row['zarplata']!=50000)
    60.         {
    61.         if ($row['zarplata']>=$zar[0] && $row['zarplata']<$zar[1])
    62.         {
    63.             echo"<tr>"."<td style='border:solid 1px;'>".$row['id']."<td style='border:solid 1px;'>".$row['otdel']."<td style='border:solid 1px;'>".$row['name']."<td style='border:solid 1px;'>".$row['zarplata']."<td style='border:solid 1px;'>".$row['nadbavka']."</tr>";
    64.          
    65.             $maszp[$i]=$row['zarplata'];
    66.             $nadb[$i]=$row['nadbavka']; //надбавку надо посчитать в рублях, она дана в процентах от зарплаты
    67.             $i++;
    68.         }
    69.         }
    70.         else
    71.         {
    72.             if ($row['zarplata']>=$zar[0] && $row['zarplata']<=$zar[1]) //тут нужно везде больше либо равно так как если зарплата равно ровно 50000 она не выведится в 1 ифе
    73.         {
    74.             echo"<tr>"."<td style='border:solid 1px;'>".$row['id']."<td style='border:solid 1px;'>".$row['otdel']."<td style='border:solid 1px;'>".$row['name']."<td style='border:solid 1px;'>".$row['zarplata']."<td style='border:solid 1px;'>".$row['nadbavka']."</tr>";
    75.          
    76.             $maszp[$i]=$row['zarplata'];
    77.             $nadb[$i]=$row['nadbavka']; //надбавку надо посчитать в рублях, она дана в процентах от зарплаты
    78.             $i++;
    79.         }
    80.         }
    81.         //если вывод по отделу без учета промежутка зарплаты
    82.         //$i=0;
    83.         //while ($row=$result->fetch_assoc()){
    84. //echo"<tr>"."<td style='border:solid 1px;'>".$row['id']."<td style='border:solid 1px;'>".$row['otdel']."<td style='border:solid 1px;'>".$row['name']."<td style='border:solid 1px;'>".$row['zarplata']."<td style='border:solid 1px;'>".$row['nadbavka']."</tr>";          
    85.         //$maszp[$i]=$row['zarplata'];
    86.         //    $nadb[$i]=$row['nadbavka']; //надбавку надо посчитать в рублях, она дана в процентах от зарплаты
    87.             //$i++;
    88.         //}
    89.      
    90.     }
    91.  
    92.     }  
    93.     else {
    94.         $baza= new mysqli('localhost','root','','examen'); //1
    95.     $baza->set_charset('utf8'); //2
    96.     $result=$baza->query("SELECT*FROM ex");//3
    97.  
    98.         while ($row=$result->fetch_assoc()) //вывод таблицы, там будет уже разметка table, это надо вставить туда, но не забудьте выполнить первые 3 пункта
    99.     {
    100.             echo"<tr>"."<td style='border:solid 1px;'>".$row['id']."<td style='border:solid 1px;'>".$row['otdel']."<td style='border:solid 1px;'>".$row['name']."<td style='border:solid 1px;'>".$row['zarplata']."<td style='border:solid 1px;'>".$row['nadbavka']."</tr>";
    101.          
    102.     }
    103.     }
    104.     ?>
    105.     </table>
    106.  
    107.     <?php
    108.  
    109.     if (isset($_POST['otpr']))
    110.     {
    111.     //средняя зарплата
    112.     $sr=0;
    113.     //без надбавки, если хочу  надбавкой посчитать-удаляю  фор и $sr
    114.     for ($j=0;$j<count($maszp);$j++)
    115.     {
    116.         $sr+=$maszp[$j];
    117.     }
    118.     $sr=$sr/count($maszp);
    119.     //echo "Средняя зарплата равна: ".$sr; //там тоже будет отдельные поля для вывода этого
    120.     echo "Средняя зарплата равна: <input value=".$sr.">";
    121.     /* срденяя зп с надбавкой
    122.     for ($j=0;$j<count($maszp);$j++) //считаем надбавку для каждого человека
    123.     {
    124.         $nadb[$j]=($maszp[$j]*$nadb[$j])/100;
    125.         $z[$j]=$maszp[$j]+$nadb[$j]; //зарплата вместе с надбавкой
    126.         $sr+=$z[$j];
    127.  
    128.     }
    129.     echo "Средняя зарплата равна: <input value=".$sr.">";
    130.     */
    131.     for ($j=0;$j<count($maszp);$j++) //считаем надбавку для каждого человека
    132.     {
    133.         $nadb[$j]=($maszp[$j]*$nadb[$j])/100;
    134.         $z[$j]=$maszp[$j]+$nadb[$j];
    135.     }
    136.  
    137.     //считаем,кто больше всех получает
    138.     $max=$z[0];
    139.     for ($j=1;$j<count($maszp);$j++)
    140.     {
    141.         if ($z[$j]>$max)
    142.         {
    143.             $max=$z[$j];
    144.         }
    145.     }
    146.     echo "<p>Максимальная зарплата: <input value=".$max.">";
    147.     //echo "<p>Максимальная зарплата: ".$max;
    148.  
    149.     }
    150.     ?>
    151.     </form>
    152.     </body>
    153.    </html>
     
    #52 Владилен, 2 мар 2018
    Последнее редактирование модератором: 2 мар 2018
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768