Hallo an alle!
Wir haben eine kleine Frage:
Wir haben mehrere Felder in einem Formular, die man ausfüllen kann. Jedoch wollen wir es so einstellen, dass man nicht ALLE Felder ausfüllen MUSS. D.h. wenn man lediglich Vorname und Geburtsdatum eingeben würde, oder eine andere Kombination oder ein einzelnes Feld.
Wie kriegen wir das hin?
Unser Skript:
PHP
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="main.css">
</head>
<body>
<?php
$db = mysqli_connect("localhost","root","","familytreefinder")
or die("Verbindung zu MySQL oder der Datenbank gescheitert.");
mysqli_set_charset($db, "utf8");
?>
<form>
<label>Vorname eingeben</label><br>
<input name="vorname" type="text"><br>
<label>Nachname eingeben</label><br>
<input name="nachname" type="text"><br>
<label>Geschlecht wählen</label><br>
<select name="geschlecht" class="form-control">
<option>w</option>
<option>m</option>
</select><br>
<label>Geburtsdatum angeben</label><br>
<input name="gebdatum" type="text"><br>
<button type="submit" name="suchen" class="btn btn-default">Suchen</button>
</form>
<?php
if (isset ($_GET['suchen']) || ($_GET['geschlecht']) || ($_GET['vorname']) || ($_GET['nachname']) || ($_GET['gebdatum']) )
{
$geschlecht = trim($_GET['geschlecht']);
$geschlecht = preg_replace("/m,w/", "", $geschlecht);
$vorname = trim($_GET['vorname']);
$vorname = preg_replace("/a-z/", "", $vorname);
$nachname = trim($_GET['nachname']);
$nachname = preg_replace("/a-z/", "", $nachname);
$gebdatum = trim($_GET['gebdatum']);
$gebdatum = preg_replace("/1-9/", "", $gebdatum);
$sql = "SELECT * FROM person WHERE Geschlecht = '".$geschlecht."' AND Vorname = '".$vorname."' AND Nachname = '".$nachname."' AND Geburtsdatum = '".$gebdatum."'";
$ergebnis = mysqli_query($db, $sql);
echo "<table border = '1' style = 'border-spacing: 0;'>\n";
echo "<tr><th>ID</th><th>Geschlecht</th><th>Titel</th><th>Vorname</th><th>Nachname</th><th>Geburtsdatum</th><th>Geburtsname</th><th>Geburtsort</th><th>Beruf</th><th>Sterbedatum</th><th>Sterbeort</th><th>Notitzen</th></tr>";
while ($row = mysqli_fetch_assoc($ergebnis))
{
echo "<tr>";
foreach ($row as $key => $value)
{
echo "<td> $value </td>\n";
}
echo "<tr>";
}
echo "</table>\n";
}
mysqli_close($db);
?>
</body>
Alles anzeigen
Danke im Voraus!