Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tekst w zalezności od daty
Forum PHP.pl > Forum > PHP
dudziec
Witam serdecznei, szukam szukam i wyszukac nie moge. Otórz potrzebuje skrypt w php, który na podstawie daty wyswietli tekst + mala ikonka gif . Np 1 stycznie wyswietli tekst i obok tego np obrazek z butelka szampana:-)
Z góry THX No oczywiscie takich warunków jest duzo:-) a na pomiedzy 1 stycznia i 7 stycznia ma być to samo co 1 stycznia. Taki skrypt który mógłbym sobie zmieniać
crash
Możesz to zrobić ma przykład tak:
  1. <?php
  2. $dni = array('01-01' => 'sylwek',
  3.  '02-01' => 'sylwek',
  4.  ...
  5.  '01-04' => 'prima',
  6.  ...
  7.  );
  8.  
  9. $grafika = !empty($dni[date('d-m')]) ? $dni[date('d-m')] : 'domyslna';
  10.  
  11. echo '<img src=\"'.$grafika.'.gif\"/>';
  12. ?>
hwao
a jezeli chcesz zakresy to time" title="Zobacz w manualu PHP" target="_manual()
Tylko to juz zalezy na czym to zrobisz czy bazie danych czy plikach czy prostej tablicy.
dudziec
Głównie to potrzebuje 3 rozwiązania
1. chodzi o to , że wartości były by pobierane z bazy danych
2. wartości pobierane byłyby z tablic lub pliku tekstowego

No chciałbym widzieć pełen kod abym mógł po skopiowaniu zobaczyć jego działanie :-), no i by pobierał tez 3 wartosci obok tego:

1. cytat dnia
2. porada dnia
3. liczba dnia


Pozdrawiam
nospor
Cytat
No chciałbym widzieć pełen kod abym mógł po skopiowaniu zobaczyć jego działanie :-)
Zaj...ste są takie teksy. Jak chcesz zoabczyć jego dzialanie to se go napisz. Na forum udziela się wskazówek i porad a nie gotowych skryptów.

baza. zakaldam ze masz pol date_od date_to
  1. <?php
  2.  
  3. $today=date('Y-m-d');//dzisiaj
  4. $sql=&#092;"select * from tabela where date_od>=$today and date_to<=$today\";
  5.  
  6. ?>
To zapytanei zrwóci ci dane potrzevbne dla danego zakresu

Jesli chodzi o plik. To wpliku np. masz strukurte:
date_od;date_to;naps;obrazek

teraz powasz się funcjją file() oraz explode.
pozdro

ps. wrazie pytan wal śmialo, ale wal z problemem a nie z prośbą o caly gotowy skrypt. No chyba ze dasz to do dzialu praca oferowana
dudziec
Chciałbym by obok pojawiającej sie ikony pojawiał sie napis ? Wiecie jak tam go umiescić , czy musze skopiowac cały kod i przetworzyc na napisy ?
wtedy bedzie 2 razy wiecej tego sad.gif

  1. <?php
  2. $dni = array('01-01' => 'sylwek',
  3.  '02-01' => 'sylwek',
  4.  ...
  5.  '01-04' => 'prima',
  6.  ...
  7.  );
  8.  
  9. $grafika = !empty($dni[date('d-m')]) ? $dni[date('d-m')] : 'domyslna';
  10.  
  11. echo '<img src=\"'.$grafika.'.gif\"/>';
  12. ?>
nospor
nie empty,a isset.

  1. <?php
  2.  
  3. $dni = array('01-01' => array('sylwek','text'),
  4.  '02-01' => array('sylwek','text'),
  5.  '04-06' => array('prima','iunny text'),
  6.  );
  7.  
  8. if (isset($dni[date('d-m')]))
  9. {
  10. $grafika=$dni[date('d-m')][0];
  11. $text=$dni[date('d-m')][1];
  12. }
  13. else
  14. {
  15. $grafika='domyslna';
  16. $text='domyslny';
  17. }
  18.  
  19. ?>
dudziec
No teraz to mi nic niepokazuje :/ puste tło bez niczego sad.gif, a tamten coś pokazywał , czemu questionmark.gif?
nospor
a to dziwne bo mi zwraca oprawne wartości.
Amożesz poakzać caly skrypt, wlącznie ztym co napisalem i ztym jak wyswietlaszz?

