Probleme mit URL

Kalito

Erfahrenes Mitglied
Hallo,

ich habe ein Drop-Down-Menü geschrieben, welches Daten aus einer SQL-Tabelle bezieht und wenn ich etwas auswähle, dann werden die Daten an eine neue Seite geschickt, welches dann die Auswahl präsentiert. Erstmal der code

PHP:
   function select_product(){
        global $verbindung;
        if($meineVerbindung = db_connect()) {
        $sql = mysql_query('SELECT * FROM '.DB_TABLE, $meineVerbindung);

        echo '<form method="get" action="index.php?">';
            echo '<select name="site">';
                while($daten = mysql_fetch_assoc($sql)){
                    echo '<option  value='.$daten['group_id'].'>'.$daten['product_name'].'</option>';
                }
            echo '</select>';
            echo '<input type="submit" value="Produkt vergleichen" id="button"/></form>';
        }
        else echo "Verbindungsfehler!";
   };
Nun habe ich folgendes Problem: Wenn ich was auswähle, dann sollen die Daten an die besagte Seite geschickt werden. Nun ist es so gebaut, das ich eine Index.php habe, wo cih dann mittels einer Switch-anweisung die seiten-id den Seiten zuweise. Das ****t auch soweit und auch die Übertragung der Auswahl-id, aber die Kombi glappt einfach nicht.
Letzendlich muss folgende URL rauskommen:

.../index.php?site=2&id=5

Wenn ich aber es so versuche, wird das & und das = nach der id in kryptische Zeichenkombinationen verwandelt. Hab auch schon probiert die & zu maskieren, aber nichts passiert.

Ich hoffe Ihr habt eine Lösung für mich :)
 
Bringt nichts, dann kommt nur .../index.php?site=2

mir fehlt halt, wie ich an dieser URL halt noch &id= anbinden kann :)
 
Wo wird den dieser Link gebildet?

"site" ist der Wert der von der Lsite kommt. Woher kommt der Wert "id"? Zur Not erstelle ein verstecktes Textfeld und trage da die ID ein. Dann wird dieser Wert beim Senden automatisch mit übertragen.
 
index.php --> kommt vom action Befehl im From
site --> name des Select-Block
Seitenname habe ich im Value des Option-Block gepackt

--> So hab ich erstmal index.php?site=2 &id=$data['group_id']

die id kommt von der $data['group_id'], welche ich aus der DB ziehe. Nur wie bekomme ich es so an die URL?
 
Wenn dieser Wert beim Senden des Formulars angehängt werden soll, musst du ihn wie oben geschrieben in ein (verstecktes) Textfeld packen.

Dann wird er mitgeschickt.

Moment mal.
$data['group_id'] nimmst du doch als Value-Eigenschaft für die Liste "site". Somit wird doch der Wert als Auswahl der Lsite übertragen.
Irgendwie machst du da was doppelt.
 
Zuletzt bearbeitet:
Soweit so gut, danke erstmal. Aber wenn ich die Variable $daten['id'] mit in das Hiddenfeld einbaue, wird es nicht mit übernommen.

Gruß
 
Ähm, jetzt redest du plötzlich von $daten['id'] eben war es noch $data['group_id'].
Was stimmt jetzt?

Zeig doch nochmal deinen kompletten Code.
 
Hier nochmal der aktuelle code

PHP:
   function select_product(){
        global $verbindung;
        if($meineVerbindung = db_connect()) {
        $sql = mysql_query('SELECT * FROM '.DB_TABLE, $meineVerbindung);

        echo '<form method="get" action="index.php">';
            echo '<select name="site">';
                while($daten = mysql_fetch_assoc($sql)){
                    echo '<option value=2>'.$daten['product_name'].'</option>';
                }
            echo '</select>';
            echo "<input type=\"hidden\" name=\"id\" value=\"".$daten['group_id']."\" />";
            echo '<input type="submit" value="Produkt vergleichen" id="button"/></form>';
        }
        else echo "Verbindungsfehler!";

Dieser ergib bei Asführung folgenden Code: index.php?site=2&id=


Mir fehlt noch die id :(

Gruß, Pat
 
Klär mich mal auf. Was ist soll von der Liste für ein Wert übergeben werden.
Im Moment übergibt die Liste "site" egal was gewählt wurde immer den Wert 2, das kann ja nicht gewollt sein.

PHP:
echo '<option value="' .$daten['group_id'] .'">'.$daten['product_name'].'</option>';
 
Zurück