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

509

    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. Orpo räyhää: kansan on muututtava

      Orpon mukaan kansa ei elä kokoomuksen kanssa samassa todellisuudessa, ja sen vuoksi kansan on muututtava. Kas kun ei san
      Maailman menoa
      306
      3631
    2. Muovikassikartelli

      Kauppaketjut ovat yhdessä sopineet muovikassin yksikköhinnaksi 59 senttiä. Milloin viranomaiset puuttuvat tähän kartell
      Talousrikokset
      29
      1996
    3. Aidon persun tunnistaa Marinin palvonnasta

      Oli kyse sitten Halla-ahosta tai Putinista. Ensimmäisenä aidolle persulle tulee mieleen Marin.
      Maailman menoa
      44
      1636
    4. Mikä tekee sen

      Vetovoiman kaivatussasi?
      Ikävä
      84
      1481
    5. Hallintooikeus..

      "Asemakaavapäätös pysyy voimassa.Poikkeamista ja rakentamista koskevat luvat hylättiin" kertoo Pyhäjärven Sanomat netti.
      Pyhäjärvi
      94
      1261
    6. Harmittaako joku

      Harmittaako joku asia tai asiat, mitä on tapahtunut tai jäänyt tapahtumatta?
      Ikävä
      144
      1181
    7. Miksi et vain uskalla!?

      On niin ikävä...
      Ikävä
      81
      1074
    8. Olen rakastunut

      varattuun joka ei eroa. Miten tunteista eroon? Tämä ei ole tavanomaista. On elämäni suuri rakkaus.
      Ikävä
      95
      1032
    9. Kannattaa ymmärtää se asia

      että mitään stalkkausta tai hakkerointia ei tapahdu. Oikeasti kannattaa tutkituttaa päänsä.
      Tunteet
      212
      857
    10. Jos se joskus oli molemminpuolista

      niin hyvin me molemmat onnistuttiin pitämään toinen epätietoisena.
      Ikävä
      61
      777
    Aihe