Значок флага кроме текста в таблице из базы данных - PullRequest
0 голосов
/ 29 марта 2020

Я сделал форму, которая добавляет запись в базу данных, и она отображается в таблице HTML. Один из столбцов в форме и базе данных "страна". Я хотел бы вставить правый значок флага рядом со столбцом "страна", и я хотел бы сделать это из формы. Я добавил пример фото

example photo

Не могли бы вы помочь мне с любой идеей?

Форма

<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style2.css">
</head>
<body>

<?php

if (isset($_GET["date"]) ){
    $date = $_GET["date"];
    $country = $_GET["country"];
    $city = $_GET["city"];
    $place = $_GET["place"];


    if( empty ( $date ) || empty ($country) || empty ($city) || empty ($place)){
        echo "Wypelnij wszystkie pola";
    } else {

            $conn = new mysqli("localhost", "root", "", "tour");
            $odp = $conn->query("INSERT INTO trasy (date, country, city, place)
        VALUES ('$date', '$country', '$city', '$place')");
        header("Location: index5.php");


        if ($odp) {
            echo "Dodano koncert";
        }else{
            echo "Nie udalo sie dodac";
        }
        $conn->close();
    }

}

?>
    <div id="login">
    <form method="GET" action="index5.php">
    <table id="customers">
    <input name="date" type="date" placeholder="Date..."><br>
    <input name="country" type="text" placeholder="Country..."><br>
    <input name="city" type="text" placeholder="City..."><br>
    <input name="place" type="text" placeholder="Place..."><br>


    <input type="submit" value="OK">
    </table>

    </form>
    </div>

</body>
</html>

HTML стол

<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style3.css">
</head>
<body>
<table id="customers">
          <tr>
        <th>Date</th>
        <th>Country</th>
        <th>City</th>
        <th>Place</th>
        <th>Info</th>
        </tr>
<?php 
    $conn = new mysqli("localhost", "root", "", "tour") 
    or die ("Błąd");
    $wynik = $conn->query("SELECT * FROM trasy ORDER BY date DESC");

    if ($wynik->num_rows > 0){

        while ( $wiersz = $wynik->fetch_assoc() ){
            echo "<tr>";
            echo "<td>" . $wiersz["date"] . "</td>";
            echo "<td>" . $wiersz["country"] . "</td>";
            echo "<td>" . $wiersz["city"] . "</td>";
            echo "<td>" . $wiersz["place"] . "</td>";
            echo "<td>" . $wiersz["info"] . "</td>";

            echo "</tr>";
        }
        echo "</table>";
    } else {
        echo "Nic tu nie ma";
    }
    $conn->close();

?>
</table>


</body>
</html>

1 Ответ

0 голосов
/ 29 марта 2020

Я отвечу только на ваш вопрос, но имейте в виду, что с вашим кодом , начиная с безопасности , у вас есть все виды неправильных вещей.

Я просто укажу вам направление, которое, на мой взгляд, лучше для вас go.

Прежде всего загрузите все флаги в одну директорию на сервере. Вы можете использовать img или CSS svg, например, например, .

Во-вторых, не заставляйте людей вводить страну в поле ввода вообще (таким образом, вы делаете убедитесь, что значения для одной и той же страны будут одинаковыми), сделайте это в раскрывающемся списке, предварительно заполнив все страны, и назначьте значение для каждой из них.

Пример значения для CSS значков, для которых я предоставил ссылку: Если пользователь выбирает Германию из раскрывающегося списка, вы сохраняете значение поля страны: гр.

Таким образом, когда вы звоните своей стране Вы можете сделать это следующим образом:

echo '<td><span class="flag-icon flag-icon-' . $wiersz["country"] . '"></span></td>';

, который будет производить для Германии:

<td><span class="flag-icon flag-icon-gr"></span></td>

Вы можете сделать то же самое, используя HTML img tags . Просто сохраните значение флага как img sr c.

Я считаю, что это лучший способ go. Кроме того, вам нужно иметь PHP операторов switch .

РЕДАКТИРОВАТЬ: Кроме того, если вы хотите, чтобы название страны и флаг сохраняли их оба в качестве значения при выборе и при вводе в базу данных, разделите их и сохраните в двух столбцах, например:

<select id="country">
  <option value="Croatia | hr">Croatia</option>
  <option value="Germany | gr">Germany</option>
<select>

$country  = mysqli_real_escape_string($_GET['country']);
$pieces = explode(" | ", $country);
$countryname = $pieces[0]; // piece1
$flag = $pieces[1]; // piece2   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...