Jump to content
php.lv forumi

Mysql vai tas ir iespējams


Orange

Recommended Posts

Un ja ir tad padalieties ar linkiem ka lai to izdara

 

ir rinda ko vina programma liek iekš db veina ailite formats šads

 

pirmais="Pirmais dati" otrais="otrais dati" tresais="Tresais dati" ceturtais=ceturta dati

 

Vai šo formatu ar mysql rikiem ir iespējams sadalit un ielikt šadi

 

+--------------+-------------+---------------+-------------+

| pirmais | otrais | tresais | ceturtais |

+--------------+-------------+---------------+-------------+

|Pirmais dati | otrais dati | Tresais dati | ceturta dati |

|Pirmais dati | otrais dati | Tresais dati | ceturta dati |

|Pirmais dati | otrais dati | Tresais dati | ceturta dati |

|Pirmais dati | otrais dati | Tresais dati | ceturta dati |

+--------------+-------------+---------------+-------------+|

 

softinja sql komadas var mainit manuali

Link to comment
Share on other sites

select * from tabula

 

ja es pareizi sapratu...

 

Sapratu, jātaisa preg_match kaut kāds.. citādi nekā...

debīla ievade konkrētam gadījumam ...

 

ievade būtu jā'but sādai

 

insert into tabula(dim1,dim2,dim3,dim4) values("pirmais","otrais","tresais","cetrtais")

Link to comment
Share on other sites

vai es vienīgais kam liekas ka jautājums bija kā ar sql'u only no lauka ar saturu

pirmais="Pirmais dati" otrais="otrais dati" tresais="Tresais dati" ceturtais=ceturta dati

dabūt tādu rezultātu kāds ir ar

INSERT INTO tabula SET pirmais = 'pirmais dati', otrais = 'otrais dati', tresais = 'treais dati', ceturtais = 'ceturtais dati'

 

tobiš, sadalīt vienu texta lauku un salikt pa vairākiem laukiem

Edited by v3rb0
Link to comment
Share on other sites

tur jau ta lieta ka to rindu liek softs kura darbiba es nevaru iejaukties un sadalit atseviskas cetras ailes vajag lai to rindu izjauc MYSQL un saliek pa stabiņiem pirms ielikšanas tik gurs ka uztaisi insert es esmu bet ka lai to rindu izjauc pa detaļam vel neesmu bet liekas ka atleg vards ir REGEX

Edited by bubu
Link to comment
Share on other sites

Liekas ka jā Tu esi vienigais laikam jau ka neprecizi izteicos

un

..bet ka lai to rindu izjauc pa detaļam..

 

nu be!! vai ta es neteicu, ka jautājums kā ar sql sadalīt vienu stringu nevis insertot 4tros laukos.

 

bet obligāti gribi tikai ar sql - varbūt noselectee, ar php sadali (split, preg_* ereg_* utt f-jas) un ieliec atpakal 4traas kolonās.

Link to comment
Share on other sites

un

nu be!! vai ta es neteicu, ka jautājums kā ar sql sadalīt vienu stringu nevis insertot 4tros laukos.

 

bet obligāti gribi tikai ar sql - varbūt noselectee, ar php sadali (split, preg_* ereg_* utt f-jas) un ieliec atpakal 4traas kolonās.

 

Ta jau man uztaisits bet vins raksta 14000 ierakstus stundā un baigi ilgi sanak to logu pardzit par jaunu lai pec tam kaut ko varētu saparast un turlklāt vēl gribētos lai vienu daļu varētu redzēt uzreiz. Tas ir Firewalla logs generēts ar syslog

Link to comment
Share on other sites

ah nu tad ja teiksim tev ir mainīgais:

$text = 'pirmais="Pirmais dati" otrais="otrais dati" tresais="Tresais dati" ceturtais="ceturta dati"';

 

nu tad

$text = 'INSERT INTO tabula SET '.str_replace('" ','", ',$text);

tad gala kverijam vajadzētu būt tam (tb pēdiņas (ar ko beidzās dati) un tukšumu repleisojam par pēdīņām,komatu un tukšumu) un priekšā pieķepinam drusku sql

 

INSERT INTO tabula SET pirmais = 'pirmais dati', otrais = 'otrais dati', tresais = 'treais dati', ceturtais = 'ceturtais dati'

 

ko jau var vienkārši izpildīt..

 

jebšu es kaut ko tomēr aizvien nesaprotu..

Link to comment
Share on other sites

Kā ar PHP sadalit samainit sameklēt iekš rindas man viss skaidrs bet php te neder tas kas to rindu raksta ir softs kurš pa tiešo raksta iekš MYSQL vienīgais kā es varu iejaukties es varu softa izmainit SQL komandas

Nu vēl labāk.. kas tad tev liedz uzreiz pareizi likt iekšā ar pareizu SQL komandu?

 

Tagad beidzot sapratu ..

Nu idejiski jau var:

 

INSERT INTO jaunatabula (SELECT * FROM vecatabula);

 

problēma ir tajā * proti kā esosho garo teksta lauku sasplitot 4 vai vairāk daļās..

var mēģināt ar kaut kādām SUBSTRING, LOCATE vai SUBSTRING_INDEX funkcijām teiksim..

 

SELECT SUBSTRING_INDEX(vecaistext,'" ',0) AS lauks1, .. bet nu čakars tā naturāli bez kaut kādas procedūras..

Link to comment
Share on other sites

TAs ka tas softs izdot laukā vienu rindu kuru man tagad gribas izvāverot un sadalīt vairākas ailītēs

id="HOSTNAME" ip="XX.XX.XX.XX" src="xx.xx.xx.xx" u.t.l kopā

vienīgais kā es varu iejaukties es varu softa izmainit SQL komandas

 

Nu bet tad iejaucies un pamaini uz komandu tādu kādu tev parādija/vajag ;)

Jebšu kas tad liedz uzrakstīt mazu php skriptiņu vai jebkādu citu softiņu kas sadala tos garos ierakstus un pārmet citā tabulā.. ar MySQL to teorētiski var praktiski, bet praktiski vismaz manuprāt ir pagrūti un diezvai attaisno iztērēto laiku.

Link to comment
Share on other sites

×
×
  • Create New...