Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Wyświetlanie rekordu w rządany sposób
puz219
post
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 1.07.2007

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


Witam.

Tworzę sobie stronę z kolekcją swoich filmów i podczas dodawania filmu kopiuje sobie obsadę z imdb i dodaję do pola obsada (text) w bazie mysql.

Teraz chciałbym, żeby na stronie z informacjami o filmie ta obsada wyświetliła mi się w następujący sposób:

imię i nazwisko aktora (wszystko przed "...")|odstęp|...|odstęp|postać grana przez aktora (wszystko po "...")|przejście do nowej linii.

np.
Sean Penn ... Paul Rivers
Naomi Watts ... Cristina Peck

i tak, od pierwszego aktora do ostatniego, bo jak normalnie wyświetlę zawartość pola, to wyświetla wszystko jedno po drugim.

P.S. lista aktorów skopiowana z imdb jest nieco porozrzucana, tzn. występują rożne wielkości odstępów i przejścia do nowej linii, są czasami 2 czasami 1

Napisałem coś takiego, ale nie działa (wyświetla tylko ostatni wyraz)



  1. <?php
  2. //obsada
  3. $obsada=$wiersz["obsada"];
  4. if($obsada == NULL)
  5. {
  6. $obsada="";
  7. }
  8. else
  9. {
  10. $wysw_obsade = $wiersz["obsada"];
  11. $formatuj_obsade = explode(" ", $wysw_obsade);
  12. $tmpcount = count($formatuj_obsade);
  13. for ($i = 0; $i < $tmpcount; $i++) {
  14. $obsada="<b>OBSADA:</b><br>".$formatuj_obsade[$i]."<br><br>";
  15. echo "n";
  16. }
  17.  
  18.  
  19.  
  20. }
  21. ?>


Proszę o jakieś wskazówki.

Ten post edytował puz219 27.07.2007, 06:57:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
puz219
post
Post #2





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 1.07.2007

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


osobna tabela i potem przekazywanie danych na zasadzie relacyjności nie wchodzi w grę, bo ja robie tylko taki programik dla siebie i jak zrobię tak jak ty mówisz, to będę dodawał samych aktorów do 1 filmu z 30 min.

@lech twój sposób trochę mi pomógł i zmieniłem trochę zastosowanie explode, a mianowicie zamiast spacji dałem ....

  1. <?php
  2. //obsada
  3. $obsada=$wiersz["obsada"];
  4. if($obsada == NULL)
  5. {
  6. $obsada="";
  7. }
  8. else
  9. {
  10. $wysw_obsade = trim($obsada);
  11. $formatuj_obsade = explode("...", $wysw_obsade);
  12. $tmpcount = count($formatuj_obsade);
  13. for ($i = 0; $i < $tmpcount; $i++) {
  14. echo $formatuj_obsade[$i];
  15. echo "n";
  16. }
  17. ?>


i Teraz jak daję tak jak wyżej, to wyświetla mi aktorów, ale jeden za drugiem,

Sean Penn Paul Rivers Naomi Watts Cristina Peck Danny Huston Michael Carly Nahon Cathy Claire Pakis Laura Benicio Del Toro Jack Jordan Nick Nichols Boy Charlotte Gainsbourg Mary Rivers John Rubinstein Gynecologist Eddie Marsan Reverend John Loyd Keith Salter Fat Man Antef A. Harris Basketball Guy Melissa Leo Marianne Jordan Marc Musso Freddy (as Marc Thomas Musso) Teresa Delgado Gina Trent Dee Guard (as Terry Dee Draper) Tony Guyton Guard #2 Wayne E. Beech Jr. Inmate #1 Keith Lamont Johnson Inmate #2 Clea DuVall Claudia David Chattam Caddie #1 (as David Chattam Jr.) John Boyd West Caddie #2 Jeff Schmidt Caddie #3 Tony Vaughn Al Paul Calderon Brown Denis O'Hare Dr. Rothberg Anastasia Herin Dolores Carlo Alban Lucio Hai Quang Tran Cashier Annie Corley Trish Sharon Bishop Receptionist Jerry Chipman Cristina's Father Tom Irwin Dr. Jones Roberto Medina Dr. Molina Arita Trahan Dr. Badnews Rodney Ingle Barman Catherine Dent Ana Kevin Chapman Alan (as Kevin H. Chapman) Randall Hartzog Friend #1 Verda Davenport Friend #2 (as Verda Davenport-Booher) Dorothy Armstrong-Miles Female Friend #1 (as Dorothy Armstrong Miles) Barclay Roberts Male Friend #1 Lisa Sanchez Wife Stephen Bridgewater P.I. Michael Finnell Fat Prisoner Juan Corrigan Valet Charlie B. Brown Night Guard Arron Shiver Young Doctor Pamela Blair Doctor Jennifer Pfalzgraff Nurse Lew Temple County Sheriff

a jak dam tak,
  1. <?php
  2. //obsada
  3. $obsada=$wiersz["obsada"];
  4. if($obsada == NULL)
  5. {
  6. $obsada="";
  7. }
  8. else
  9. {
  10. $wysw_obsade = trim($obsada);
  11. $formatuj_obsade = explode("...", $wysw_obsade);
  12. $tmpcount = count($formatuj_obsade);
  13. for ($i = 0; $i < $tmpcount; $i++) {
  14. $obsada="<b>OBSADA:</b><br>".$formatuj_obsade[$i];
  15. echo "n";
  16. }
  17. ?>

to wyświetla mi tylko ostatnią wartość w bazie (postać grana przez aktora.)

A jak zrobić tak, żeby explode podzieliło tekst względem przejścia do nowej lini?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
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: 10.10.2025 - 10:15