Haku kolmesta taulukosta

okei, siis nyt en enää jaksa,oon sata kertaa tehny alusta tätä koodia kun olen yrittänyt ratkaista että nyt kun minulla on haku joka etsii henkilön tiedot yhdestä taulukosta,niin miten saan haun etsimään henkilön tiedot kaikista taulukoista. Henkilötietoja on myös muissa taulukoissa, ei vain yhdessä. Minulla on tietokanta joka sisältää 3 taulukkoa.

tässä osasin just ja just tehdä sen että hakee yhdestä taulukosta ja nyt tämäkään koodin pirulainen ei toimi...

voisko joku ihan suoraan antaa koodiin vinkkiä miten se tehdään....

-----------------------------------------


HARJOITTELIJAN "HAKU-ROBOTTI"
3294
Äänestä

Muut lukivat myös

Vastaukset 3

Vanhimmat

...mutta alkuopastuksena tämä: sql-kyselyissä yleensä on tehtävä liitokset taulujen välille, jotta haku monesta taulusta onnistuisi. Tätä varten liitettävissä tauluissa on oltava yhteinen kenttä, jolla liitos tehdään(siis kaikilla ei tarvitse olla, ketjuttaa voi...)

Siis tähän malliin, liitos tehdään tuolla where...

http://www.w3schools.com/sql/sql_join.asp

-T

Äänestä

Eli selectissä kerrot mitä haluat ja mistä taulusta se löytyy. Where ehtoon sitten se, että mitkä kentät pitää vastata toisiaan.

SELECT taulukko1.nimi, taulukko1.ryhma, taulukko1.luokka, taulukko2.osoite FROM taulukko1, taulukko2 WHERE taulukko1.nimi = taulukko2.nimi;

Äänestä
  • Jos tästä koodista otan pois kohdan "nimi='{$_POST['nimi']}'", koodi näyttää kaiken tiedon kaikista kannan taulukoista. Mutta kun tuo "nimi='{$_POST['nimi']}'" -kohta on koodissa, ensinnäkään koodi ei toimi ja toiseksi yritän epätoivoisesti saada koodin näyttämään sen tiedon jota haussa pyydetään. Eli kun hakusanan on antanut "nimi-kenttään", pitäisi tulostua tietoa sillä nimellä kaikista taulukoista. Miten tämä "hakusana ehto" lisätään SELECT-lauseeseen....Piru osaisitko neuvoa,vai osaisiko joku muu...?



    if (!($rs = mysql_query("SELECT taulukko1.nimi, taulukko2.nimi, taulukko3.nimi, taulukko1.ryhma, taulukko2.ryhma, taulukko3.ryhma, taulukko1.luokka, taulukko2.luokka, taulukko3.luokka FROM taulukko1, taulukko2, taulukko3 WHERE nimi='{$_POST['nimi']}' = taulukko1.nimi = taulukko2.nimi = taulukko3.nimi"))) error("Tietokantahaku epäonnistui.");

    Äänestä

Kommentoi aloitusta


voisko saada apua koodiin kirjoitti:

okei, siis nyt en enää jaksa,oon sata kertaa tehny alusta tätä koodia kun olen yrittänyt ratkaista että nyt kun minulla on haku joka etsii henkilön tiedot yhdestä taulukosta,niin miten saan haun etsimään henkilön tiedot kaikista taulukoista. Henkilötietoja on myös muissa taulukoissa, ei vain yhdessä. Minulla on tietokanta joka sisältää 3 taulukkoa.

tässä osasin just ja just tehdä sen että hakee yhdestä taulukosta ja nyt tämäkään koodin pirulainen ei toimi...

voisko joku ihan suoraan antaa koodiin vinkkiä miten se tehdään....

-----------------------------------------


HARJOITTELIJAN "HAKU-ROBOTTI"

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu