Hei,
Toteuttelen eräälle yritykselle pienimuotoisia tietotekniikkaratkaisuja ja heitettiin ilmoille semmoinen ajatus, kun on olemassa oleva tietokanta (vissiin .sql), niin tuon pohjalta luotaisiin nettisivusto, jossa voidaan hakea ja selata tietokannan sisältöä. Tietokanta on siis tuhansien tuotteitten luettelo, joka pitäisi saada julkiseksi asiakkaiden käytettäväksi. Mitään ostoskorifunktioita ei katalogissa kuitenkaan tarvitsisi olla.
Itselläni on hyvin heikko SQL- ja PHP-pohja, joten ajattelin kysyä täältä apua, että kannattaako minun ollenkaan lähteä tähän projektiin, vai onko kyseessä perusjuttuja? :)
Varmaan tuo tietokanta ratkaisee sen, onko kyseessä "perusjuttuja". Eli jos tietokantaan ei pääse ulkopuolelta, niin voi olla aika vaivalloinen tapaus. Muutenkin tuossa varmaan olisi alunperinkin paras pitää asiakkaan oma tietokanta ja webitietokanta erillään, päivittää webikantaa joko tietyn aikasyklin avulla automaagisesti tai vastaavasti ihan käsin, riippuen kuinka usein tietokanta muuttuu.
Piccolo kirjoitti:
Toteuttelen eräälle yritykselle...
Itselläni on hyvin heikko SQL- ja PHP-pohja
Tämä varmaan vastaa kysymykseen.
Mikä sitten olisi helpoin tapa toteuttaa katalogi yritykselle verkkoon, kun tuotteita on tuhansia? Voiko tuota tietokantaa hyödyntää jotenkin järkevästi tietojen syötössä?
No siis, jos tietokantasi sisältää tuotetiedot, niin tietenkin sitä voi ja kannattaakin käyttää. Hakeminen taulusta onnistuu helposti. Lue vaikka täältä löytyvä opas, joka löytyy opasosiosta.
Tietokantaa tietenkin kannattaa käyttää, mutta se miten sitä käytät. Eli haetko käsin kaikki tuotteet ja teet niistä vaikkapa excel-taulukon itsellesi, vai teetkö jonkun skriptin hakemaan x kertaa viikossa kaikki tuotteet, on eri asia.
Ja kannattaa sitten varmaan jo tässä vaiheessa miettiä sekin asia, että miten toimitaan kun tuotteita poistuu, tulee lisää ja tuotetiedot muuttuvat.
Eli kuka päivittää, huolehtii ja kenen vastuulla. Varmaan senkin puolesta kannattaa tuotekatalogin pohjaratkasua miettiä ja suunnitella helpottavia automatisoituja ylläpitotoimintoja.
Ihan perusjutultahan tuo kuulostaa, mutta se ei todellakaan tarkoita, että kenen tahansa kannattaisi lähteä sitä toteuttamaan. Perusteiden hallitseminen on jo jonkinlainen vaatimus.
Tietokannoista puhuttaessa tuhat on muuten vähän.
Kun et kerran osaa edes itse sanoa, pystytkö toteuttamaan projektin vai et, eikö ole selvää, ettet ole sille sopiva tekijä? Toki jos haluat laskuttaa siitä, että opettelet asioita ja käytät kohtuuttomasti aikaa aloittelijamaisen tuloksen tuottamiseen, niin ota ihmeessä projekti vastaan. Tällaisia ammattilaisia on koko ala täynnä ja asiakas tuskin osaa arvioida sinun osaamistasoasi.
Voithan varmaan tuon toteuttaa jos asialla ei ole kiire, laatu ei ole suuri kriteeri, otat projektin opiskelumielellä ja otat sen huomioon laskutuksessa. Muussa tapauksessa ei kyllä kannata lähteä tekemään.
Otetaan huomioon, että kyseessä on nimenomaan opiskelumielistä työskentelyä. Otin asian puheeksi, koska haluasin tietää onko sellaisen tälläisen tietokannan rakentaminen aivan aloittelijan hommia eli parusasioiden ymmärtämisen jälkeen oikeasti toteutettavissa vai vaaditaanko siihen jo syvempää osaamista.
Tietokantaa päivitetään käsin, kun sinne lisätään taikka poistetaan tuotteita. Sivuston tietokanta hakisi päivitetyt tiedot kenttiin esimerkiksi kerran vuorokaudessa tai kerran viikossakin luultavasti riittäisi. Tärkeintä olisi ettei tätä tietokannan sisältöä tarvitsisi kirjoittaa uusiksi käsin, jos se on mahdollista verkkoon katalogi/hakusivustoksi muilla keinoin laittaa.
Toiminnoiltaan sivustolla ei tarvitse olla juuri mitään. Kunhan tuotteita pääsee etsimään.
Ja tähän liittyy vahvasti myös se, että tietokannan tietojen kylkeen pystyttäisiin tuomaan serveriltä kuvatiedosto näkyviin, joka on nimetty tuotenumerokenttää vastaavaksi.
Jos tiedot ovat valmiiksi tietokantapalvelimella (MySQL tms.) eikä tekijä ole aivan torvi, projektin runko on helppo ja turvallinen toteuttaa tämän sivuston PHP- ja MySQL-oppaiden pohjalta vaikka täysin ilman aiempaa ohjelmointikokemusta hyvin vähillä kysymyksillä. Oppaassa on itse asiassa pieni esimerkkikin juuri tällaisesta aiheesta. Hienompia toimintoja kuten kunnollisen haun voi toteuttaa myöhemmin. Tietokannan kopiointi erikseen nettisivuja varten on melko tarpeetonta, jos siihen ei ole erityistä teknistä syytä (esim. virallisen kannan ylläpito eri palvelimella kuin nettisivujen).
Metabolix kirjoitti:
Tietokannan kopiointi erikseen nettisivuja varten on melko tarpeetonta, jos siihen ei ole erityistä teknistä syytä (esim. virallisen kannan ylläpito eri palvelimella kuin nettisivujen).
Voiko erityisenä teknisenä syynä pitää esim. tietoturvaa, kun tekijä itse on julkisesti ilmoittanut olevansa lähes kokematon php+mysql:n saralla?
Lebe80 kirjoitti:
Voiko erityisenä teknisenä syynä pitää esim. tietoturvaa, kun tekijä itse on julkisesti ilmoittanut olevansa lähes kokematon php+mysql:n saralla?
Riippunee siitä mihin tietokantaa tällä hetkellä käytetään, jos se on vain tuotelistan varasto jota ei näe kukaan yrityksen ulkopuolinen, ja jota ei aktiivisesti käytetä myynnissä tietokannan säännöllinen varmuuskopiointi ajanee saman asian. Tällöinhän riskinä on lähinnä tietojen varastaminen tai muuttaminen, mutta ne eivät ilmeisesti tässä tapauksessa ole kovin pahoja riskejä.
Tietysti kannattaa huomata se, että mikäli sivu ei ota vastaan syötteitä siihen ei edes voi soveltaa sql-injektiota, ja PDO:ta käytettäessä sql-injektioaukon jääminen koodiin kertoo suoranaisesta idiotismista.
On luonnollisesti muitakin tapoja saada pääsy tietokantaan, mutta nykyinen tietokanta lienee suojaukseltaan kunnossa, tämä on tietysti syytä tarkistaa. En tosin ainakaan itse ole kuullut mistään yleisistä muuhun kuin serverisoftaan tai salasanaan kohdistuvista hyökkäyksistä.
Lebe80 kirjoitti:
Voiko erityisenä teknisenä syynä pitää esim. tietoturvaa?
Kuten ljlassi sanoi, PDO:lla SQL-injektion toteuttaminen yksinkertaiseen hakukyselyyn on jo saavutus sinänsä. Jos kaikki tuotetiedot ovat julkisia, ei ole paljon muutakaan sijaa virheille. Vakuudeksi voi vielä luoda erillisen käyttäjän, jolla on oikeus pelkästään SELECT-kyselyihin tuotetiedoista.
Toki tilanne on toinen, jos tietokanta sisältää jotain arkaluontoista tietoa tai jos on heti hinku tehdä ihan liian ihmeellisiä kyselyitä.
Entä kuinka vaikeata on esimerkiksi se, että SQL-tietokannan tuotteet saadaan listattua sivustolle ja saadaan luotoa kelvollinen ulkoasu julkiseen käyttöön? Voidaanko tämän yhteydessä käyttää esim. CMS:sää? Onko teillä jokin tietty opas jota suosittelisitte nimenomaan tämän toteuttamiseen. Lähtötaso on aika 0, jos jotain hyvin yksinkertaisia SQL-komentoja ei lasketa. :)
Piccolo kirjoitti:
Entä kuinka vaikeata on esimerkiksi se, että SQL-tietokannan tuotteet saadaan listattua sivustolle
aika helppoa
Opas sen tekemiseen on osoitteessa https://www.ohjelmointiputka.net/oppaat/opas.
lue se ja ehkä osaat tehdä sen
Aihe on jo aika vanha, joten et voi enää vastata siihen.