PHP "nimikointi" kysymys

Olen aika nyyppä näissä ohjelmointihommissa vielä, ja tämmönen ongelma olis:

Eli mulla 16:n kohteen eri kommentit tallennettyna 4 Mysql-tauluun. Taulut ovat nimetty 1, 2, 3 ja 4. Näissä kaikissa on tunniste-sarake, joissa on niin ikään numerot 1-4. Eli tauluissa on 16 eri tunnistetta tyyliin: 1-1,1-2,1-3,1-4,2-1 jne. Miten saisin kätevimmin tulostettua esim. jos on 1-1, niin tulostaa "Kohta 1", tai 2-3, niin tulostaa "Kohta 7". Miten tämä olisi helpointa toteuttaa?

Kiitos jo etukäteen.
6477
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Helpoin ratkaisu lienee kirjoittaa koko tietokanta uusiksi. Mikäli olen oikeassa, niin sinulla 4 aivan identtistä taulua eikös vaan? Mutta anann sinulle toimivan mallin tässä samalla.

/* Taulu kommentit */
id int primary key auto_increment,
lahettaja varchar 60,
aika timestamp
kommentti text

Tästä saat nimittäin haettua kätevästi vaikka jokaiselle kohteelle kommenttien määrän.

SELECT kommentti FROM kommentit GROUP BY id ORDER BY aika DESC

Äänestä
  • Nyt en ymmärtänyt täysin. Tarkoitatko, että tekisin 16 tuollaista taulua, vai miten?
    Tarkoitus on vain esim. tulostaa viisi uusinta ja nimetä kohdat "1-1" tai "2-2" tyyliin "kohta 1" tai "kohta 6".

    Äänestä

  • itsame kirjoitti:

    Nyt en ymmärtänyt täysin. Tarkoitatko, että tekisin 16 tuollaista taulua, vai miten?
    Tarkoitus on vain esim. tulostaa viisi uusinta ja nimetä kohdat "1-1" tai "2-2" tyyliin "kohta 1" tai "kohta 6".

    Tarkoitan, että käyttäisit tietokantaa, kuten sitä on tarkoitus käyttää. Teet siis yhden ainoan taulun, jonne tallennat nuo kommentit. Jokainen kommentti tarvitsee siis id:n kohde id:n (tämä jäi äsken pois) ajan, käyttäjän, sekä itse kommentin.

    Esimerkiksi siis
    id|kuva_id|kayttaja|aika|kommentti
    1|8|123456789|__jmt__|Hieno kuva
    2|8|123456788|peku|Mainio kuva

    Jokainen kommentti on aivan identtinen lukuun ottamatta tuota id ja kuva_id kenttää, mutta rakenteellisesti ne ovat aivan samanaiset.

    Äänestä

  • __jmt_ kirjoitti:

    Tarkoitan, että käyttäisit tietokantaa, kuten sitä on tarkoitus käyttää. Teet siis yhden ainoan taulun, jonne tallennat nuo kommentit. Jokainen kommentti tarvitsee siis id:n kohde id:n (tämä jäi äsken pois) ajan, käyttäjän, sekä itse kommentin.

    Esimerkiksi siis
    id|kuva_id|kayttaja|aika|kommentti
    1|8|123456789|__jmt__|Hieno kuva
    2|8|123456788|peku|Mainio kuva

    Jokainen kommentti on aivan identtinen lukuun ottamatta tuota id ja kuva_id kenttää, mutta rakenteellisesti ne ovat aivan samanaiset.

    Juujuu. Nyt tajusin. Ei ollut tuota kuva_id:tä niin en tajunnut.

    Varmaan loopilla helpointa tehdä tuo että tunniste "1" -> "Kohta 1".

    Toinen kysymys: Miten phpmyadminissa kopioida tietoja taulusta toiseen? (vai pitääkö käyttää ihan sql-kyselyä? (vai onko sellaista kyselyä edes olemassa?))

    Äänestä

  • itsame kirjoitti:

    Juujuu. Nyt tajusin. Ei ollut tuota kuva_id:tä niin en tajunnut.

    Varmaan loopilla helpointa tehdä tuo että tunniste "1" -> "Kohta 1".

    Toinen kysymys: Miten phpmyadminissa kopioida tietoja taulusta toiseen? (vai pitääkö käyttää ihan sql-kyselyä? (vai onko sellaista kyselyä edes olemassa?))

    Helpoin tapa lienee ottaa "vienti" ja tallentaa saatu tiedosto vaikka taulu1.sql. Seuraavaksio tuonti ja viedä tuo kyseinen tiedosto, jolloin kohde taulu saa edellisen taulun tiedot. MItä muuten tarkoitat tuolla loopilla ja "kohdilla"?

    Äänestä

  • __jmt__ kirjoitti:

    Helpoin tapa lienee ottaa "vienti" ja tallentaa saatu tiedosto vaikka taulu1.sql. Seuraavaksio tuonti ja viedä tuo kyseinen tiedosto, jolloin kohde taulu saa edellisen taulun tiedot. MItä muuten tarkoitat tuolla loopilla ja "kohdilla"?

    Joo, hyvä idea.

    En tarkoittanut niillä mitään tärkeää, tajusin jo kaiken.

    Äänestä

Kommentoi aloitusta


itsame kirjoitti:

Olen aika nyyppä näissä ohjelmointihommissa vielä, ja tämmönen ongelma olis:

Eli mulla 16:n kohteen eri kommentit tallennettyna 4 Mysql-tauluun. Taulut ovat nimetty 1, 2, 3 ja 4. Näissä kaikissa on tunniste-sarake, joissa on niin ikään numerot 1-4. Eli tauluissa on 16 eri tunnistetta tyyliin: 1-1,1-2,1-3,1-4,2-1 jne. Miten saisin kätevimmin tulostettua esim. jos on 1-1, niin tulostaa "Kohta 1", tai 2-3, niin tulostaa "Kohta 7". Miten tämä olisi helpointa toteuttaa?

Kiitos jo etukäteen.

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