Получить вывод после выбора опции в HTML - PullRequest
0 голосов
/ 16 февраля 2019

Итак, в основном, у меня есть база данных, которая имитирует аэропорт, и я хочу создать страницу, на которой после выбранной категории я предоставляю общую сумму таможенных сборов этой категории (пример: категория выбрана = электроника, требуемый выход = элетроника)= somenumber) тег выбора в html является динамическим в зависимости от категории (поэтому, если я удаляю категорию, опция выбора исчезает).Проблема в том, что я не знаю, как отобразить сумму.Мне удалось отобразить выбранную опцию, но я не знаю, как связать сумму с категорией.

Извините за сумбурное объяснение, но мне действительно сложно объяснить мою проблему на другом языке,Пожалуйста, помогите бедному ученику

. Если у вас есть сомнения по поводу кода, просто спросите

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Dazi</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script src="script.js"></script>
</head>
<body>
<form action="home.php" method="GET">
      <select name="categoria" id="cate">
<?php
$conn = MySQLi_connect("localhost","root","","aeroporto");

if (!$conn)
    die("Problems");


 $query = "select CA.descrizione as 'categoria', sum(C.dazio) as 'qta_dazi'
      from controlli C inner join merci M on C.id=M.id_controllo_fk inner join categorie CA on CA.id=C.id
      group by CA.id";

 $res=MySQLi_query($conn ,$query);

 while( $row= MySQLi_fetch_array($res,MYSQLI_ASSOC))
 {
     $c=$row["categoria"];
     $n=$row["qta_dazi"];
     $cat=$_GET["categoria"];

     echo "<option value='$c'>$c</option>";

 }

 echo"</select>"; 
 echo"<input type='submit' value='Visualizza il totale'>";
 echo"<br><br><br>";

 if(isset($cat)){
     echo $cat." =";
 }


 $ok= MySQLi_close($conn);
 if (!$ok)
   die("problems");

 ?>
 </form>
 </body>
 </html>

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Только для дидактических целей, не используйте это в производстве.

В home.php:

$categoryId = $_REQUEST['categoria'];
//sanitization...

$conn = MySQLi_connect("localhost","root","","aeroporto");

//...

 $query = "select sum(C.dazio) as 'prezzo_dazi', count(C.dazio) as 'qta_dazi'
      from controlli C join categorie CA on CA.id = C.id WHERE CA.id = $categoryId";

$res=MySQLi_query($conn ,$query);

if( $row = MySQLi_fetch_array($res,MYSQLI_ASSOC))
{
    echo "Dazi: {$row['prezzo_dazi']} € (qt. {$row['qta_dazi']}";
}else{
    echo "Categories doesn't have any Dazio assigned.";
}

MySQLi_close($conn);

Обычно небольшое внимание при исследовании Google этодостаточно, чтобы лучше понять концепцию программирования.

Cheers.

0 голосов
/ 16 февраля 2019

Во время цикла проверьте, равняется ли $c значение $cat (обратите внимание, что вы можете установить $ cat вне цикла, так как он не изменяется в результате запроса к БД).В этот момент установите отдельную переменную (которая имеет область действия вне цикла) для обозначения совпадающей суммы и используйте ее на дисплее:

$cat=$_GET["categoria"];
$val = "";

while( $row= MySQLi_fetch_array($res,MYSQLI_ASSOC))
{
     $c=$row["categoria"];
     $n=$row["qta_dazi"];
     if ($c == $cat) $val = $n; //check the category value from the DB against the GET variable.
     echo "<option value='$c'>$c</option>";
}

echo"</select>"; 
echo"<input type='submit' value='Visualizza il totale'>";
echo"<br><br><br>";

if(isset($cat)) {
    echo $cat." = ".$val;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...