Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Automaattisesti päivittyvä tuotetunnus

Sivun loppuun

muurikka [24.05.2011 09:40:16]

#

Hei,
olen tekemässä tuotekatalogia php:llä ja minulla on seuraava ongelma: kun lisään uuden tuotteen tietokantaan, haluaisin että tuotenro olisi automaattinen (tällä hetkellä joudun siis itse syöttämään tuotenumeron). Olen yrittänyt tehdä tätä niin että haen taulukon tunnus -kentästä suurimman luvun ja lisää siihen yhden jolloin saan uudelle lisättävälle tuotteelle uniikin tuotenumeron. Mutta jostain syystä en saa tätä toimimaan (ilmeisesti teen jonkin virheen). Millä tavalla toiminto pitäisi toteuttaa?

Kiitoksia vastauksista jo etukäteen.

The Alchemist [24.05.2011 09:53:27]

#

Helpoimmalla pääsee, kun unohtaa purkkaamisen.

Using AUTO_INCREMENT

muurikka [24.05.2011 10:10:07]

#

Jos käsitin oikein niin eikös tuo AUTO INCREMENT luo automaattisesti tuotenro vasta tuotteen tallentamisen jälkeen. Tarkoitus olisi että kun tuotteen lisäys -lomakkeessa on seuraavat kentät:
tuotenro
tuote
tietoja
hinta

Niin tuohon tuotenro:hon tulisi ennen tietokantaan tallentamista suurimmasta tuotenumerosta seuraava numero. Ja sitä voisi sitten vielä muokata jos haluaa.

Lebe80 [24.05.2011 10:12:47]

#

Ja se ei siis käy, että tuotenumero luodaan vasta lisäyksen jälkeen, jos arvo on ollut tyhjä?

Mainitsemassasi tavassa olisi mahdollista, että jos jostain syystä ollaan lisäämässä kahta tuotetta samoihin aikoihin (esim. useampi ylläpitäjä), olisi hyvinkin todennäköistä, että tuotteilla tulisi samat tuotenumerot.

edit:
Eli kysymys kuuluu, pitääkö ylläpitäjän tietää tuotenumero jo (~ennen) tuotteen lisäysvaiheessa?

muurikka [24.05.2011 10:32:19]

#

Nyt kun tarkemmin ajattelen niin ehkä tuo AUTO INCREMENT voisi olla toimiva sittenkin, eikä välttämättä siitä ole mitään haittaa vaikka tuo tuotenumero luotaisiin vasta sen jälkeen kun tietue on tallennettu kantaan.

Turso [24.05.2011 10:34:38]

#

muurikka kirjoitti:

Olen yrittänyt tehdä tätä niin että haen taulukon tunnus -kentästä suurimman luvun ja lisää siihen yhden

Onko tuotenumero INT-tyyppinen?

The Alchemist [24.05.2011 11:16:52]

#

muurikka kirjoitti:

Jos käsitin oikein niin eikös tuo AUTO INCREMENT luo automaattisesti tuotenro vasta tuotteen tallentamisen jälkeen. Tarkoitus olisi että kun tuotteen lisäys -lomakkeessa on seuraavat kentät:
tuotenro
tuote
tietoja
hinta

Niin tuohon tuotenro:hon tulisi ennen tietokantaan tallentamista suurimmasta tuotenumerosta seuraava numero. Ja sitä voisi sitten vielä muokata jos haluaa.

Aivan järkyttävä failaus kysyä käyttäjältä tuotenumeroa, jos se on tarkoitus luoda automaattisesti ja täysin käyttäjän syötteestä riippumatta tuotteen luomisen yhteydessä. Se on myös täysin hyödytöntä. Hyvin äkkiä päätyisit tilanteeseen, jossa tietokannasta alkaa löytyä samoja tuotetunnuksia eri tuotteilta, tai tilanteeseen jossa tuotteiden lisääminen vain maagisesti epäonnistuu, kun ID onkin jo käytetty.

Grez [24.05.2011 14:09:47]

#

The Alchemist kirjoitti:

Hyvin äkkiä päätyisit tilanteeseen, jossa tietokannasta alkaa löytyä samoja tuotetunnuksia eri tuotteilta, tai tilanteeseen jossa tuotteiden lisääminen vain maagisesti epäonnistuu, kun ID onkin jo käytetty.

No eihän se, että käyttäjä saa syöttää tuotetunnuksen millään tavalla ESTÄ varmistamatta ettei päällekkäisiä tule, esim. määrittämällä kenttä uniikiksi ja jos yritetään syöttää päällekkäistä tunnusta niin antaa käyttäjälle selkeäsanaista ilmoitusta ongelmasta.

The Alchemist [24.05.2011 15:36:52]

#

Tapanani on aina antaa jonkinlainen use case -esimerkki, koska pelkkä fundamentalistinen "näin on" -höpöttely ei kerro yhtään mitään, vaikka nauttiikin suurta suosiota.

Lebe80 [24.05.2011 15:48:30]

#

Itse ainakin olen huomannut käytännössä, että erittäin usein tuotteilla on ollut tuotetunnukset olemassa jo ennen (verkkokauppa)sovellusta, joten on enemmän sääntö kuin poikkeus, ettei pelkkään (verkkokauppa)sovelluksen numerointiin voi luottaa.

Se, onko sitten (verkkokauppa)sovelluksen tuotenumeroinnin lisäksi tuotteilla erillinen "valmistajan tuotenumero" on asia erikseen.

Grez [24.05.2011 16:05:53]

#

No, tuotenumeroillehan toki löytyy ziljoona erilaista tapaa tehdä.

Yksi vaihtoehto on tietysti se juokseva numero, mutta silloin se on puhtaasti tekninen eikä itsessään sano mitään kenellekään.

Valmistajien tuotekoodien käyttö on tietyillä aloilla ongelmallista (tietyillä aloilla kilpailevatkaan valmistajat ei tee päällekkäisiä tuotekoodeja)

Yksi tapa minkä olen nähnyt on että tuotekoodi on 123-Blaa jossa 123 on toimittajanumero ja Blaa on toimittajan tuotekoodi. Tästä on se etu, että jos toimittajan tuotekoodi kuvaa tuotetta jotenkin fiksusti, niin silloin omakin tuotekoodi kuvaa sen valmistajan osalta yhtä fiksusti.

The Alchemist kirjoitti:

Tapanani on aina antaa jonkinlainen use case -esimerkki

Mielestäni en kommentoinut sitä use-case osaa vaan sen jälkeen olevan osion. Eli mielestäni kuvaamasi use case (jonka älyttömyydestä en ole eri mieltä) ei oikein toteutettuna johda automaattisesti kuvaamaasi ongelmaan (lisäämisen mysteeriseen epäonnistumiseen)


Sivun alkuun

Vastaus

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

Tietoa sivustosta