edit: jesli twoj skrypt zawiera tylkjo to co napisalem to nic dziwnego ze nic nie wyswietla. Ja ci tylko podstawilem pod zmienne to co chcesz, a tym misisz je tera ywkorzystac. czyli np
  1. <?php
  2.  
  3. echo '<img src=\"'.$grafika.'.gif\"/>'.$text;
  4.  
  5. ?>
dudziec
Ok dzieki poradzielm sobie :-)

  1. <?php
  2.  
  3. $dni = array('01-01' => array('sylwek','text'),
  4.  '02-01' => array('sylwek','text'),
  5.  '04-06' => array('prima','iunny text'),
  6.  );
  7.  
  8. if (isset($dni[date('d-m')]))
  9. {
  10. $grafika=$dni[date('d-m')][0];
  11. $text=$dni[date('d-m')][1];
  12. }
  13. else
  14. {
  15. $grafika='domyslna';
  16. $text='domyslny';
  17. }
  18. echo '<img src=\"'.$grafika.'.gif\"/>'; 
  19. echo &#092;"$text\";
  20. ?>

a jakbym chcial więcej tekstu to wystarczy dodac do tablicy wartości czyli:

  1. <?php
  2. array('sylwek','text','tekst2'),
  3. ?>


dodałbym

$text1=$dni[date('d-m')][2];

$text1='domyslny1';

czyli całość by wyglądała :

  1. <?php
  2.  
  3. $dni = array('01-01' => array('sylwek','text','tekst2'),
  4.  '02-01' => array('sylwek','text','tekst2'),
  5.  '04-06' => array('prima','iunny text', 'inny tekst2'),
  6.  );
  7.  
  8. if (isset($dni[date('d-m')]))
  9. {
  10. $grafika=$dni[date('d-m')][0];
  11. $text=$dni[date('d-m')][1];
  12. $text2=$dni[date('d-m')][2];
  13. }
  14. else
  15. {
  16. $grafika='domyslna';
  17. $text='domyslny';
  18. $text2='domyslny2';
  19. }
  20. echo '<img src=\"'.$grafika.'.gif\"/>';
  21. echo &#092;"$text \"; 
  22. echo &#092;"$text2 \";
  23. ?>
nospor
no widzisz, jak chcesz to potrafisz winksmiley.jpg
gdyby jakiś przedial zawireal parę tygosni, to może warto by się zastanowic nad trzymaniem w tablicy przedzialów, a nie każdego dnia.
dudziec
Hmm fajnie by było,
Zeby były przedziały czasowe tongue.gif, Moze jakaś wskazówka tongue.gif
Pozdro
nospor
  1. <?php
  2. $przedzialy = array(
  3. array('m_od'=>1,'m_do'=>1,'d_od'=>1,'d_do'=>7,'obraz'=>'sylwek obraz','text'=>'sylwek text'),//pierwszy przedzial
  4. array('m_od'=>5,'m_do'=>8,'d_od'=>1,'d_do'=>30,'obraz'=>'letni obraz','text'=>'lato'),//drugi przedzial
  5. array('m_od'=>1,'m_do'=>12,'d_od'=>1,'d_do'=>31,'obraz'=>'domyslny obraz','text'=>'domyslny text'),//drugi przedzial
  6. );
  7. $day=date('d');$month=date('m');
  8. foreach ($przedzialy as $przedzial)
  9. {
  10. if ($month>=$przedzial['m_od'] && $month<=$przedzial['m_do'] &&
  11. $day>=$przedzial['d_od'] && $day<=$przedzial['d_do'])
  12. {
  13. $obraz=$przedzial['obraz'];
  14. $text=$przedzial['text'];
  15. break;
  16. }
  17. }
  18. echo $obraz.' '.$text;
  19.  
  20. ?>
