2 Felder mit gleichem Namen

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

  • 2 Felder mit gleichem Namen

    Hallo habe folgendes Problem, ich habe 2 Tabellen die beide das Feld
    icd_id haben und die durchsucht werden.

    PHP-Code:
    <?PHP
    echo "<select name=\"icd_id4\" class=\"listen_mittel\">";
    echo
    "<option value='nothing'>Please choose an indication</option>";
    $result mysql_query("SELECT i.* ,b.* From icd i, brand b 
    where b.brand_id=
    $brand_id3 and FIND_IN_SET(i.icd_id,b.icd_id)>0  
    Order by i.icd_id"
    );
    $num mysql_num_rows($result);
             if (
    $num !=0) {
                while (
    $row mysql_fetch_array($result)) {
                if(
    $row[icd_id]==$icd_id4) { $selected="selected"; } 
                else { 
    $selected=""; }
                echo
    "<option value='$row[icd_id]$selected>
                 
    $row[icd_name]</option>";
                 }
           }
    echo 
    " </select>";
    ?>
    Wenn ich mir jetzt das auf der Seite anschaue, dann steht z.B. da
    Masern und als icd_id einmal die 3 und die 4, also so:

    <option value='3,4' >Masern</option>
    <option value='3,4' >Keuchhusten</option>

    Jetzt ist aber so die icd_id 3 gehört zu Masern, die 4 zu Keuchhusten.
    Das liegt bestimmt daran, dass die beiden Felder in den 2 Tabellen
    gleich heißen.
    Wie kann ich es aber machen, dass die icd_id die übergeben wird, also
    in dieser Zeile....

    PHP-Code:
    <?PHP
    .......

    echo
    "<option value='$row[icd_id]$selected>$row[icd_name]</option>";
    ........
    ?>
    die icd_id übergibt aus der tbl.icd_id.
    Kann man irgendwie noch einbauen $row[icd_id] = i.icd_id oder irgendsowas. Es muß doch irgendwie funktionieren, dass dort
    nur die icd_id aus der tbl.icd_id ausgegeben wird, die icd_id aus tbl.brand
    brauche ich doch nur zum Vergleich.

    Bitte um Hilfe, Danke !

  • #2
    Habe das ganze auf die Schnelle noch nicht richtig verstanden.
    Probier es aber mal so:

    PHP-Code:
    $result mysql_query("SELECT i.* ,b.* From icd i, brand b 
    where b.brand_id=
    $brand_id3 and i.icd_id=b.icd_id and FIND_IN_SET(i.icd_id,b.icd_id)>0  
    Order by i.icd_id"
    ); 
    Gruß
    Stephan
    [font=Verdana]SteGaSoft
    Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
    [/font]

    Kommentar


    • #3
      - nicht select i.*,b.* sondern explizit selektieren und alias verwenden, oder
      - über den Index und nicht über den Namen ansprechen
      für Fragen dazu erstmal da du schon lang genug dabei bist

      Kommentar


      • #4
        Und du hast immer noch nicht verstanden, das der Unterschied zwischen PHP und SQL ist? Schade... *move*

        Kommentar


        • #5
          Original geschrieben von TobiaZ
          Und du hast immer noch nicht verstanden, das der Unterschied zwischen PHP und SQL ist? Schade... *move*
          OffTopic:
          <jk> oh... sorry ... </jk>

          Kommentar


          • #6
            Tobiaz gibts Probleme ?

            Meintest du mich ?

            Kommentar


            • #7
              Ja, ich wunderte mich, warums im PHP-Forum steckte

              Kommentar


              • #8
                Es ist ja teils/teils. Ich wollte es nicht im SQL Forum schreiben, da hätten bestimmt andere gesagt - "Ist das SQL ?" ;-)

                Kommentar


                • #9
                  OffTopic:
                  das hat nicht ansatzweise was mit php zu tun
                  Es war einfach eine falsche sql-query.

                  Kommentar


                  • #10
                    Code:
                    echo "SELECT i.icd_name, i.icd_id as icd_id2 ,b.* From icd i, brand b where b.brand_id=$brand_id3 and FIND_IN_SET(icd_id2,b.icd_id)>0  Order by i.icd_name";
                    Habe das jetzt mal so probiert, leider bringt mir phpMyAdmin ne
                    Fehlermeldung "Unknow Column ..... icd_id2 .....")

                    Wie kann ich das machen, dass mein Feld i.icd_id in icd_id2 nur
                    für die Abfrage umbenannt wird ?!

                    Kommentar


                    • #11
                      Du topst dich immer wieder selbst!!!

                      http://www.php-resource.de/forum/sho...threadid=50454

                      Zu deiner Frage: Gar nicht! und nur aus dem Grund deiner Faulheit, ist das auch nicht erforderlich

                      Kommentar


                      • #12
                        Danke, Problem gelöst :-)

                        Kommentar


                        • #13
                          und wenn du nicht schreibst, wie du's gelöst hast, schliesse ich jeden deiner nächsten Beiträge

                          Kommentar


                          • #14
                            PHP-Code:
                            <?PHP
                            echo "<select name=\"icd_id3\" class=\"listen_mittel\">";
                            echo
                            "<option value='nothing'>Please choose an indication</option>";
                            $result mysql_query("SELECT i.icd_name, i.icd_id as
                            icd_id2 ,b.* From icd i, brand b where 
                            b.brand_id=
                            $brand_id3 and FIND_IN_SET(i.icd_id,b.icd_id)>0 Order by i.icd_name");
                                                  
                            $num mysql_num_rows($result);
                                                  if (
                            $num !=0) {
                                                  while (
                            $row mysql_fetch_array($result)) {
                                                  if(
                            $row[icd_id2]==$icd_id3) { $selected="selected"; } else { $selected=""; }
                                                  echo
                            "<option value='$row[icd_id2]$selected>$row[icd_name]</option>";
                                                    }
                                                  }
                                                  echo 
                            " </select>";
                                                
                            ?>

                            Kommentar

                            Lädt...
                            X