webForumDet fria alternativet

Jämföra priser

ASP

53 svar · 1 283 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej!

Jag har en tabell med olika priser för olika leverantörer 3. Tanken är att de ska jämföras med varandra.

Hur gör man för att det lägsta ska bli grönt, det högsta rött. De mittemellan ska vara svarta???

sedan vill jag att leverantörens namn skrivs ut på det lägsta priset.

Resultat:

Solar-Storel-elektroskandia-Lägsta pris
-------------------------------------------------
100 --125 -- 150 ------ Solar

tabellfälten för priser ser ut så här:
curSolar
curStorel
curElektroskandia

Mvh

Medlem sedan juli 2000325 inlägg
#2

Ful hack:

Dim arrArray(3)

arrArray = Array(curSolar,curStorel,curElektroskandia)

For i = 0 To UBound(arrArray()) 
 For j = i + 1 To UBound(arrArray()) 
     If StrComp(UCase(arrArray(i)), UCase(arrArray(j)), vbTextCompare) = 1 Then 
         tmpArray = arrArray(i) 
         arrArray(i) = arrArray(j) 
         arrArray(j) = tmpArray 
   End If 
 Next 
Next 

'
Response.Write("<FONT COLOR=red>"&arrArray(0)& "</FONT>")
Response.Write("<FONT COLOR=black>"&arrArray(1)& "</FONT>")
Response.Write("<FONT COLOR=blue>"&arrArray(2)& "</FONT>")

SELECT CASE arrArray(2)
CASE curSolar
Response.Write("Solar")
CASE curStorel
Response.Write("Storel")
CASE curElektroskandia
Response.Write("Elektro")
END SELECT

Läs behövas modifieras, men grunden tanken fungera....

Medlem sedan juli 20011 084 inlägg
#3

Det där är inget bra databasupplägg, ett bättre upplägg hade varit...

tblPrice
- id
- product_id
- product_price
- company_name

1 | 1 | 100 | Solar
2 | 1 | 125 | Storel
3 | 1 | 150 | Elektroskandia

På så sätt har du gjort det mycket enklare för dig, samt att du enkelt kan lägga till fler än 3 företag och jämföra, utan att behöva ändra på hela databasen samt din kod.

För att sedan hämta ut den billigaste så sorterar du bara på product_price

(SELECT product_price,company_name FROM tblPrice WHERE product_id = 1 ORDER BY product_price)

Medlem sedan jan. 20013 582 inlägg
#4

Hej!
Om vi bortser från databastrukturen... Finns det fler förslag på att lösa mitt problem???

Mvh

Medlem sedan jan. 20013 582 inlägg
#5

Hej!
@nders, har du inga bra förslag??? :r

Mvh

Medlem sedan mars 20032 667 inlägg
#6

devotion skrev:

Hej!
@nders, har du inga bra förslag??? :r

Mvh

Känner jag snabel-mannen rätt skulle han säga samma sak som mozilla. Med andra ord: gör om gör rätt. ;)

Medlem sedan jan. 20013 582 inlägg
#7

Njae!!

Det är inte så enkelt...

Databasen är inlästa textfiler som leverantörerna av artiklarna levererar. (se tidigare trådar gjorda av mig)

MEN, det kanske är så att de scripten jag (med hjälp av andra) gjort skall göras om så databasstrukturen blir bättre???

De fält som finns i tabellen nu är följande

eNumber (artikelnummer)
articleName (benämning)
articleUnit (Enhet; m, st...)
articleCategory (kategori som artikeln tillhör)
articlePriceSolar ( Pris för artikeln hos leverantören SOLAR)
articlePriceStorel ( Pris för artikeln hos leverantören STOREL)

Jag tar gärna emot för förslag på förändringar i db om det förbättrat applikationen...

Mvh

Medlem sedan apr. 20022 743 inlägg
#8

Ja då tycker jag du ska tänka om och göra om det. Vad gör du om någon leverantör hoppar av eller en annan kommer till?

Medlem sedan jan. 20013 582 inlägg
#9

Hej!
Angående leverantörer i elbranschen som vi använder oss av finns det 4 st stora som vi använder oss av. Det är inte troligt att dessa försvinner. Det jag ska använda applikationen till är att kunna jämföra olika priser mellan leverantörer och på så sätt kunna avgöra vilken som är mest fördelaktigt att handla av vid det aktuella tillfället.

Databasen består av nästan 100 000 artiklar allt från skruv till Datorer

Varför är strukturen som jag gjort så förfärlig? Vad vinner jag på att ändra på den???

Mvh

Medlem sedan apr. 20022 743 inlägg
#10

Klart det går att göra som du gjort men du är ju väldigt fast om något skulle ändras och en till leverantör ska in t.ex. och hur kodningssyn är det desto enklare med den struktur mozilla visade.

Nått jag alltid tänker på när jag kodar är att om någon förutsättning skulle ändras ska man inte behöva koda om allting, vilket du nu måste göra om det skulle hända. Men om det är okej för dig så kan du så klart ha det som du har. Men det kommer bli segare eftersom det krävs mer kod för att kolla varje pris, annars gör du det direkt i SQL-satsen.

