mikä haussa VIKANA

tämä hakulause tulostaa kaikkien taulukoiden KAIKKI tiedot, mutta kun haluaisin että se tulostaisi vain hakusanalla etsityn tiedon. Mikä tossa hakulauseessa mättää...? Näkisikö joku samantien...

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


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.");
6476
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

yritän siis että hakusanalla etsitään tietoa kaikista taulukoista, mutta ei siis KAIKKEA TIETOA KERRALLA, vaan vain sen mihin hakusana viittaa...

Äänestä

Relaatiokantojen perusteissahan sanotaan, että tietoa ei saa kopioida, johtaa jne. Tässä on siis menty jo siinä mäkeen, että jannun nimi on kolmessa taulussa.

Noiden kolmen taulun ominaisuudet näyttää olevan täysin samanlaisia, niin miksi sitten on olemassa kolme taulua? Nehän pitäis kaikki olla saman taulun rivejä, jos niillä on samat atribuutit.

En oo nyt ihan varma tosta WHERE ehdon putkituksesta tolleen. Hieman epäilyttää.

Käytä mieluummin

WHERE '{$_POST['nimi']}' = taulukko1.nimi AND '{$_POST['nimi']}' = taulukko2.nimi AND '{$_POST['nimi']}' = taulukko3.nimi;

Äänestä
  • että kyse on kursseista. yksi taulukko on yksi kurssi ja jannu on osallistunut kaikkiin kolmeen kurssiin....en osannut paremmin sitä tehdä...kyseessä siis kurssi-listat

    Äänestä

  • mysql-haku kirjoitti:

    että kyse on kursseista. yksi taulukko on yksi kurssi ja jannu on osallistunut kaikkiin kolmeen kurssiin....en osannut paremmin sitä tehdä...kyseessä siis kurssi-listat

    tarkoituksena on kasvattaa taulukkoja...kursseja on kymmeniä...ja tarkoituksena on vain hakea tietoa mille kaikille kursseille kukin kurssilainen on osallistunut.

    Äänestä

  • mysql-haku kirjoitti:

    tarkoituksena on kasvattaa taulukkoja...kursseja on kymmeniä...ja tarkoituksena on vain hakea tietoa mille kaikille kursseille kukin kurssilainen on osallistunut.

    Sulla pitäis olla Opiskelija-taulu, Kurssi-taulu ja Kurssikerta-taulu.

    Opiskelija-taulussa on opiskelijanumero, nimi, osoite, puhelinnumero. Pääavain on opiskelijanumero

    Kurssi-taulussa on aina jonkin kurssin yleiset tiedot. Aineen nimi, ainenumero, laajuus opintopisteinä, oppikirjat, vastuuopettaja. Pääavain on ainenumero.

    Kurssikerta-taulussa on aina yhden kurssiosallistumisen tiedot. Opiskelijanumero, ainenumero, ajankohta, sijainti. Pääavaimena yhdistetty opiskelijanumero, ainenumero ja ajankohta.

    Sitten voit helposti etsiä kaikki kurssit, joilla opiskelija on ollut. Tekemällä aina uusi taulu kurssia varten rikotaan kaikkia mahdollisia sääntöjä vastaan ja saadaan vielä kierrettyä kaikki mitä tietokannoilla oikeasti saadaan aikaan.

    Äänestä

  • Piru kirjoitti:

    Sulla pitäis olla Opiskelija-taulu, Kurssi-taulu ja Kurssikerta-taulu.

    Opiskelija-taulussa on opiskelijanumero, nimi, osoite, puhelinnumero. Pääavain on opiskelijanumero

    Kurssi-taulussa on aina jonkin kurssin yleiset tiedot. Aineen nimi, ainenumero, laajuus opintopisteinä, oppikirjat, vastuuopettaja. Pääavain on ainenumero.

    Kurssikerta-taulussa on aina yhden kurssiosallistumisen tiedot. Opiskelijanumero, ainenumero, ajankohta, sijainti. Pääavaimena yhdistetty opiskelijanumero, ainenumero ja ajankohta.

    Sitten voit helposti etsiä kaikki kurssit, joilla opiskelija on ollut. Tekemällä aina uusi taulu kurssia varten rikotaan kaikkia mahdollisia sääntöjä vastaan ja saadaan vielä kierrettyä kaikki mitä tietokannoilla oikeasti saadaan aikaan.

    mysql-kantaan Opiskelija, Kurssi ja Kursikerta. Kaikki tyyppiä innodb. Nyt ne kursit saa helposti esiin ja ei oo väliä kuinka monta kurssia tulee lisää.

    select distinct Opiskelija.nimi as Nimi, Kurssi.nimi as Kurssi FROM Opiskelija, Kurssi, Kurssikerta WHERE Opiskelija.ID = Kurssikerta.opiskelija_id;

    Nimi___________Kurssi
    Tauno Miettinen Kemia 1
    Tauno Miettinen Kemia 2
    Tauno Miettinen Matematiikka 1
    Tauno Miettinen Sähkötekniikka 1

    Äänestä

Kommentoi aloitusta


mysql-haku kirjoitti:

tämä hakulause tulostaa kaikkien taulukoiden KAIKKI tiedot, mutta kun haluaisin että se tulostaisi vain hakusanalla etsityn tiedon. Mikä tossa hakulauseessa mättää...? Näkisikö joku samantien...

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


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

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