1 (edited by Donatas 2011-03-07 21:35:54)

Topic: funkcija explode() ir perdaug iskaido

is duomenu bazes gaunu kintamaji  $eile['klausimas'], kuriame irasyta:

2011-03-07 16:29:49|Klausimas:|qqqqqq
2011-03-07 17:38:34|Klausimas:|asdfsddfdfbsdgbgbf
2011-03-07 17:40:25|Klausimas:|sdsdvsfvdsfdv
2011-03-07 21:10:47|Klausimas:|bggggggggggggg

vygdau veiksmus:

$array = explode("\n", $eile['klausimas']);
$kiek  = count($array)-1;
$sk=$sk-1;

while ( $sk <$kiek-1 ) {
    $zinute = explode("|", $array["$sk"]);
   echo $zinute[$sk]['0'] .'<br>'.$zinute[$sk]['1'].'<br>'.$zinute[$sk]['2'];
$sk++;
}

ir is echo gaunu kazkoki keista atsakyma

2
0
1 K
l
a s
d
s

kazka sumaisiau array in array mane visai supainojo. 
kodel negaunu tinkamo atsakymo?
turetu but
2011-03-07 16:29:49
Klausimas:
qqqqqq

ir t.t.

jeigu padarau

echo $array[0].'<br>'.$array[1].'<br>'.$array[2];

gaunu tinkama atsakyma
2011-03-07 16:29:49|Klausimas:|qqqqqq
2011-03-07 17:38:34|Klausimas:|asdfsddfdfbsdgbgbf
2011-03-07 17:40:25|Klausimas:|sdsdvsfvdsfdv

Re: funkcija explode() ir perdaug iskaido

echo $zinute[$sk]['0']
o koki velnia cia tas $sk veikia?

Re: funkcija explode() ir perdaug iskaido

Lukas wrote:

echo $zinute[$sk]['0']
o koki velnia cia tas $sk veikia?

pats nesuprantu :)
tiek dariau ir perdariau viska kol galu gale pasimeciau visame kame...

Re: funkcija explode() ir perdaug iskaido

Netgi čia yra idomus kodas:

$sk=$sk-1;

Re: funkcija explode() ir perdaug iskaido

minde wrote:

Netgi čia yra idomus kodas:

$sk=$sk-1;

cia bandymai vyko ir rasiau kol prisirasiau

cia galutinis variantas

$array = explode("\n", $eile['klausimas']);
$kiek  = count($array)-1;

for ( $sk=0; $sk < $kiek; $sk++ ) {
$zinute = explode("|", $array["$sk"]);
echo $zinute['0'] . $zinute['1'] . $zinute['3'];
}

Warning: count(): Parameter must be an array or an object that implements Countable in /home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line 820

Re: funkcija explode() ir perdaug iskaido

O nebutu buve paprasciau susirasyt tuos i serialize? Nereikes visokiu explode ir kitokiu velniu.

Re: funkcija explode() ir perdaug iskaido

Siaip viso masyvo skaitimui naudociau foreach.

Re: funkcija explode() ir perdaug iskaido

pries pradedamas su explode skaiciau apie serialize.

Bet nieko nesupratau is manualo, perdaug man ten sauso texto ir per daug neaiskus pavyzdziai.
Tai padariau su explode.

Re: funkcija explode() ir perdaug iskaido

Pavyzdys su serialiaze:

<?php
    $arr[0]['klausimas'] = "Klausimas";
    $arr[0]['atsakymas'][] = "Pirmas atsakymas";
    $arr[0]['atsakymas'][] = "Antras atsakymas";
    $arr[0]['atsakymas'][] = "Trecias atsakymas";

    $s = serialize($arr);

    echo $s; 
        /* OUTPUT:
        a:1:{i:0;a:2:{s:9:"klausimas";s:9:"Klausimas";s:9:"atsakymas";a:3:{i:0;s:16:"Pirmas atsakymas";i:1;s:16:"Antras atsakymas";i:2;s:17:"Trecias atsakymas";}}} */

    $us = unserialize($s);

    print_r($us);
        /* OUTPUT:
       Array
(
    [0] => Array
        (
            [klausimas] => Klausimas
            [atsakymas] => Array
                (
                    [0] => Pirmas atsakymas
                    [1] => Antras atsakymas
                    [2] => Trecias atsakymas
                )
 
        )
 
)*/
?>

10 (edited by Donatas 2011-03-08 13:10:13)

Re: funkcija explode() ir perdaug iskaido

Kaip ir supratau esme kaip kas vyksta.
Perskaites dali manualo.
paliksiu ateiciai man rodos ta serialize.

Nes mano atveju zinute galesiu redaguot per phpmyadmin taip kaip man patinka.
O sudejas viska su serialize gausiu visa sistema irankiu kurt. Jei noresiu redaguoti duomenis.

Re: funkcija explode() ir perdaug iskaido

