Hilfe für Drop-Down Menü!

TowerDefender

Grünschnabel
Ich habe nun ein wenig Nachgedacht und probiert doch ich komme auf keinen grünen Zweig. Ich habe es zwar geschafft als Anfänger die Datenbankdaten auszulesen und in ein Dropdown zu packen, doch irgendwie fügt html dann immer noch zwischen den einzelnen Daten eine leere Zeile ein.

PHP:
<?php      
    $host="localhost";
    $user="root";
    $pw="";
    $db="panzerliste";
    $sql="select * from panzerliste";
           
    $con=mysqli_connect($host, $user, $pw, $db) or die ("Error!");
    $query=mysqli_query($con, $sql) or die ("query Error!");

    echo "<select>";
        while ($row=mysqli_fetch_assoc($query)) {
            $a = $row["Name"];
            echo "<option>$a<option>";
        }
    echo "</select>";
?>

Hier mal eine kurzes Bild zu meinem Problem (ist nur ein Test, also nicht wundern wieso es hier um World of Tanks geht)

1580316632410.png
 
Aus der Art, wie das HTML generiert wird, kann ich mir das Problem nicht erklären. Ich vermute, dass es an den Einträgen aus der DB liegt. Lass dir diese doch mal mit var_dump() ausgeben:
Code:
        while ($row=mysqli_fetch_assoc($query)) {
            $a = $row["Name"];
            var_dump($a);
            echo "<option>$a<option>";
        }
 
Hätte eine weitere Frage und zwar habe ich eine Tabelle mittels PHP und HTML realisiert doch jetzt würde ich die Tabelle gerne an das weiße Blatt anpassen lassen, doch egal was ich mache in CSS oder direkt im PHP Programm es ändert nichts an der Größe?
PHP:
<html>
    <head>
        <meta charset="utf-8">
        <title> World of Tanks </title>
        <link rel="stylesheet" href="Test.css">
    </head>
    <body>
        <img src="Bild_WoT.jpg" alt="wot" width=100% height=auto>
        <form action="search.php" method="post">
        <input type="text" name="searchfor" />
        <input type="submit" name="search" value="Suche starten!" />
        </form>

        <?php
            $host="localhost";
            $user="root";
            $pw="";
            $db="panzerliste";

            $con=mysqli_connect($host, $user, $pw, $db) or die ("Error 404!");
            $searchfor = $_POST['searchfor'];
            $sql = 'SELECT * FROM panzerliste WHERE `Name` LIKE "%'.$searchfor.'%" or `Kind` LIKE "%'.$searchfor.'%" or `Caliber` LIKE "%'.$searchfor.'%" or `HP` LIKE "%'.$searchfor.'%" or `DMG` LIKE "%'.$searchfor.'%" or `DPM` LIKE "%'.$searchfor.'%" or `PTRS` LIKE "%'.$searchfor.'%" or `PTRP` LIKE "%'.$searchfor.'%" or `ACR` LIKE "%'.$searchfor.'%" or `AIM` LIKE "%'.$searchfor.'%" or `PWR` LIKE "%'.$searchfor.'%"';
            $result = mysqli_query($con, $sql) or die ("query Error!");

            if(mysqli_num_rows($result) == 0) {
                echo 'Es wurden keine Einträge gefunden!';
            } else {
                echo 'Ihre Suche für '.$searchfor.' ergab '.mysqli_num_rows($result).' treffer!';
                echo "<br>".''."<br>";
            }

            echo "<table>";
                echo "<tr>";
                        echo "<th>Name</th>";
                        echo "<th>Art<th>";
                        echo "<th>Caliber (Millimeter)<th>";
                        echo "<th>Lebenspunkte<th>";
                        echo "<th>Schaden je Schuss<th>";
                        echo "<th>Schaden pro Minute<th>";
                        echo "<th>Durchschlagskraft mit Standartmunition (Millimeter)<th>";
                        echo "<th>Durchschlagskraft mit Premiummunition (Millimeter)<th>";
                        echo "<th>Streuung pro 100 Meter (Meter)<th>";
                        echo "<th>Einzielzeit (Sekunden)<th>";
                        echo "<th>Leistungsgewicht (PS pro Tonne)<th>";
                echo "</tr>";
                while ($row=mysqli_fetch_assoc($result)) {
                    echo "<tr>";
                        echo "<td>",$row["Name"],"</td>";
                        echo "<td>",$row["Kind"],"<td>";
                        echo "<td>",$row["Caliber"],"<td>";
                        echo "<td>",$row["HP"],"<td>";
                        echo "<td>",$row["DMG"],"<td>";
                        echo "<td>",$row["DPM"],"<td>";
                        echo "<td>",$row["PTRS"],"<td>";
                        echo "<td>",$row["PTRP"],"<td>";
                        echo "<td>",$row["ACR"],"<td>";
                        echo "<td>",$row["AIM"],"<td>";
                        echo "<td>",$row["PWR"],"<td>";
                    echo "</tr>";
                }
            echo "</table>";
        ?>
    </body>
</html>

CSS:
html {
    background: #e6e9e9;
    background-image: linear-gradient(270deg, rgb(230, 233, 233) 0%, rgb(216, 221, 221) 100%);
    -webkit-font-smoothing: antialiased;
}

body {
    background: #fff;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.06);
    color: #545454;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 auto;
    max-width: 1200px;
    padding: 2em 2em 4em;
}

.wot {
    align-content: center;
}

1580376495378.png
 
Mit dem Bild verstehe ich es jetzt. Allerdings ist da auf dem weißen Blatt einfach zu wenig Platz für die Kopfdaten. Das einzige was mir einfällt ist, die Texte im Kopf um 90 Grad zu drehen, so dass sie senkrecht stehen.
 
Zurück