dudziec
Ok wszystko dzaiałą, jak coś jeszce wymysle to dam zanć :-) narazie masz wilkiego plusa u mnie :-)
rolleyes.gif
pozdrówka:-)


  1. <?php
  2. $przedzialy = array(
  3. array('m_od'=>1,'m_do'=>1,'d_od'=>1,'d_do'=>7,'obraz'=>'sylwek obraz','text'=>'sylwek text'),//pierwszy przedzial
  4. array('m_od'=>5,'m_do'=>8,'d_od'=>1,'d_do'=>30,'obraz'=>'letni obraz','text'=>'lato'),//drugi przedzial
  5. array('m_od'=>1,'m_do'=>12,'d_od'=>1,'d_do'=>31,'obraz'=>'domyslny obraz','text'=>'domyslny text'),//drugi przedzial
  6. );
  7. $day=date('d');$month=date('m');
  8. foreach ($przedzialy as $przedzial)
  9. {
  10. if ($month>=$przedzial['m_od'] && $month<=$przedzial['m_do'] &&
  11. $day>=$przedzial['d_od'] && $day<=$przedzial['d_do'])
  12. {
  13. $obraz=$przedzial['obraz'];
  14. $text=$przedzial['text'];
  15. break;
  16. }
  17. }
  18. echo $obraz.' '.$text;
  19.  
  20. ?>


A jak mozna byłoby wykorzystac pliki tekstowe i aby on te zawartości czytał z pliku tekstowego, jak powinien wygladac ten plik z ta zawartościa czy to by wygladało:



1,1,1,7,tresc rysunek
1,1-miesiac od miesiac do
1,7 - dzień od dzień do
tresc - to tresc
obrazek to nazwa rysunku

no to jak by wygladało wyciągnięcie z tego pliku tych danych?
  1. <?php
  2. $tablica_danycyh=file(dane_w_pliku.txt);
  3. ?>

no al eco dalej??powiem szczerze niewiem jakby to wszytko wygladało :-( jak miałby wygladac plik txt i skrypt wyciagajacy dane :-(
nospor
  1. <?php
  2.  
  3. $przedzialy=array();
  4. $file=file('dane_w_pliku.txt');
  5. foreach ($file as $linijka)
  6. {
  7. $przedzialy[]=explode(',',$linijka);
  8. }
  9. $day=date('d');$month=date('m');
  10. foreach ($przedzialy as $przedzial)
  11. {
  12. if ($month>=$przedzial['0'] && $month<=$przedzial['1'] &&
  13. $day>=$przedzial['2'] && $day<=$przedzial['3'])
  14. {
  15. $obraz=trim($przedzial['5']);
  16. $text=$przedzial['4'];
  17. break;
  18. }
  19. }
  20. echo $obraz.' '.$text;
  21.  
  22. ?>

plik txt:
Cytat
1,1,1,7,tresc,rysunek
5,6,1,10,czerwiec,rysunekczerwiwc
1,12,1,31,domysly,domyslny

każda dana oddzielona przecinkiem (,) pamietaj aby w tresci nie bylo przecinka, bo bedzie bulba.
zrobilem $obraz=trim($przedzial['5']);, gdyż to co będzie na koncu, w tym przypadku obrazek, to bedzei zawieralo enter na koncu i w przypadku obrazu to zaszkodzi. Zrobilem więc trim, aby ten enter usunąć.

pozdro
dudziec
Ok - działa super:-) działa bez zarzutów . No a jakby te dane zapisać w Bazie MySQl

powiedzmy tabela by wyglądała nastepująco:)

TABELA : przedzialy

odmiesiaca-----domiesiaca------oddnia--------dodnia-------tekst------nazwaobrazka


jakby wygladał skrypt pobierajacy te dane i wyswietlajacy?
Hmm powoli zaczynam kumać ten cudowny język programowania:) biggrin.gif
nospor
No więc skoro zaczynasz kumac ten wspanialy język, to ci podam tylko (aż) opis.

Tworzysz pola w tabeli jakie ci potrzeba.
Dajesz zapytanie aby pobral te pola, wykonujesz funkcję mysql_query, potem jesli ok w pętli wywołujesz mysql_fetch_array. Ona zwróci ci kolejne rekordy z bazy. Ty z tych rekordów masz zrobić już tylko żądaną tablicę.

Tak więc miłej zabawy. W razie pytan wal śmiało.

Nie mogę ci znowu podać gotowego skryptu bo... bo to źle wpływa na rozwój wyobraźni tongue.gif

pozdro
dudziec
A zapomniałem odpisac smile.gif


Powiem szcezrze ze te forum jest pomocne smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.