kbit
25.11.2007, 13:27:56
Hi, ich habe diesen Quellcode geschrieben:
suche3.php
<?php
error_reporting(E_ALL);
require("open.inc.php");
$sql = "SELECT C_ID,Ort FROM City";
$row_sel = mysql_query($sql) or die(mysql_error());
echo '<form action="'.$_SERVER['SCRIPT_NAME'].'" method="POST">
Stadt: <select name="staedte" size="1">';
while ($select=mysql_fetch_array($row_sel)){
echo '<option value="'.$select['C_ID'].'">'.$select['Ort'].' </option>';
}
echo '</select>
<br>
<br>
<input type="text" name="strassen" />
<input type="submit" name ="submit" value="suchen">
<br>
<br>
';
if(isset($_POST['submit'])){
$sql = "SELECT s.S_Name,s.S_PLZ,c.Ort
FROM strassen s, City c
WHERE s.C_ID=c.C_ID
AND c.C_ID ='".$_POST['staedte']."'
AND s.S_Name= '".$_POST['strassen']."'
ORDER BY c.ort ASC LIMIT 0,30";
$result = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($result)){
while ($row=mysql_fetch_array($result)){
echo $row['S_Name']."<br />";
echo $row['Ort']."<br />";
echo $row['S_PLZ']."<br />";
}
}else{
echo"<p> Kein Treffer versuchen sie es erneut</p>";
}
echo '</form>';
}
?>
Hier kann man über eine Auswahlliste einen Ort auswählen und über ein Textfeld eine Straße eingeben. Schickt man es ab werden einem nur Ergebnise gezeigt zu dem dazugehörigen Ort.
Zweiter Quellcode suche6.php:
<?php
error_reporting(E_ALL);
require("open.inc.php");
include ("suche3.php");
if(empty($_GET['Name']))
{
foreach ( range('A', 'Z') as $Name ) {
print "<a href=\"suche6.php?Name={$Name}\">{$Name}</a><br />";
}
}
else
{
echo '<a href="suche6.php?Name=' . urlencode($row['S_Name']) . '&PLZ=' . urlencode($row['S_PLZ']) . '">' . $row['S_Name'] . '</a>';
$letter = substr($_GET['Name'], 0, 1);
$sql_query = "SELECT `S_Name`, `S_PLZ`
FROM `Strassen`
WHERE `S_Name` LIKE '".mysql_real_escape_string($letter)."%'";
$sql = mysql_query($sql_query) or die(mysql_error());
if(mysql_num_rows($sql) == 0)
{
print 'Keine Treffer <br/>';
print "<a href=\"suche6.php\">Zurück</a><br/>";
}
else
{
while($row = mysql_fetch_array($sql))
{
print "<a href=\"test.php?Name={$row['S_Name']}\">{$row['S_Name']}</a><br />";
echo '<a href="suche6.php?Name=' . urlencode($row['S_Name']) . '&PLZ=' . urlencode($row['S_PLZ']) . '">' . $row['S_Name'] . '</a><br/>';
}//while
print "<a href=\"suche6.php\">Zurück</a><br/>";
}//else
if(isset($_GET['PLZ'])){
print $_GET['PLZ'];
}
}//else
?>
Hier werden die Buchstaben von A-Z ausgegeben. Wenn man nun auf den Link mit dem Buchstaben klickt z.b L werden einem alle Straßen mit L angezeigt klickt man dann auf eine Straße wird einem die Postleitzahl angezeigt.
So nun hatte ich mir überlegt das ich die zwei Dateien verbinde. Ich möchte das nun so haben das wenn ich bei der Auswahlliste auf den Ort klicke und dann auf den Buchstaben L mir nur noch die Straßen angezeigt werden die zu dem Ort gehören. Und da ist im moment mein Problem das ich nicht genau weiß wie ich das umsetzen kann ? Hat jemand eine Idee?
suche3.php
<?php
error_reporting(E_ALL);
require("open.inc.php");
$sql = "SELECT C_ID,Ort FROM City";
$row_sel = mysql_query($sql) or die(mysql_error());
echo '<form action="'.$_SERVER['SCRIPT_NAME'].'" method="POST">
Stadt: <select name="staedte" size="1">';
while ($select=mysql_fetch_array($row_sel)){
echo '<option value="'.$select['C_ID'].'">'.$select['Ort'].' </option>';
}
echo '</select>
<br>
<br>
<input type="text" name="strassen" />
<input type="submit" name ="submit" value="suchen">
<br>
<br>
';
if(isset($_POST['submit'])){
$sql = "SELECT s.S_Name,s.S_PLZ,c.Ort
FROM strassen s, City c
WHERE s.C_ID=c.C_ID
AND c.C_ID ='".$_POST['staedte']."'
AND s.S_Name= '".$_POST['strassen']."'
ORDER BY c.ort ASC LIMIT 0,30";
$result = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($result)){
while ($row=mysql_fetch_array($result)){
echo $row['S_Name']."<br />";
echo $row['Ort']."<br />";
echo $row['S_PLZ']."<br />";
}
}else{
echo"<p> Kein Treffer versuchen sie es erneut</p>";
}
echo '</form>';
}
?>
Hier kann man über eine Auswahlliste einen Ort auswählen und über ein Textfeld eine Straße eingeben. Schickt man es ab werden einem nur Ergebnise gezeigt zu dem dazugehörigen Ort.
Zweiter Quellcode suche6.php:
<?php
error_reporting(E_ALL);
require("open.inc.php");
include ("suche3.php");
if(empty($_GET['Name']))
{
foreach ( range('A', 'Z') as $Name ) {
print "<a href=\"suche6.php?Name={$Name}\">{$Name}</a><br />";
}
}
else
{
echo '<a href="suche6.php?Name=' . urlencode($row['S_Name']) . '&PLZ=' . urlencode($row['S_PLZ']) . '">' . $row['S_Name'] . '</a>';
$letter = substr($_GET['Name'], 0, 1);
$sql_query = "SELECT `S_Name`, `S_PLZ`
FROM `Strassen`
WHERE `S_Name` LIKE '".mysql_real_escape_string($letter)."%'";
$sql = mysql_query($sql_query) or die(mysql_error());
if(mysql_num_rows($sql) == 0)
{
print 'Keine Treffer <br/>';
print "<a href=\"suche6.php\">Zurück</a><br/>";
}
else
{
while($row = mysql_fetch_array($sql))
{
print "<a href=\"test.php?Name={$row['S_Name']}\">{$row['S_Name']}</a><br />";
echo '<a href="suche6.php?Name=' . urlencode($row['S_Name']) . '&PLZ=' . urlencode($row['S_PLZ']) . '">' . $row['S_Name'] . '</a><br/>';
}//while
print "<a href=\"suche6.php\">Zurück</a><br/>";
}//else
if(isset($_GET['PLZ'])){
print $_GET['PLZ'];
}
}//else
?>
Hier werden die Buchstaben von A-Z ausgegeben. Wenn man nun auf den Link mit dem Buchstaben klickt z.b L werden einem alle Straßen mit L angezeigt klickt man dann auf eine Straße wird einem die Postleitzahl angezeigt.
So nun hatte ich mir überlegt das ich die zwei Dateien verbinde. Ich möchte das nun so haben das wenn ich bei der Auswahlliste auf den Ort klicke und dann auf den Buchstaben L mir nur noch die Straßen angezeigt werden die zu dem Ort gehören. Und da ist im moment mein Problem das ich nicht genau weiß wie ich das umsetzen kann ? Hat jemand eine Idee?