Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Smarty - Problema cu foreach si explode
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
Cosmin Chiru



Data înscrierii: 19/Apr/2007
Mesaje: 215

Trimis: Mar Iul 17, 2007 8:44 pm    Titlul subiectului: Smarty - Problema cu foreach si explode  

Salutare,

Am un camp in baza de date care contine urmatoarele:
Citat: 3_2007-07-17;5_2007-07-17;2_2007-07-17;

Folosind foreach si explode trebuie sa ajung la date de genul:
Citat: $someVariabile = 3, $anotherVariable = 2007-07-17
$someVariabile2 = 5, $anotherVariable2 = 2007-07-17
$someVariabile = 2, $anotherVariable3 = 2007-07-17

Explode-ul dupa ";" merge ok, explode-ul dupa "_" merge de asemenea ok. Problema e ca pot asigna ca valoare unei variabile doar 3, 5, 2... nu si anul.

Cum as putea face lucrul asta in contextul datelor de mai sus?

Multumesc anticipat.
Sus  
whooper



Data înscrierii: 05/Apr/2005
Mesaje: 727
Locație: Toronto ON

Trimis: Mar Iul 17, 2007 9:17 pm    Titlul subiectului:  

inveti ce e aia o matrice (array)..

$var_1[value]=3;
$var_1[date]='2007-07-17';
$var_2[value]=5;
$var_2[date]='2007-07-17';
$var_3[value]=2;
$var_3[date]='2007-07-17';

sau

$var[1][value]=3;
$var[1][date]='2007-07-17';
$var[2][value]=5;
$var[2][date]='2007-07-17';
$var[3][value]=2;
$var[3][date]='2007-07-17';

:) In primul caz ai trei variabile, fiecare stocheaza cate 2 valori (intreg si data). In al doilea caz ai o singura variabila care stocheaza tot.

cand vrei sa afisezi ceva de exemplu, faci doar un

echo $var_1[date];

sau

echo $var[2][date];

Valorile de tip data le salvezi ca "TEXT". Daca vrei sa folosesti PHP-ul sa stochezi DATA nativ, formatul de data trebuie sa fie convertit la UNIX-time. Pentru asta folosesti mktime() sau strtotime(). Mai uite-te la exemplele de la php.net, sigur gasesti ceva acolo pentru conversie.

Fii atent ca orice script PHP e limitat (default) la 8Mb de memorie care poate fi folosita. Daca vrei sa importi campuri cu multe date (sau fisiere CSV de marimi mari) memoria necesara pentru stocarea variabilelor $var poate fi mai mare decat memoria alocata (in php.ini) si scriptul crapa.
Sus  
Cosmin Chiru



Data înscrierii: 19/Apr/2007
Mesaje: 215

Trimis: Mar Iul 17, 2007 9:30 pm    Titlul subiectului:  

Ma intereseaza o solutie cu foreach-ul si explode-ul din Smarty.

Datele din campul ala sunt preluate odata cu datele din alte campuri si sunt asignate unei variabile.
Sus  
whooper



Data înscrierii: 05/Apr/2005
Mesaje: 727
Locație: Toronto ON

Trimis: Mar Iul 17, 2007 9:46 pm    Titlul subiectului:  

Scuze. Cred ca sunt prea obosit. Ideea e sa captezi text (nu numere), dupa care faci conversia la timestamp.

http://smarty.php.net/manual/en/tips.dates.php
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community