Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
jaagupk
HV kasutaja
liitunud: 10.01.2011
|
11.01.2011 00:05:48
PHP ja MySql probleem aastaarvudega |
|
|
Nimelt mul on tabel kus 2 välja
ID - Toode - Aastaarvud
"1" - "Toode1" - "1970-1992, 1996, 1998"
"5" - "Toode2" - "1965-1978, 1992, 1994"
"9" - "Toode3" - "1978-1999, 2001, 2006"
Nüüd ma sooviks luua otsingu, mis otsiks aastaarvu vaste sealt välja näiteks:
Otsing aastaarvu kohta "1974" kohta tuleb vasteks Toode1 ja Toode2
Kuidas mul oleks võimalik seda kõige paremini lahendada ?
Või hoopis luua eraldi tabel aastarvude jaoks ?
ID - Toote_ID - Aasta kus oleks siis aastaarvud kõik olemas:
1 - Toode1 - 1970
2 - Toode1 - 1971
3 - Toode1 - 1972
jne...
??
|
|
Kommentaarid: 22 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
 |
kissu19
HV kasutaja
liitunud: 27.05.2004
|
11.01.2011 00:22:54
|
|
|
Miks selle toote juures aastaarv oluline on?
Kas kasutaja lisab tooteid?
Kas kasutaja otsib toodet aastaarvu vahemiku järgi?
Kas kasutaja saab üldse otsida toodet aastarvu järgi?
Igatpidi lollikindel lahendus on eraldi Aastaarv, Toote_ID vahetabel.
Sõltub ka toodete arvust, sellise lihtsa matemaatika saab põlve otsas ka otse koodis ära realiseerida.
_________________
 |
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
karu
HV kasutaja
liitunud: 08.08.2002
|
11.01.2011 00:29:09
Re: PHP ja MySql probleem aastaarvudega |
|
|
jaagupk kirjutas: |
Kuidas mul oleks võimalik seda kõige paremini lahendada ?
Või hoopis luua eraldi tabel aastarvude jaoks ?
ID - Toote_ID - Aasta kus oleks siis aastaarvud kõik olemas:
1 - Toode1 - 1970
2 - Toode1 - 1971
3 - Toode1 - 1972
jne...
?? |
kui toimub nime otsing, siis vahet ei ole kuna aasta saad kontrollida koodis.
Kui aasta otsing, siis parem teha "toode_id, aasta_min, aasta_max" tabel aasta vahemikega, et iga toote kohta ~100+ rida ei tekiks.
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
jaagupk
HV kasutaja
liitunud: 10.01.2011
|
11.01.2011 00:32:04
|
|
|
kissu19 kirjutas: |
Miks selle toote juures aastaarv oluline on?
Kas kasutaja lisab tooteid?
Kas kasutaja otsib toodet aastaarvu vahemiku järgi?
Kas kasutaja saab üldse otsida toodet aastarvu järgi?
Igatpidi lollikindel lahendus on eraldi Aastaarv, Toote_ID vahetabel.
Sõltub ka toodete arvust, sellise lihtsa matemaatika saab põlve otsas ka otse koodis ära realiseerida. |
Aastarv on oluline, kuna see märgib mis aastal neid tehtud on.
Kasutaja saab lisada tooteid kui soovib.
Kasutaja otsib tooteid kindla aastaarvu järgi, kuigi hea mõte oleks vist teha aastaarvude vahemik kunagi.
Jah kasutaja saab otsida aastaarvude järgi.
Aga sellepärast ma mõtlengi, et äkki on midagi lihtsamat kui eraldi tabel teha, kuna tooteid tuleb väga palju siis ma kardan, et need aastaarvude otsing võib võtta liiga kaua aega või liiga palju ressursse.
Eesmärk oleks, et kui kasutaja lisab toote siis ta saab aasta lahtrisse kohe kirjutada: "1978-1999, 2004"
|
|
Kommentaarid: 22 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
 |
kissu19
HV kasutaja
liitunud: 27.05.2004
|
11.01.2011 00:41:39
|
|
|
Kui tooteid palju ei ole, siis salvesta kõik tootega seotud aastaarvud toote kirje külge ja indekseeri veerg FULLTEXT indeksiga. MySQL MATCH saab sellised üles otsida.
_________________
 |
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
jaagupk
HV kasutaja
liitunud: 10.01.2011
|
11.01.2011 00:45:53
|
|
|
kissu19 kirjutas: |
Kui tooteid palju ei ole, siis salvesta kõik tootega seotud aastaarvud toote kirje külge ja indekseeri veerg FULLTEXT indeksiga. MySQL MATCH saab sellised üles otsida. |
Tooteid plaani kohaselt kindlalt üle 10 000 (tulevikus 50 000 kanti).
Kas FULLTEXT ja MySQL MATCH-iga see liiga aeglaseks ei lähe ?
|
|
Kommentaarid: 22 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
 |
kissu19
HV kasutaja
liitunud: 27.05.2004
|
11.01.2011 01:00:28
|
|
|
50 000 kindlasti mitte.
_________________
 |
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
jaagupk
HV kasutaja
liitunud: 10.01.2011
|
11.01.2011 01:04:50
|
|
|
kissu19 kirjutas: |
50 000 kindlasti mitte. |
Aga suured tänud ma proovin siis selle asja ära
|
|
Kommentaarid: 22 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
 |
