Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pobieram ciag znakow z bazy i chc go sprasowac do postaci..., jak znaleźć koniec i poczatek pola ?
boya
post
Post #1





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

Ostrzeżenie: (0%)
-----


Witam

w bazie w polu opis mam takie cos
kolor: czerwony; stan: bardzo dobry; rok produkcji: 1999; ... itd

chcialem sie dowiedziec jak sprawdzic gdzie jest poczatek tego pola a gdzie koniec zeby moc to wpuscic w petle i sprasowac do postaci

kolor: czerwony
stan: bardzo dobry
rok produkcji: 1999

bynajmniej nie chodzi o ereg_replace bo chce sobie to rozwalic explodem na dwa pola...

dana -> rozwalenie na linie -> rozwalenie na pola -> wyswietlenie

Ten post edytował boya 2.06.2006, 12:54:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lesser
post
Post #2





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 3.06.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


A ja bym zrobil cos takiego:


  1. <?php
  2. $string  = 'kolor: czerwony; stan: bardzo dobry; rok produkcji: 1999';
  3. $dane = array();
  4.  
  5. $tablica = explode( ';', $string );
  6.  
  7. foreach( $tablica as $wartosc ) {
  8. $wartosc = explode( ':', $wartosc );
  9. $dane[$wartosc[0]] = $wartosc[1];
  10. }
  11. ?>


W wyniku czego otrzymujesz bardzo elastyczną tablicę.
Teraz jeśli chcesz zmienić jakąś wartość:

  1. <?php
  2. print $dane['kolor'];
  3. // na wyjsciu dostaniesz: czerwony
  4.  
  5. $dane['kolor'] = 'zielony';
  6.  
  7. print $dane['kolor'];
  8. // na wyjsciu dostaniesz: zielony
  9.  
  10. //i stworzenie nowego stringa do bazy
  11. $string = '';
  12. foreach( $dane as $klucz => $wartosc ) {
  13.  $string .= $klucz . ': ' . $wartosc . '; ';
  14. }
  15. //Wrtość $string: 'kolor: zielony; stan: bardzo dobry; rok produkcji: 1999';
  16. ?>


Wyświetlanie wszystkiego w html-u

  1. <?php
  2. foreach( $dane as $klucz => $wartosc ) {
  3. print '<tr>';
  4. print '<td>' . $klucz . '</td> ';
  5. print '<td>' . $wartosc . '</td> ';
  6. print '</tr>';
  7. }
  8. ?>


Jak gdzieś coś skiepściłem to mnie popraw.

Ten post edytował lesser 3.06.2006, 18:53:46
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 11:31