Kirjautuminen

Tunnus
Salasana

Haku

Tehtävät

Datatähti 2015

Datatähti on peruskoulun ja lukion ohjelmointikilpailu, jonka alkukilpailu on käynnissä 29.9–12.10. Lue lisää...

Keskustelu: Nettisivut ja -ohjelmointi: checked / vastaavuus ongelma

Sivu 1 / 1

manninen [18.02.2012 18:54:33]

#

Hei!

Minulla on tietokannassa sarake kohteet, joka sisältää esim seuraavat arvot
1,4,6,7,8
Minulla on myös kohteet, jotka on eriteltyina eri sarakkeeseen esim.
1
2
3
4
5
6
7
8
9
10

Jos haluan katsoa mitkä nuista kohteista on valittu, miten se onnistuu helpoiten.

if($id > 0){

        $k = "
          SELECT
            k.jarjestysnumero,
            k.kohde,
            user.kohteet
          FROM
            kohteet as k
          LEFT JOIN kayttajat as user ON user.asiakas = k.id
          WHERE k.id = $id AND user.asiakas = $id AND user.id = $kayttaja";

        if(!$t = mysql_query($k)){
          return;
        }


        while($r = mysql_fetch_assoc($t)){

          $kohteet = htmlspecialchars($r['kohteet']);

          $jnro = intval($r['jarjestysnumero']);
          $kohde = htmlspecialchars($r['kohde']);


          echo "<input type=\"checkbox\" name=\"laatikko[$jnro]\" value=\"$jnro\"> $kohde \n <br>";
        }
      }

samip [18.02.2012 18:59:58]

#

nyt meni kyllä selitys vähän ohi

Metabolix [18.02.2012 19:02:39]

#

Olisikohan fiksumpaa käyttää erillistä liitostaulua, jossa olisi aina yhden käyttäjän (tai asiakkaan, en tiedä) ja yhden kohteen id? Nykyisessä kyselyssä ei ainakaan näytä olevan paljon järkeä, sieltähän haetaan rivit, joissa kohteiden id on sama kuin käyttäjien asiakas (wtf?).

manninen [18.02.2012 19:27:04]

#

taulu käyttäjä

käyttäjätunnus | asiakas |
1 1

Käyttäjälle määritetään asiakas, jonka tietoja se voi selata.
Asiakastunnus on esim 1.

Yhdellä asiakkaalla voi olla monta kohdetta. 1,2,3,4,5
Kaikki järjestelmään lisätys kohteet lisätään samaan kantaan, joten kantaan tulee tieto.

asikas | kohde
1 1
1 2
1 3
2 4
2 5
1 6
1 6

Järjestelmään voidaan lisätä kolme käyttäjätasoa joista yksi on asiakas. Muut tasot näkevät kaikki tiedot. Nyt asiakkaalle on ollut helppo hakea kohteet, koska ne on eritelty asiakastunnuksen alle. Nyt kohteet halutaankin eritellä, joten loin tauluun käyttäjät vielä kentään kohteet, jossa tunnukselle on eritelty kohteet näin 1,2,3,4

Ainiin Metabolix. Olisi järkevämpi tehdä liitostaulu erikseen, mutta se on raskaampi toteuttaa. Pyrin oikomaan, mutta ilmeisesti se ei kannata :D

Lisäys:

Ongelma ratkaistu! Kiitoksia kaikille ja pakko oli Metabolixin liitokseen siirtyä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta