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"
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"
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
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;
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.");