kissu19
HV kasutaja
liitunud: 27.05.2004
|
11.01.2011 01:21:36
|
|
|
Proovi, aga ma ei mäleta mismoodi seda fulltext välja sorteerida sai kui juhuslikult tahad aasta järgi sortida.
_________________
 |
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
jaagupk
HV kasutaja
liitunud: 10.01.2011
|
17.01.2011 17:47:09
|
|
|
Tekkis uus probleem ja ei hakka uut teemat tegema.
Nimelt kui mul on aasta 100 BC ehk 100 aasta enne kristust... Kuidas ma selle andmebaasi saaksin salvestada ? Või teha 2 välja ühes aasta ja teises valik kas BC või AC ?
|
|
Kommentaarid: 22 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
18.01.2011 17:52:57
|
|
|
link :: link
jaagupk kirjutas: |
Tekkis uus probleem ja ei hakka uut teemat tegema.
Nimelt kui mul on aasta 100 BC ehk 100 aasta enne kristust... Kuidas ma selle andmebaasi saaksin salvestada ? Või teha 2 välja ühes aasta ja teises valik kas BC või AC ? |
Viimane variant töötab kohe kindlasti.
Samas Oracle toetab BC asja. Vaata linki.
|
|
Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
tagasi üles |
|
 |
kissu19
HV kasutaja
liitunud: 27.05.2004
|
18.01.2011 18:03:12
|
|
|
Pane miinusmärk ette, siis töötab sortimine ka lihtsasti edasi. Kuvamisel lihtsalt kuva kas tavaline aastaarv või BC
_________________
 |
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
jaagupk
HV kasutaja
liitunud: 10.01.2011
|
27.01.2011 11:02:41
|
|
|
Ei hakka uut teemat tegema aga probleem uute väljade genereerimisega javascriptis. Nimelt kui uue välja genereerin innerHTML-iga siis eelnev tekst väljas kaob ära. Kuidas oleks võimalik, et sisestatud tekst jääks alles. Ma saan aru, et peaks DOM-i kasutama aga see on mitu korda aeglasem. Või on mingi lihtsam variant ?
Kood:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<script type="text/javascript">
// JavaScript Document
fields = 0;
function addMints() {
if (fields != 25) {
document.getElementById('extra').innerHTML += "<hr><input name='notes[]' value='' type='text' />";
fields += 1;
} else {
document.getElementById('extra').innerHTML += "<br />Max 25 extra fields allowed.";
}
}
fieldsi = 0;
function addImages() {
if (fieldsi != 6) {
document.getElementById('images').innerHTML += "<div class='left'><label>Image(optional):</label><br /><input name='im_img[]' type='file'><br /><label>Image Description:</label><br /><textarea name='im_descr[]' class='image_d'></textarea></div>";
fieldsi += 1;
} else {
document.getElementById('images').innerHTML += "<br />Max 6 extra images allowed.";
}
}
</script>
</head>
<body>
<form method="post" action="?" id="add_form" enctype="multipart/form-data">
<div id="images"></div>
<br clear="all" />
<a href="javascript:addImages()" class="add">Add more images</a><br /><br />
<div id="extra"></div>
<a href="javascript:;" onclick="addMints();" class="add">Add more extra fields</a>
</form>
</body>
</html>
|
|
|
Kommentaarid: 22 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
27.01.2011 11:17:33
|
|
|
jaagupk kirjutas: |
Ei hakka uut teemat tegema aga probleem uute väljade genereerimisega javascriptis. Nimelt kui uue välja genereerin innerHTML-iga siis eelnev tekst väljas kaob ära. Kuidas oleks võimalik, et sisestatud tekst jääks alles. Ma saan aru, et peaks DOM-i kasutama aga see on mitu korda aeglasem. Või on mingi lihtsam variant ?
Kood:
html:
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> // JavaScript Document fields = 0; function addMints() { if (fields != 25) { document.getElementById('extra').innerHTML += " <hr><input name='notes[]' value='' type='text' />"; fields += 1; } else { document.getElementById('extra').innerHTML += " <br />Max 25 extra fields allowed."; } } fieldsi = 0; function addImages() { if (fieldsi != 6) { document.getElementById('images').innerHTML += " <div class='left'><label>Image(optional): </label><br /><input name='im_img[]' type='file'><br /><label>Image Description: </label><br /><textarea name='im_descr[]' class='image_d'></textarea></div>"; fieldsi += 1; } else { document.getElementById('images').innerHTML += " <br />Max 6 extra images allowed."; } } </script> </head> <form method="post" action="?" id="add_form" enctype="multipart/form-data"> <a href="javascript:addImages()" class="add">Add more images </a><br /><br /> <a href="javascript:;" onclick="addMints();" class="add">Add more extra fields </a> </form> </body> </html>
|
|
Esiteks - kõnealune küsimus ei seostu kõigevähemalgi moel ülejäänud teemaga, seega oleks väärinud küll eraldi teema algatamist.
Aga asja juurde - kui sa innerHTML string sisule midagi otsa lisad, siis see on ekvivalentne kogu innerHTML sisu väljavahetamisega ja sellega seoses luuakse kogu DOM puu seal all uuesti ning kaovad ära ka varemsisestatud väärtused, mis innerHTML muutujas kuidagi ei kajastu.
Soovitaksin sul kasutusele võtta mõne JavaScript raamistiku, näiteks jQuery ning selle kaudu DOM'i manipuleerida lihtsalt ja turvaliselt ja kõigis brauserites ühtmoodi töötavalt.
Millest selline arvamus, et DOMi manipuleerimine kole aeglane on? Ma pole küll väga palju JavaScripti ise progenud kõrgtasemel, aga on ta siis kasutajale märgatavalt aeglane kõnealuse operatsiooni tegemisel?
PS. syntax tag on koodilõikude postitamiseks palju mõnusam, kui code tag.
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
|