Hi Tetramatrix,
jetzt geht es - fast. Vielen Dank. Es wird ein Datensatz mit der entsprechenden PLZ ausgegeben. Was bin ich dir dankbar. #giggle#
Allerdings habe ich immer noch diese doofe Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /typo3_src-3.8.0/typo3/ext/user_bivmetal/pi1/class.user_bivmetal_pi1.php:79) in /typo3_src-3.8.0/typo3/sysext/cms/tslib/class.tslib_fe.php on line 2612
Was immer das bedeutet, ist jedenfalls nichts gutes. Wie kann ich das beheben? #angry#
Auch wenn ich jetzt unverschämt werde:
Kannst du mir sagen, wie ich ein Formular erstelle, dass genau ein Feld hat, in das der Interessent die gewünschte PLZ eingibt, Submit klickt und dann erst die gewünschten Adressen ausgegeben werden?
Ich schicke dir mal den Code des PHP-Dokuments, dass ich für diese Abfrage erstellt habe, allerdings nicht für Typo.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>New Document</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Adressen der Metallbildner - Abfrage</h1>
Suchformular mit nur einem Feld zur Eingabe der gewünschten PLZ
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<!-- Feldinhalt, also Eingabe des Besuchers soll im Feld gespeichert werden value= -->
Suche nach PLZ: <input type="text" name="plz" value = "<?php echo $_POST["plz"];?>">
<input type="submit" name="suchen" value="submit" /><br />
</form>
<?PHP
//Variable nicht leer
if (!empty ($_POST["plz"]))
{
$iVerbNr = mysql_pconnect( "localhost", "root", "")
or
die( "<h2>Verbindungsfehler</h2>" . mysql_error() );
@mysql_select_db("bivmetall", $iVerbNr)
or
die( "<h2>Datenbank existiert nicht: </h2>" . mysql_error() );
$tabellenname = "metallbildner";
$postleit = $_POST["plz"];
//$plz=array("00000","10000","20000","30000", "40000", "50000","60000", "70000","80000","90000");
// Postleitzahl wird abgefragt
// Abfrage nach der PLZ, wenn nur 4 eigegeben wird, werden alle, die mit 4 beginnen, ausgegeben.
// Wird 41 eingegeben, dann alle die mit 41 anfangen. Dafür steht LIKE 'Variable%'
$SQLAbfrage = "SELECT * FROM $tabellenname WHERE plz LIKE '$postleit%' ";
$Ergebnis = mysql_query($SQLAbfrage, $iVerbNr)
or
die( "<h2>Abfragefehler</h2>" . mysql_error() );
$nAnzZeilen = mysql_num_rows($Ergebnis);
if ((!empty ($_POST["plz"])) && ($nAnzZeilen > 0)) {
// String gibt über die Variablen die Anzahl der gefundenen Datensätze aus.
echo "<h3>Im gewünschten Postleitbereich " . $postleit ." wurden " . $nAnzZeilen . " Adressen gefunden!</h3>";
echo "<h2>Adressen im gewünschten PLZ-Bereich</h2>";
echo "<table border="1">";
echo "<tr>";
echo "<th>Firma</th>";
echo "<th>Firma 2</th>";
echo "<th>Straße</th>";
echo "<th>Nr.</th>";
echo "<th>PLZ</th>";
echo "<th>Ort</th>";
echo "<th>Telefon</th>";
echo "<th>DW</th>";
echo "<th>Telefax</th>";
echo "<th>DW</th>";
echo "<th>Email</th>";
echo "<th>Internet</th>";
echo "</tr>";
while ( $aDaten = mysql_fetch_array( $Ergebnis ) )
{
echo "<tr>";
echo "<td>" . $aDaten["firma_1"] . "</td>";
echo "<td>" . $aDaten["firma_2"] . "</td>";
echo "<td>" . $aDaten["strasse"] . "</td>";
echo "<td>" . $aDaten["hausnr"] . "</td>";
echo "<td>" . $aDaten["plz"] . "</td>";
echo "<td>" . $aDaten["ort"] . "</td>";
echo "<td>" . $aDaten["tel"] . "</td>";
echo "<td>" . $aDaten["tel_dw"] . "</td>";
echo "<td>" . $aDaten["fax"] . "</td>";
echo "<td>" . $aDaten["fax_dw"] . "</td>";
echo "<td>" . $aDaten["email"] . "</td>";
echo "<td>" . $aDaten["internet"] . "</td>";
echo "</tr>";
}
echo "</table>";
// Klammer zu der 1. If-Abfrage, ob die Variable $_POST ["plz"]gesetzt ist
}
else
{
echo "Nichts gefunden";
}
}
?>
</body>
</html>
Wie übersetzt man dieses Formular für die Typo3 - Datei?
Für jede Hilfe dankbar,
Andrea