Bestimmten Wert auslesen mit Abhängigkeit einer Auswahlbox

  • geschlossen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bestimmten Wert auslesen mit Abhängigkeit einer Auswahlbox

    So liebe Leute da bin ich wieder mit einem neuen Problem ich versuche es mal so kurz es geht zu beschreiben..

    Also tatsache sit ich habe ein Formular in diesem Formular ist eine auswahl box diese Box ließt 2 Spalten aus einer tabelle meiner datenbank aus und füllt damit die auswahlbox..:

    PHP-Quellcode

    1. <select name="Download">";
    2. <?php
    3. $ergebnis = mysql_query("SELECT * FROM $Tabelle ORDER BY id ASC");
    4. while ($datensatz = mysql_fetch_array($ergebnis))
    5. {
    6. echo "<option value=". $datensatz['Kategorie'] . $datensatz['Download'] . ">";
    7. echo $datensatz['Kategorie'];
    8. echo $datensatz['Download'];
    9. echo "</option>n";
    10. }
    11. ?>
    12. </select>
    Alles anzeigen


    so nun hat diese Tabelle aus der die 2 genannten werte ausgelesen werden 1 weitere spalte namens Links. und ich möchte nun as wenn man das Formular abschickt

    PHP-Quellcode

    1. if(isset($submit)){


    Das je nachdem welcher wert in der auswahlbox ausgewählt ist, der entsprechende wert aus der spalte Links in ein array gepackt wird weil ich den später dann noch brauche..

    Ich hoffe ihr konntet mich soweit verstehen und könnt mir irgendiwe helfen ich habe es schon mit ansätzen wie

    PHP-Quellcode

    1. $downloaddl = $datensatz['Download'];
    2. $ergebniss = mysql_query("SELECT Links FROM $Tabelle where Download=$downloaddl");
    3. while ($datensatzz = mysql_fetch_array($ergebniss))


    Versucht, aber einfach nicht hinbekommen..

    Falls es fragen geben sollte stellt sie bitte ich hoffe mir kann irgendwer helfen der sich da besser auskennt...

    vielen dank

    gruß
    TheAwak3r
  • Moin,
    also deine BEschreibung ist wirklich etwas schwer nach zuvollziehen. Aber ich probiere es trotzdem mal.
    ....
    Ich verstehe vieles bei dir nicht.
    Als erstes verstehe ich nicht, warum du $datensatz wieder hast und es $downloaddl zuordnest. Das müsste dann der $datensatz aus der letzten Ausführung der while-Schleife sein... Ich glaube nicht, dass das sinnvoll ist.

    Dann, warum du nochmal die Datenbank belasten willst. Du hast doch schon ALLES (*) von $Table.


    Mein Lösungsvorschlag:
    Nehme für

    PHP-Quellcode

    1. "<option value=". $datensatz['Kategorie'] . $datensatz['Download'] . ">";

    PHP-Quellcode

    1. "<option value=". $datensatz['ID'].">";


    in die erste while Schleife packst du noch

    PHP-Quellcode

    1. $links[$datensatz['ID']].= $datensazt['link']." ";


    Und dann beim
    Ausgeben einfach

    PHP-Quellcode

    1. echo $links[$_POST['download']];


    Ich hoffe ich habe dich nicht allzu falsch verstannden. Und so hast du was du willst.

    Gruß
    Broken Sword
  • Ok dann nochmal... mit bildern..

    Hier erstmal die Bilder zum Verständniss





    Bild 1 Zeigt das Formular mit ausgeklappter auswahlbox, bild 2 zeigt den ausschnitt meiner tabelle aus der die werte genommen werden...

    Bitte nicht von den namen verunsichern lassen aber das script soll hier im forum mein altes link verteilungs script ablösen und das da sind im moment meine einzigen uploads :P

    Also nochmal die auswahlbox holt sich aus der spalte Download in der tabelle fsb_links die werte und trägt die da ein... das muss auch so bleiben damit man auch weiß was man auswählen muss wenn man einen bestimmten upload will...

    Wenn man nun den eintrag von Download mit der id 1 ausgewählt hat und dann das formular abschickt möchte ich irgendwie den entsprechenden text aus der spalte Links auf der selben Zeile in ein array oder eine variabel jedenfalls so das ich später darauf zugreifen kann....

    Boah ist das blöde sowas zu erklären -.-


    gruß TheAwak3r
  • Okay, ich glaube nun weiß ich, was du möchtest.
    Dann mach das trotzdem, das mit der <option value="$datensatz['ID']">
    Und dann einfach SQL

    SQL-Abfrage

    1. SELECT Links FROM $Tabelle where id=".intval($_POST['download'])

    Dass dann halt per mysql_fetch_assoc auslesen und du kannst per $row[Links] darauf zugreifen.
  • Danke für die hilfe ich werde das mal testen und sagen ob es klappt.

    Ich wäre ja froh wenn das so schonmal gehen würde, nur das problem was es dann gibt ist das man nicht´mehr anhand des textes in der auswahlbox erkennt welchen download man nun bekommen würde.... aber ich teste das trotzdem nun mal so..

    gruß TheAwaker
  • Na doch, du musst halt nur die values ändern!

    PHP-Quellcode

    1. echo "<option value=". $datensatz['id'] . ">";
    2. echo $datensatz['Kategorie']; //Hier sieht man das
    3. echo $datensatz['Download']; //dann doch
    4. echo "</option>n";

    Dann sieht der User welchen DL er bekommt, aber die ID wird nur übertragen.
  • Achso ok ja das ist schlüssig.. sorry aber ich arbeite nun mit datenbanken erst seit ein paar wochen und bin da noch ein bisschen unbeholfen, aber wieso bekomme ich bei


    SQL-Abfrage

    1. SELECT Links FROM $Tabelle where id=".intval($_POST['download'])



    Immer eine fehler meldung ist das wikrlich korekt so?

    Habe nun alles so geändert wie du meintest nur der hat dann da immer nen syntax fehler aus der Zeile.


    Edit: Hier nochmal der Quellcode:

    PHP-Quellcode

    1. <select name="download">";
    2. <?php
    3. $ergebnis = mysql_query("SELECT * FROM $Tabelle ORDER BY id ASC");
    4. while ($datensatz = mysql_fetch_array($ergebnis))
    5. {
    6. echo "<option value=". $datensatz['id'] . ">";
    7. echo $datensatz['Kategorie'];
    8. echo $datensatz['Download'];
    9. echo "</option>n";
    10. }
    11. ?>
    12. </select>
    Alles anzeigen


    PHP-Quellcode

    1. if(isset($submit)){
    2. $ergebniss = mysql_query("SELECT Links FROM fsb_links WHERE id=intval($_POST['download'])");
    3. while ($datensatzz = mysql_fetch_assoc($ergebniss)
    4. echo $row[datensatzz]
    5. )


    Nur muss irgendwas in der syntax bei

    PHP-Quellcode

    1. $ergebniss = mysql_query("SELECT Links FROM fsb_links WHERE id=intval($_POST['download'])");


    nicht stimen
  • Es muss heißen:

    PHP-Quellcode

    1. $ergebniss = mysql_query("SELECT Links FROM fsb_links WHERE id=".intval($_POST['download']));

    Aber da es immer nur einen Link gibt, kannst du die while-Schleife weglassen.

    PHP-Quellcode

    1. $row = mysql_fetch_assoc($ergebnis);
    2. echo $row['Links'];