Listenfeld Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Listenfeld Problem

    Hey Leute, ich habe folgendet Problem:

    Ich habe ein funktionierendes dynamisches Listenfeld. Im listenfeld stehen Gerätenamen unterschiedlicher Dosen/Pcs /Macs. Wenn ich eine Kiste auswähle, und Abschicke möchte ich dass die Software und version von der Hardware angezeigt wird.

    Sitze etwa 2 tage dran

    In der DB habe ich Folgende Tabellen:

    Hardsoft: Software: Hardware:
    S_ID S_ID Ha_ID
    Ha_ID S_Name Ha_Name
    Version

    Der Code sieht so aus:
    Listenfeld inkl. Form:

    <html>
    <head>
    <title>Select2.0</title>
    </head>
    <?PHP

    require("Connect.php");

    PHP?>

    <name='Formular Main'>

    <form main='main_form' method='get' action='http:\\localhost\Inventar\ueben\Select2.1.php' enctype='multipart/form-data'>

    <?PHP

    /*hardware ermitteln*/
    $sql1="SELECT Ha_ID, Ha_Name FROM hardwareSRT";
    $result1 = mysql_query($sql1);
    $num_hardware = mysql_num_rows($result1);

    /* Listenfeld hardware*/
    echo "Hardware: <select name=\"hardware\">";
    echo "<option>Bitte auswählen</option>";

    /*Werte via For schleife ins Listenfeld einfügen*/
    for($j=0; $j < $num_hardware; $j++)
    {
    mysql_data_seek ($result1, $j);
    $hardware = mysql_fetch_array($result1);
    echo "<option value=$hardware[Ha_ID]>$hardware[Ha_Name]</option>";
    }
    echo "</select><br>";

    /*Listenfeld hardware ende*/

    echo "<input type='submit' value='Auswerten' name='SubHW'>";
    echo "</table>";
    echo "</form>";
    echo "</body>";
    echo "</html>";

    PHP?>

    Ausgabe:

    <html>
    <head>
    <title>Selects2.1</title>
    </head>
    <body>

    <?PHP
    require("Connect.php");

    /* Prüfen ob hinzufügen gedrückt wurde. */
    if (isset ($SubHW)) {

    /*Abfrage in sql2 speichern*/
    $sql2 = "SELECT * FROM Software AS s JOIN hardsoft AS hs JOIN hardware AS h
    WHERE $hardware=hw.Ha_Name AND hs.Ha_ID=hw.Ha_ID";

    /*Abfrage starten*/
    $result2 = mysql_query($sql2);

    /*Datensätze zählen*/
    $num_hwso = mysql_num_rows($result2);
    PHP?>



    <p align=center>
    <table border='5' cellspacing='5' cellpadding='5'>
    <caption><b><big>Select2.1</big></caption></b>
    <tr>


    <td><b>Software</b></td>
    <td><b>Version</b></td>
    </tr>
    <?PHP
    /*Ausgabeschleife */
    for($j=0; $j < $num_hwso; $j++)
    {
    mysql_data_seek ($result2, $j);
    $hwso = mysql_fetch_array($result2);

    echo "<tr>";
    echo "<td>$hwso[S_Name]</td>";
    echo "<td>$hwso[Version]</td>";
    echo "</tr>";
    echo "</p>";
    }
    echo "<tr>";
    echo "<td><b><a href='http://localhost/inventar/ueben/select2.0.php'>Back</a></td></b>";

    }
    unset ($SubHW);
    PHP?>

    </body>
    </html>

    Danke zum Voraus

  • #2
    frage: warum verwendest du hier "multipart/form-data"?
    Schattenbaum | SelfHTML | SelfPHP | DrWeb | polygon.studio || Google | Teoma | Forum Suche

    Kommentar


    • #3
      Sorry bin im zweiten Lehrjahr Informatiker bin noch nicht so erfahren

      Kommentar


      • #4
        sollte nur eine frage sein, hab nie informatik gelernt, hab also noch weniger ahnung?
        Schattenbaum | SelfHTML | SelfPHP | DrWeb | polygon.studio || Google | Teoma | Forum Suche

        Kommentar


        • #5
          Aber ist krass wie schnell Antworten kommen!!

          Hoffe dass mir jemand helfen kann....

          Kommentar


          • #6
            ....
            Zuletzt geändert von Dr.Stone; 07.11.2003, 08:12.

            Kommentar


            • #7
              Bitte helft mir!!!

              Kommentar


              • #8
                hast du denn nach the.gatekeepers frage bezüglich "multipart/form-data" dies mal testweise weggelassen ...?


                p.s.: die erzeugung deiner query ist komisch,

                $sql2 = "SELECT * FROM Software AS s JOIN hardsoft AS hs JOIN hardware AS h WHERE $hardware=hw.Ha_Name AND hs.Ha_ID=hw.Ha_ID";

                bist du sicher, dass du beim fett markierten teil nicht eher

                WHERE hw.Ha_Name='$hardware'

                meinst?
                Zuletzt geändert von wahsaga; 07.11.2003, 09:46.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Ja! Habe es raus genommen.
                  Habe es nachgeschlagen.
                  Es wäre soweit ich gelesen habe für mehrfach auswahlen etc. zuständig sollte aber nichts zur sache tun.

                  Ich habe eine lösung gefunden!!:

                  switch ($hardware)
                  {
                  case 1:
                  $sql2 = "SELECT S_Name, Version FROM software AS s JOIN hardsoft AS hs
                  WHERE hs.S_ID=s.S_ID AND hs.Ha_ID=$hardware";
                  break;
                  }
                  Ich weiss Case ist hier sicher fehl am platz da es sich für mehrfachauswertungen eignen würde aber es funktioniert doch!!

                  Oder gäbe es noch einen besseren WEG?

                  Danke dir!

                  Kommentar


                  • #10
                    Original geschrieben von Dr.Stone
                    switch ($hardware)
                    {
                    case 1:
                    $sql2 = "SELECT S_Name, Version FROM software AS s JOIN hardsoft AS hs
                    WHERE hs.S_ID=s.S_ID AND hs.Ha_ID=$hardware";
                    break;
                    }
                    Ich weiss Case ist hier sicher fehl am platz da es sich für mehrfachauswertungen eignen würde aber es funktioniert doch!!
                    switch ist für fallunterscheidungen gedacht - wenn du nur den einen fall hast, gibt es doch auch nichts zu unterscheiden ...?

                    PHP-Code:
                    $sql2 "SELECT S_Name, Version FROM software AS s JOIN hardsoft AS hs WHERE hs.S_ID=s.S_ID AND hs.Ha_ID=$hardware"
                    ohne den switch sollte genauso gut funktionieren.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      MIST da hätte ich schon VIEL früher drauf stossen sollen!
                      Da schäme ich mich ja gleich

                      Ich danke dir Vielmals für deine Hilfe!

                      Kommentar

                      Lädt...
                      X