Avatar billede Slettet bruger
03. februar 2008 - 20:53 Der er 13 kommentarer og
1 løsning

Trække data ud af en tekst.

Jeg har noget tekst, som jeg ligger ind i et tekstfelt.
Det vil jeg gerne sende til en database. Men ikke alt teksten.
Jeg vil gerne hive nogle bider ud af det og de bider skulle gerne indsættes i forskellige steder i databasen.

Ex. hvis der står "flyver: 200" et sted.

Så vil jeg gerne have at "200" bliver kopieret ind, i min database der hvor der står flyver. Og hvis der står:

"biler: 100"
Så må "100" gerne ryge ind i databasen under rækken biler.

Problemet ligger lidt i at der står på lidt forskellige måder ex:

Biler: 100

eller...

type Biler  Flyver
antal 100  200.

Så der er lidt meget jeg skal lære..
Og da jeg ikke ved noget om det skal det nok skæres meget ud i pap. Og nok også over et par dage.
Håber nogen er frisk på denne opgave.

W13 du sagde du måske kunne hjælpe. Men ved jo ikke om du er online nu. :)

Glæder mig meget til at lære dette.


DDD

;)
Avatar billede w13 Novice
03. februar 2008 - 21:10 #1
Du kan vistnok dele det sådan her:
----------------------------------
sName=Split(Request.Form("felt"),": ")(0)
sValue=Split(Request.Form("felt"),": ")(1)

Conn.Execute("INSERT INTO table1 SET ["&sName&"]='"&sValue&"'")
Avatar billede Slettet bruger
03. februar 2008 - 21:22 #2
Som sagt er jeg helt blank i dette så forstår ikke rigtigt hvordan det der kan klare det..


Lad os starte fra en ende af.

Hvis jeg har denne tekst:

"Flyver 200 og biler 100 og både 150"

Hvordan ved jeg så at den tager flyver og smider de rigtige data ind.
Og hvad nu hvis der står cars 100 som skal sættes ind i en i en kolone der hedder biler?
Avatar billede w13 Novice
03. februar 2008 - 21:44 #3
Ja, det er jo et helt andet eksempel. Jeg tog udgangspunkt i:

"Flyver: 200"

eller:

"Biler: 100"

Der skal jo være et bestemt mønster, for at koden kan genkende det. Det skal stå på samme måde hver gang, for at det kan laves.
Avatar billede Slettet bruger
03. februar 2008 - 21:54 #4
Hmmm tror det kræver noget helt andet hjælp.
Tror jeg lukker denne, kan du så hjælpe mig over MSN?

DDD
Avatar billede passiflora Juniormester
03. februar 2008 - 21:55 #5
Du må kunne "læse" teksten igennem og finde dine dataetiketter, og deres position. Det følgende "ord" vil jo så være antal.

Hvor mange etiketter har du mon ..
Avatar billede Slettet bruger
03. februar 2008 - 22:05 #6
Det er ikke altid det følgende ord er antal.

Nogen gange står der jo ex:

Type: Fly  Bil  Skib
Antal:  200  100  150

Så står de nemlig ikke lige efter hinanden.
Andre gange står de som du siger lige efter hinanden.
Problemet ligger i at det er meget blandet.
Og det skal lige siges at nogen gange er der fx kun Fly og skibe. Så skal der jo ikke sendes data ind til den.

Jeg har set et sytem der kunne køre på sådan en tvistet måde.
Men ham admin'en havde fået hjælp på en engelsk side. Og det er ikke min stærke side.


DDD
Avatar billede w13 Novice
03. februar 2008 - 22:08 #7
Det kan jeg ikke lave desværre. Der skal et meget intelligent system til at klare det.
Avatar billede passiflora Juniormester
03. februar 2008 - 22:30 #8
Holder med w13, er der ikke et fast mønster i data'ne er det ikke let ...

Hvorvidt der kun er fly og skib er ikke så slemt ...
Avatar billede Slettet bruger
03. februar 2008 - 23:03 #9
Godt så må jeg lære lidt af gangen.

Så kan vi udbygge det der kan lade sig gøre hen af vejen.

Hvis jeg har dette i tekst feltet:
Jeg har under hver linje skrevet hvad der skal kopieres ind i databasen.
Jeg har kun lige lavet et par stykker under hver så jeg selv kan lære systemmet helt
-------------------------------------------------------

