fetch ja useiden muuttujien tulostaminen sql-kyselyyn

Tomppa234

Miten saan käytettyä useita haettuja muuttujiksi haettuja table sql-kyselyissä, kun väliin tarvittaisiin AND:ia?

Esim: SELECT henkilö FROM perussivut WHERE henkilö != '$henkp'..... Ei tietenkään toimi, koska $henkp:ssä on useita henkilöitä. Miten saan tehtyä vastaavan kyselyn fetchatuilla tablen arvoilla?

Hakukoodini on tällainen:

      if(!$kyselyala = mysql_query("SELECT * FROM henkilöt WHERE layer = 2 AND tyyppi = 'toimistohenkilö'"))
      {
         print "Haku epäonnistui. Virhe:" . mysql_error();
      }else{
            while ($row = mysql_fetch_array($kyselyala)) {
            
               $henkp = $row['henk'];
   
            }
      }

8

478

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • php-miäs

      Eli siis.. yrität ensiksi hakea yhdellä kyselyllä listaa henkilöistä ja sitten tehdä toisen kyselyn, johon nämä henkilöt ei tule mukaan?

      Todennäköisesti järkevintähän olisi tehdä tuo yhdellä kyselyllä. Tuon kyselyn tekeminen vaatisikin sitten hieman ajattelua ja todennäköisesti yritysta ja erehdystä sitäkin enemmän. Todennäköisesti onnistuu LEFT tai RIGHT JOIN:lla.


      Pikaratkaisuna toimisi kuitenkin varmaan joku seuraavan tapainen:

      if(!$kyselyala = mysql_query("SELECT * FROM henkilöt WHERE layer = 2 AND tyyppi = 'toimistohenkilö'"))
      {
      print "Haku epäonnistui. Virhe:" . mysql_error();
      }else{
      while ($row = mysql_fetch_array($kyselyala)) {

      $henkp[] = $row['ID'];

      }

      $query = "SELECT henkilö FROM perussivut WHERE henkilö NOT IN (";

      foreach ($henkp as $arvo)
      {

      if ($lisaaPilkku) $query .= ", ";
      $query .= "'" . $arvo . "'";
      $lisaaPilkku = true;

      }

      $query .= ") ORDER BY sarake";

      echo $query;

      }

      Jos kaikki meni oikein, tuosta tulee vastauksena jotain tyyliin: SELECT henkilö FROM perussivut WHERE henkilö NOT IN ('matti', 'seppo', 'timo') ORDER BY sarake

      • Tomppa5435

        Kiitos. Juuri tätä vastausta etsin.


      • Tomppa5435
        Tomppa5435 kirjoitti:

        Kiitos. Juuri tätä vastausta etsin.

        Minulla on tietoa useammissa tableissa. Onko kysleyä mahdollista muuttaa niin, että siihen saa haettua tietoa useammasta tablesta?

        Tällä hetkellä saan tällaisen virheilmoituksen:

        Column 'sivu' in where clause is ambiguous


    • fgsdfgdsfg

      select henkilö from perussivut where henkilö not in (select henk from henkilöt where layer = 2 and tyyppi = 'toimistohenkilö')

      • hmmm?

        Toimivatko sub-queryt mysql:ssä?


      • gffgf
        hmmm? kirjoitti:

        Toimivatko sub-queryt mysql:ssä?

        jep


      • 122121
        gffgf kirjoitti:

        jep

        Eipä toimi ainakaan omassa mysql-versiossani.


      • 90++0+0
        122121 kirjoitti:

        Eipä toimi ainakaan omassa mysql-versiossani.

        Kannattaisiko siis ehkä päivittää


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kysymys muille miehille

      Onko teille varattu nainen ongelma? Mikään muu naisessa ei töki kun se että hän on varattu. Kamppailen houkutuksen kanss
      Ikävä
      130
      7172
    2. Kaipaisin nyt kosketusta

      jota ei koskaan ole ollut. Saisinpa tuntea kätesi niskallani ja silittelemässä päätäni. Sulaisin varmasti siihen.
      Ikävä
      14
      2539
    3. Imaami kysyy, miksi pojat uivat ilman valvontaa

      Kalajoen särkät ovat usean kilometrin pituiset. Siellä on kylttejä, joissa varoitetaan rannan vaaroista. Siellä ei ole
      Maailman menoa
      264
      1220
    4. Sokea "ystävälle"

      Oletko oikeasti noin sokea?
      Ikävä
      100
      1019
    5. Mansikkatiloilla hyväksikäytetään ukrainalaisia

      Työolot ovat surkeita ja palkka kelvoton. https://yle.fi/a/74-20172942
      Maailman menoa
      161
      947
    6. En ymmärrä käytöstäsi

      Se on ollut eräänlaista hyväksikäyttöä. Että seura kyllä kelpaa palstan välityksellä silloin kun ei ole parempaakaan tek
      Ikävä
      137
      900
    7. Kerrostaloihin ilmalämpöpumput

      Ulkomailla näkee paljon ilmalämpöpumppuja kerrostalojen ulkoseinissä. Mikä estää taloyhtiötä hankkimasta niitä asuntoih
      Sinkut
      69
      889
    8. Kiitoksia kaikille epäasiallisesta sisällöstä liputtaneille

      Se ylimielisyys ja epäasiallisen julkaisun jakaminen ei sitten kantanut.
      Tuusniemi
      79
      764
    9. Kirkonkylän puliveivarit

      Hieman pistää silmään nuo puliukot ja akat kirkonkylän penkeillä ja S-marketin kulmilla. Tarttis varmaan tehdä asialle j
      Karstula
      13
      733
    10. Persaukinen puolankalainen kävi kerjäämässä paitaa

      Ja lippistä. Nauratti suuresti kun katsoin. Kukahan mahtanee olla? Voipi katsoa täältä jutun. https://www.youtube.com
      Puolanka
      18
      711
    Aihe