Nori pasakyti, kad naudoji db ir infa saugai tokiu formatu?

Re: funkcija explode() ir perdaug iskaido

na kitaip nesugalvojau kaip padaryt.

Na darau tokia sistema.
Svetaineja vartotjas uzdave vet gydytojai klausima.
suvedu duomenis susijusius su klausimu
Data|Klausimas|Kodel serga kate|

apziurejo vet gydytoja kad yra klausimas atsako
dapildau lauka
Data|Klausimas|Kodel serga kate|
Data|Atsakymas|Parasykite daugiau simptomu|

ir t.t.

kitaip nesugalvojau kaip padaryt toki varianta su viena lentele duomenu bazeja.
Nekursiu gi kiekvienam klausimui atskiros lenteles?

Jei turi pasiulymui kaip tai padaryt paprasciau maloniai priimu patarimus :)

13 (edited by xeranas 2011-03-08 14:01:59)

Re: funkcija explode() ir perdaug iskaido

Donatas wrote:

na kitaip nesugalvojau kaip padaryt.
Na darau tokia sistema.
Data|Klausimas|Kodel serga kate|
Jei turi pasiulymui kaip tai padaryt paprasciau maloniai priimu patarimus :)

Tam yra duomenų bazės lentelės laukai... o kaip supratau tu viską sukiši i vieną vienintelį lauką o poto vargsti skaidydamas..

tarkim lentelė klausimas:
id - viena laukas
data - kitas laukas
pacientoId - trecias laukas
ir tt..

P.S. lentelės laukas tai ne atskira lentelė.

No warning? No action? I hate this situation!

Re: funkcija explode() ir perdaug iskaido

nea ne taip supratot

turiu lentele
ID | Gyvunas | Veisle | Klausimas_Atsakymas | Paskutinio_Red_Data | Atsakyta | Asaugos_Kodas |

ir kada pirma kart pildo anketa visus laukus uzpildo.
Atsakydama vet gydytoja dapildo tik Klausimas_Atsakymas skilti
Dapildydamas klausima vartotojas suvedu duomenis tik i Klausimas_Atsakymas lauka

Kazkas tokio

Re: funkcija explode() ir perdaug iskaido

Kažkaip man čia gaunasi Sviestas sviestuotas

Re: funkcija explode() ir perdaug iskaido

Na dar geriau pagalvojus galima padaryt ir kitap sukurt 2 lentele
Klausimai_Atsakymai

Ten galiu suvest visus atsakymus ir papildytus klausimus priskirdamas kiekvenam klausimui/atsakymui id is pirmos lenteles. veliau rusiuot ir istraukt is db tik reikiamus laukus pagal pirmos lenteles id.

Re: funkcija explode() ir perdaug iskaido

Donatas wrote:

nea ne taip supratot

turiu lentele
ID | Gyvunas | Veisle | Klausimas_Atsakymas | Paskutinio_Red_Data | Atsakyta | Asaugos_Kodas |

ir kada pirma kart pildo anketa visus laukus uzpildo.
Atsakydama vet gydytoja dapildo tik Klausimas_Atsakymas skilti
Dapildydamas klausima vartotojas suvedu duomenis tik i Klausimas_Atsakymas lauka

Kazkas tokio

Pasidaryk normalia duomenų bazės struktūrą. Visus duomenys saugoti vienoje lentelėje (klietas ir pardavėjai kartu) - yra duomenų bazės išniekinimas:)

[klientai]
id
tel_nr
adresas
ir dar keli laukai su klientu susije jei reikia

[gydytojai]
id
tel_nr
ir visa kita info su gydytoju (mazai apie juos zinau)

[klausimai]
id
data
klausimas
kliento_id

[atsakymai]
id
data
klausimo_id
atsakymas
gydytojos_id

turedamas padoresne struktura galesi lanksciau manipuliuoti duomenimis ;)

No warning? No action? I hate this situation!

Re: funkcija explode() ir perdaug iskaido

apie daktares nera net ko kurt db atskiros zmona viena kuri atsakines aiskus variantas ir taip :D

Re: funkcija explode() ir perdaug iskaido

http://www.amelita.lt

ten nuorodos klausk gydytojo ir gydytojo atsakymai stai ka darau kad konkreciau isivaizduoti situacija ka noriu padaryt

20 (edited by xeranas 2011-03-08 15:20:07)

Re: funkcija explode() ir perdaug iskaido

Donatas wrote:

apie daktares nera net ko kurt db atskiros zmona viena kuri atsakines aiskus variantas ir taip :D

Kol kas aiškus variantas.. ;)
Kad ir kaip bebūtų hard-code'indamas apsisunkinsi programos plėtimą (Ateities-Donatas tau tikrai nepadėkos ;)).

Jei daktarė (kad ir vienintelė) pakeis savo telefoną/emaila kur manai šią info atnaujinti būtų lengviau? :)

No warning? No action? I hate this situation!