På marked den 01-30 12:20:20 er der disse bruger:
/datoen og kl skal kopieres ind i min MySQL database under "dato"


Bruger 1: Hans
/"Hans" skal ind under "bruger1"
han havde følgende med
biler.- 10
/10 skal ind under "br1_biler_for"
skibe.- 5
/5 skal ind under "br1_skibe_for"
fly.- 6
cykler.- 5

Bruger 2: Niels
han har følgende med:
fly.- 2
cykler.- 6
Køer.- 4
grise.- 6
/Som du kan se har han ikke skibe og biler med hvis han ikke har det skal der indsættes 0 i "br2_biler_for" og "br2_skibe_for"

markede slutter

bruger 1: Hans
biler.- 2 ( solgt: 8 )
skibe.- 3 ( solgt: 2 )
fly.- 6 ( solgt: 0 )
/hvis en malger som cykler skal der skrives "0" i "br1_cykler_efter"


Bruger 2: Niels
Udsolgt
/hvis brugerne har udsolgt skal der indsættes "0" i alle disse "br2_skibe_efter", "br2_biler_efter" osv....


Hvordan gøres dette så dan helt præcis?
Det kunne jeg forstå at du kunne lave.
Avatar billede Slettet bruger
03. februar 2008 - 23:18 #10
Nu så jeg lige hvad der var blevet skrevet.
Man kan vel ligge nogle If sætninger ind.

Ex if cykler.- not then..

Altså hvis der ikke står "cykler.- " så skal der stå "cykler.- 0"
Eller noget i den dur???
Avatar billede passiflora Juniormester
04. februar 2008 - 09:27 #11
Kunne man ikke forestille sig en formular hvor man indtaster bruger, og hvad denne medbringer / tager med hjem ...
Avatar billede w13 Novice
04. februar 2008 - 10:17 #12
Hvordan er det, det skal bruges? Altså hvad er kodens formål? Og hvordan kan det være, at "mønsteret" kan variere så meget?
Avatar billede Slettet bruger
04. februar 2008 - 19:10 #13
Jamen det er sværet at beskrive.

Jeg skal lave en side for nogle venner.
De har spurgt om det er muligt.

Det er et spil de leger med hvor de skal være købmænd og skal rundt på markeder.
Problemet er at de ting de sælger ikke altid er de samme.
Der er ialt ca. 20-25 produkter siger de.
Og når spillet laver en tur til markedet så får de en side hvor handlerne ser sådan ud..  Dem vil de kopiere ind i et tekst felt, som sender data'en til en database og så får de lavet en statestik.


Det kan godt være at jeg bare har fortalt det på en dum måde.
Men jeg har en ide.

Glem det der med at der skal sendes "0" til databasen.

Hvis vi nu skal bare skal sende data'erne ind som følger:
---------------------------------


På marked den 01-30 12:20:20 er der disse bruger:
/datoen og kl skal kopieres ind i min MySQL database under "dato"


Bruger 1: Hans
/"Hans" skal ind under "bruger1"
han havde følgende med
biler.- 10
/10 skal ind under "br1_biler_for"
skibe.- 5
/5 skal ind under "br1_skibe_for"
fly.- 6
cykler.- 5

Bruger 2: Niels
han har følgende med:
fly.- 2
cykler.- 6
Køer.- 4
grise.- 6


markede slutter

bruger 1: Hans
biler.- 2 ( solgt: 8 )
skibe.- 3 ( solgt: 2 )
fly.- 6 ( solgt: 0 )



Bruger 2: Niels
Udsolgt


-------------------------------------------------

Så kan man jo bare sætte "0" ind i databasen som normal værdien.
På den måde skal jeg ikke tænke på at den får sendt det ind.

Når jeg så evt skal lave udtræk kan jeg bare lave nogle andre ting end jeg først havde regnet med jeg ville.

Så hvis du kan forklare hvordan jeg får sendt den første del her:


På marked den 01-30 12:20:20 er der disse bruger:
/datoen og kl skal kopieres ind i min MySQL database under "dato"


Bruger 1: Hans
/"Hans" skal ind under "bruger1"
han havde følgende med
biler.- 10
/10 skal ind under "br1_biler_for"
skibe.- 5
/5 skal ind under "br1_skibe_for"


Så ved jeg at resten kan laves på en anden måde.
Avatar billede Slettet bruger
12. februar 2008 - 19:15 #14
Hmmm men tak..

Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester