Submit button Problem

kbit

Erfahrenes Mitglied
Hi ich hab ein kleines Problem beim absenden meiner submit buttons Erstmal beschreibe ich was ich genau mache.
Also ich erzeuge mir eine selectbox Dynamisch aus einer DB. Dort lasse ich mir die Orte ausgeben. Wenn ich nun einen Ort auswähle und in dem textfeld (strassen) eine Straße eingebe sucht er in der DB nach dem zugehörigen Ort und der Straße und gibt die aus.(die Ausgabe habe ich mal weg gelassen) Dies funktioniert auch wunderbar.
PHP:
$sql = "SELECT C_ID,Ort FROM City"; 
$row_sel = mysql_query($sql) or die(mysql_error());  

echo '<form action="'.$_SERVER['SCRIPT_NAME'].'" method="GET">
Stadt: <select name="staedte" size="1">';

        while ($select=mysql_fetch_array($row_sel)){
        echo '<option value="'.$select['C_ID'].'">'.$select['Ort'].' </option>';
        } 
echo '</select>

<input type="text" name="strassen" />
<input type="submit" name ="submit" value="suchen">';
if(isset($_GET['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 ='".$_GET['staedte']."' 
    AND s.S_Name= '".$_GET['strassen']."' 
    ORDER BY c.ort ASC LIMIT 0,30";
Hier hab ich eine 2 Datei (1 Datei wird hier includet), die mir am Anfang wenn Name noch nicht gesetzt ist die Buchstaben von A-Z ausgibt. Klickt man auf einen Buchstaben so bekommt man als Ausgabe alle Strassen mit dem zugehörigen Anfangsbuchstaben. Das Funktioniert auch.

PHP:
if(empty($_GET['Name']))
{
    foreach (range('A', 'Z') as $Name)   {
        echo("<input type=\"submit\" class=\"buchstaben\" name=\"Name\" value=\"".$Name."\" />");
    }
}else{
$letter = substr($_GET['Name'], 0, 1);
    
    $sql_query = "SELECT s.S_Name, s.S_PLZ
                    FROM strassen s , City c
                    WHERE s.C_ID=c.C_ID 
                   AND s.S_Name LIKE '".mysql_real_escape_string($letter)."%'";
So nun zu meinem Problem. Wenn ich nun in dem textfeld etwas eingebe und es gibt keinen treffer dann kann ich nicht mehr auf die buchstaben klicken. Also sie reagieren nicht. Es liegt denke ich mal daran das sie ja schon gesendet wurden. Ich möchte das aber so haben das man sie anklicken kann. Jemand eine Idee?


Ich hab es dann mal versucht die Buchstaben als Link darzustellen.
PHP:
print "<a href=\"frame.php?Name={$Name}\">{$Name}</a>";
Hier ist aber das Problem das ich keine verbindung zur selectbox habe, also wenn ich auf den Link klicke dann bekomme ich halt alle ergebnise aus der DB die den Buchstaben z.b A haben aber nicht zu dem jeweiligen Ort. Könnte man da nicht vielleicht irgendwie den Wert der Selectbox mit übergeben?
 
Überprüfe mal, ob die Submit-Buttons auch wirklich innerhalb des Formulares stehen, wenn das Problem auftaucht... das wäre zumindest die naheliegendste Erklärung dafür, dass nichts passiert.
 
Überprüfe mal, ob die Submit-Buttons auch wirklich innerhalb des Formulares stehen, wenn das Problem auftaucht... das wäre zumindest die naheliegendste Erklärung dafür, dass nichts passiert.

Ja stehen sie. Es ist halt so das einmal ein submit button existiert für das textfeld und dann für jeden buchstaben noch einmal einer. Wenn ich das Formular starte und klicke auf einen Buchstaben dann funktionieren sie auch, gebe ich im textfeld was ein und es kommt zu keinem ergebnis, gebe ich halt in Form eines echo befehls aus das es keinen treffer gab und wenn man dann auf die buchstaben klicken will reagieren sie nicht mehr. Ich könnte mir das halt so vorstellen das es daran liegt das durch das absenden des ersten submit buttons die anderen mit gesendet werden und das sie dadruch nicht mehr reagieren sondern erst nach einem neustart des formulars.
 
Weil man dann mal nachgucken könnte, was da los ist.

Es ist recht umständlich, einem clientseitigen Problem anhand von Auschnitten serverseitigen Skriptcodes auf die Spur zu kommen.
 
Das ist richtig. Wenns hilf kann ich auch den ganzen Code mal posten. Gibt es denn eine Möglichkeit den Links vielleicht die Id von der selectbox mit zu übergeben ?
 
Zurück