Hallo Leute,
nach längerer Abwesenheit habe ich mich ma' wieder mit PHP beschäftigt.
Es geht um ein Skript, welches eine datenbankabfrage nur durch Drücken des Buttons und nicht durch die RETURN-Taste korrekt verarbeitet.
Inwiefern muss ich den Code erweitern ,damit das klappt?
Benötige ich vielleicht zusätzlich JavaScript, oder reicht PHP aus?
Vorab vielen Dank für jedes konstruktive feedback
nach längerer Abwesenheit habe ich mich ma' wieder mit PHP beschäftigt.
Es geht um ein Skript, welches eine datenbankabfrage nur durch Drücken des Buttons und nicht durch die RETURN-Taste korrekt verarbeitet.
Inwiefern muss ich den Code erweitern ,damit das klappt?
Benötige ich vielleicht zusätzlich JavaScript, oder reicht PHP aus?
Vorab vielen Dank für jedes konstruktive feedback
PHP:
<!Doctype html> <!-- Definition des doctype-Modus -->
<html> <!-- Definition des Stammverzeichnises -->
<head> <!-- Definition des Kopfbereiches -->
<meta charset="utf-8"> <!-- charset[utf-8:] definiert den deutschen Zeichensatz -->
<title>Datenbankabfragen</title> <!-- weist dem HTML-Dokument in der Registerkarte einen Namen zu -->
<!-- Hier ggf. CSS-Link einfügen, z.B.: <link href="css/design.css" rel="stylesheet"> -->
<!-- ab hier Designanweisungen einfügen -->
<style>
body{background-color:#81F7F3;}
a:visited{color:blue}
p{font-size:22px;}
label{
font-size:21px;
border-bottom: double 4px;}
label.l1{font-size:16px;}
.button{
height:50px;
width:80px;
background-color: #4CAF50;
border: none;
color: yellow;
font-size: 15px;
border-radius: 20px;}
.button1{
height:30px;
width:50px;
background-color: blue;
border: none;
color: yellow;
font-size: 15px;
border-radius: 10px;}
.feld{
background-color:#F6CEF5;
border: none;
color: brown;
padding: 15px;
text-align: center;
font-size: 20px;
border-radius: 8px;}
#box1 {float:left;}
</style>
</head>
<body> <!-- ab hier HTML-Code einfügen -->
<a href="index.html" target="blank">zurück zur Hauptseite</a>
<center><h1>SQLite3-Abfragen/Postleitzahlenskript</h1></center><br>
<p><i>Diese Webseite sucht in einer lokalen Datenbank nach der PLZ oder dem Ort Ihrer Wahl!
In den dafür vorgesehenen pinken Feldern können Sie jeweils eintragen, wonach Sie suchen. Dafür genügen auch die Anfangsbuchstaben bzw. Anfangsziffern.</p>
<p> Bitte beachten Sie, dass die Suche nur mit dem Button abgeschlossen werden kann, <b> nicht mit der RETURN-Taste!</b></p></i><br>
<form action= "PDO_Connect.php" method="post">
<div id="box1" class="box1">
<input class="button1" type="submit" name="search_reset" value="Reset">
<label name="ort">Suche bereinigen</label></div><br><br>
<center>
<input type class="feld" type="text" name="anfang0" id="anfang" placeholder="entweder hier Ort eintragen">
<input class="button" type="submit" name="search0" value="Suchen"><br><br>
<input type class="feld" type="text" name="anfang1" id="anfang1" placeholder="oder hier PLZ eintragen">
<input class="button" type="submit" name="search1" value="Suchen"><br><br><br>
</form>
</center>
<?php
try{$dbh = new SQLite3("plz");}
catch(Exception $e) {
print "Datenbankverbindungsfehler: " . $e -> getMessage() . "<br>";} // sofern kein Aufbau möglich interne Fehlermeldung ausgeben
//PLZ nach Eingabe des Ortes
if(!empty($_POST["search0"]) && $_POST["search0"] == "Suchen"){
echo "Datenbankverbindung wird initialisiert.....<br>";
echo"<table border='3'>";
echo"<tr><td width='60' bgcolor=red>PLZ</td><td width='157' bgcolor=yellow>Ort</td></tr>";
$sql = $dbh->query("SELECT Stadt,plz FROM plz WHERE Stadt LIKE '".$_POST["anfang0"]."%' ORDER BY Stadt");
/*$rows=$sql->numColumns();// liefert nur die Spaltenanzahl; die Methode numRows() existiert in dieser Klasse nicht!!
print "<br><b><font size='5'><font color='#ff00ff'>Es wurden ".$rows." Datensätze gefunden</b></font size></font><br><br>";*/
while ($daten = $sql->fetchArray(SQLITE3_ASSOC)){
echo"<table border='1'>";
echo "<tr><td width='60' bgcolor=red>".$daten['plz']."</td><td width='160' bgcolor=yellow>".$daten['Stadt']."</td></tr></table>";}
//$db->close();
}
//Ort nach Eingabe der PLZ
if(!empty($_POST["search1"]) && $_POST["search1"] == "Suchen") {
echo "Datenbankverbindung wird initialisiert.....<br>";
$sql = $dbh->query("SELECT Stadt,plz FROM plz WHERE plz LIKE '".$_POST["anfang1"]."%' ORDER BY plz asc");
while ($daten = $sql->fetchArray(SQLITE3_ASSOC)){
echo"<table border='1'>";
echo "<tr><td width='60' bgcolor=red>".$daten['plz']."</td><td width='160' bgcolor=yellow>".$daten['Stadt']."</td></tr></table>";}
}
?>
<script></script><!-- Hier ggf. JS-Code einfügen -->
</body>
</html>