arraywert in der WHERE-abfrage bei mysql

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

  • arraywert in der WHERE-abfrage bei mysql

    Hallo,

    ich möchte die werte von zwei spalten einer mysql-tabelle abrufen. aufgrund dieser werte soll in einer anderen tabelle die entsprechnden einträge ausgelesen werden und diese dann ausgegeben werden.

    ich habe bisher folgendes:

    <?
    include('verbindung.php');
    $kats1 = mysql_query("SELECT region1 FROM ferien WHERE land = \"7\" GROUP BY region1 ");
    $kat1 = mysql_fetch_array($kats1);
    $kats2 = mysql_query("SELECT region2 FROM ferien WHERE land = \"7\" GROUP BY region2 ");
    $kat2 = mysql_fetch_array($kats2);
    $kategorien = array_merge($kats1, $kats2);
    $kat_array = array_unique($kategorien);
    foreach($kat_array as $kategorie) {
    $katliste = mysql_query("SELECT region_id, region FROM regionen WHERE region_id = \"$kategorie.\" GROUP BY region ");
    $katist = mysql_fetch_row($katliste);
    echo "$katist2[0] = $katist2[1] <br>";
    }
    ?>

    doch als Ergebnis bekomme ich nur:

    =
    =

    Kann mir jemand verraten, wo der fehler liegt?

  • #2
    Re: arraywert in der WHERE-abfrage bei mysql

    hmm,

    geh den code durch,
    überprüfe jede zeile,
    finde den punkt, wo das verhalten deines codes von dem von dir vermuteten abweicht ...

    was willst du machen?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Original geschrieben von athenaise
      PHP-Code:
      ...
      echo 
      "$katist2[0] = $katist2[1] <br>";}
      ... 
      Entschuldigung, aber: Igit


      Erstens, trennt man Variablen aus dem String raus, besonders Arrays
      also:
      PHP-Code:
      ...
      echo 
      $katist2[0].' = '.$katist2[1].' <br>';}
      ... 
      Zweitens:
      Was erwartest du soll in $katist2 drinstehen? Du hast die Variable nirgenswo definiert!
      Die Musikreview Seite

      hi, i'm a signature virus. copy me into your signature to help me spread.

      Kommentar


      • #4
        @ Tartax:

        katist2 => da hast Du recht, war no ein überbleibsel aus einem anderen versuch. Habe das jetzt geändert, auch die echo-Ausgabe, aber das Ergebnis bleibt das Gleiche.

        @derHund:

        ich habe eine tabelle mit verschiedenen angaben zu tierfutter (nicht durch den tabellennamen irritieren lassen), bei der es zwei verschiedene kategorien geben kann (also: für junge hunde, für alte hunde, diätnahrung, so was halt). diese kategorien sollen je nach abfrage (hundefutter, katzenfutter, fischfutter etc.) in einer liste ausgegeben werden.

        Kurz:
        ich möchte Werte aus zwei Spalten einer Tabelle in ein array einlesen (daher array_merge() ), aus diesem array dann doppelte werte rausholen (daher array_unique() ) und für jeden der werte in dem zusammengefügten array eine sql-abfrage stellen, um entsprechende werte zu erhalten.

        So was muss doch möglich sein...??

        Zuletzt geändert von athenaise; 10.07.2004, 18:08.

        Kommentar


        • #5
          mach das, was ich gesagt hab .... dann geht das schon.

          wenn du deine erläuterungen noch allgemeiner halten könntest, würden vielleicht noch weniger leute helfen können ...
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            wert aus dem array wird nicht übertragen

            sowir funktioniert aj alles ganz wunderbar, solange ich nicht mit arrays arbeite. die brauche ich aber, um keine doppelten einträge zu haben.

            problem ist: der wert des arrays wird nicht übertragen, es wird also im prinzip nach nichts gesucht.

            Kommentar


            • #7
              Habe es nochmal probiert:

              <?
              include('verbindung.php');
              $kats1 = mysql_query("SELECT kategorie1 FROM ferien WHERE land = \"7\" GROUP BY kategorie1 ");
              $kat1 = mysql_fetch_array($kats1);
              $kats2 = mysql_query("SELECT kategorie2 FROM ferien WHERE land = \"7\" GROUP BY kategorie2 ");
              $kat2 = mysql_fetch_array($kats2);
              $kategorien = array_merge($kats1, $kats2);
              $kat_array = array_unique($kategorien);
              print_r $kategorien;
              foreach($kat_array as $katkeye) {
              $katliste = mysql_query("SELECT id, kategorie FROM kategorien WHERE id = \"$katkey\" GROUP BY kategorie ");
              $katist = mysql_fetch_array($katliste);
              echo $katist['id'].' = '.$katist['kategorie'].' <br>';
              }
              ?>

              Und bekomme das hier raus:

              Array ( [0] => Resource id #2 [1] => Resource id #3 ) Array ( [0] => Resource id #2 [1] => Resource id #3 ) 0 =
              1 =

              (wohlgemerkt, die ausgabeliste müsste mindestens 10-15 einträge habe)
              Zuletzt geändert von athenaise; 10.07.2004, 18:38.

              Kommentar


              • #8
                OffTopic:
                dann eben nicht.
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  genau...

                  ... dann eben nicht!

                  Kommentar


                  • #10
                    Original geschrieben von athenaise
                    Und bekomme das hier raus:

                    Array ( [0] => Resource id #2 [1] => Resource id #3 ) Array ( [0] => Resource id #2 [1] => Resource id #3 ) 0 =
                    1 =

                    (wohlgemerkt, die ausgabeliste müsste mindestens 10-15 einträge habe)
                    wohlgemerkt, die datensätze selbst bzw. ihre inhalte hast du dir ja noch überhaupt nicht angesehen.

                    [X] du möchtest dich informieren, was eine "Resource id" ist, und was man mit ihr anstellen kann.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar

                    Lädt...
                    X