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.
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.
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
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.
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"?
Joo, hyvä idea.
En tarkoittanut niillä mitään tärkeää, tajusin jo kaiken.