Det är bättre att gör aordentligt från börja, det tjänar man oftast på i längden :bire

Medlem sedan jan. 20013 582 inlägg
#11

Jag förstår vad du menar...

Men i mitt fall med så många artiklar, blir det inte ännu fler artiklar i Mozillas förslag eftersom varje artikel skrivs in med 3 olika produkt id???

Känns som det blir onödigt stort. 300 000 artiklar där varje artikel tas upp 3 gånger. Eller har jag helt fel??? :q

Mvh

Medlem sedan apr. 20022 743 inlägg
#12

Nej artiklarna lägger du i en tabell där de får ett varist unikt id. Likadant med leverantörerna. Sen gör du en tabell enligt mozillas förslag där du länkar ihop priset med artikeln och leverantören.

Det blir alltså en post per artikel och en post per leverantör. Sen blir det tre posten (om du har tre leverantörer) där varje artikel får ett pris hos respektive leverantör.

Ör inte så bra på att förklara men du kanske förstod?

Medlem sedan apr. 20022 743 inlägg
#13

Lite enkelt:

tblArt
	fldID		'Unikt ID för artikeln
	fldNamn		'Namn på produkten

tblLev
	fldID		'Unikt ID för leverantören
	fldNamn		'Namn på leverantören

tblPris
	fldArtID	'Artikeln ID
	fldLevID	'Leverantörens ID
	fldPris		'Priset
Medlem sedan jan. 20013 582 inlägg
#14

Hej!
Förstår vad du menar och det kanske vore det ideala. Men jag vet i fan om det fungerar i mitt fall. :(

Jag får i a f inte ihop det

tblArt är inga problem att skapa

MEN en artikel kan ha upp till 4 olika priser

Ahhhh.... får inte ihop det

Medlem sedan apr. 20022 743 inlägg
#15

För varje pris lägger du till en post i tblPris. Alltså kan varje artikel ha hur många priser som helst.

Medlem sedan jan. 20013 582 inlägg
#16

Ho, ho!

Ingen som kan hjälpa???

Mvh

Medlem sedan juni 200032 967 inlägg
#17

Det bästa sättet är att göra om databasstrukturen, men det är klart att det går att lösa på andra sätt, exempelvis med arraysortering el. dyl. Hur gick det med skarbratts förslag?

Medlem sedan jan. 20013 582 inlägg
#18

Ja, ja!!!

Får kanske tänka om och göra om databastrukturen i a f...

Tyckte själv att det var ganska bra upplägg med EN tabell som har alla leveratörers priser i sig.

Men det kanske är så att det blir svårt att presentera datat...

Då kommer nästa fråga... ;)

Hur ska en optimal databas se ut. Jag har fått en del förslag men inte fattat riktigt. Poffe har försökt hjälpa mig (tack!) Men jag reder inte riktigt ut tankegångarna...

Du (@nders)har ju hjälpt mig med scripten att läsa in textfilerna till EN databas. Hur skulle man kunna göra för att förändra detta?

Känner just nu att jag inte riktigt är med i matchen. Så snälla hjälp mig av läktaren :)

Ok, (ett riktigt djupt andetag)

3 tabeller

tblArtikel

Innehåller:

artikelId (unikt ID för artikeln, inga problem eftersom E-nummer är unikt. Dock kan flera leverantörer ha samma artiklar)
artikelNamn (Artikelns benämning)

tblPris

Innehåller:

Här kommer svårigheterna...
Hur byggs denna tabell upp???
Hjälp!

tblLev

Innehåller:

LevId (Unik Id för leverantören)
LevNamn ( Leverantörens namn)

Förstår inte riktigt hur jag ska koppla ihop tabellerna

Mvh

Medlem sedan apr. 20022 743 inlägg
#19

tblPris ska innehålla, precis som jag skrev ovan leverantörens ID (levID) och artikelns ID (artikelId) samt priset.

tblPris
	fldArtID	'Artikeln ID
	fldLevID	'Leverantörens ID
	fldPris		'Priset

När du sedan ska lägga till ett pris så kollar du vilken artikel det är och vilken leverantör.

Då sparas det så här:

fldArtID	fldLevID	fldPris
1		1		19.90
1		2		19.80
1		3		20.30
2		2		56.50
2		3		57.00

I detta exmpel finns alltså artikel 1 hos leverantör 1, 2 och 3 och respektive leverantörs priser anges.

Artikel 2 finns bara hos leverantörerna 2 och 3 och deras priser syns då.

På så sätt kan du enkelt lägga till och ta bort leverantörer t.ex. elle rom en viss leverantör inte har en viss artikel.

Förstår du nu?

Medlem sedan jan. 20013 582 inlägg
#20

Ok, tror jag börjar förstå :r eller inte

Pristabellen...

Blir inte denna tabell onödigt stor då varje artikel som tre leverantörer har tas upp tre gånger med olika leverantörsID??

Eller är jag helt ute och cyklar??

Iofs kanske et inte spelar någon röll om det är 50 000 poster eller 150 000

Mvh

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)