Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Pobieranie danych z bazy do Kalendarza
Forum PHP.pl > Forum > Przedszkole
matys88
Witam,

mam problem z wyświetleniem poprawnie danych pobieranych z bazy danych.
Otóż stworzyłem kalendarz w php , stworzyłem bazę danych z datami i wydarzeniami i próbuję teraz
wyświetlić wydarzenia w kalendarzu, co mi jednak nie wychodzi.
Połączenie z baza danych mam, wyświetlając dane poza kalendarzem wyświetlają się bez zarzutu.
Na 100% mam gdzieś błąd, albo czegoś nie zrobiłem i nie mogę sobie z tym poradzić.
Oto kod:
  1.  
  2. $con = mysqli_connect("localhost","xxx","xxx","kalendarz");
  3. $r = mysqli_query($con,"SELECT * FROM moj ORDER BY data");
  4.  
  5. while($row = mysqli_fetch_assoc($r))
  6. {
  7. echo" ".$row['wydarzenie']." "
  8. .$row['data']."<br/>" ;
  9.  
  10.  
  11. }
  12.  

Tutaj wszystko działa, wyświetla mi poprawnie odpowiednie dane ale poza kalendarzem.
Teraz kod w gdzie generuje kalendarz i proboje wyswietlić wydarzenia:
  1.  
  2. for ($i=0; $i<($iloscDniMiesiaca+$dzienRozpoczynajacy); $i++) {
  3.  
  4. $c="#CECECE";
  5.  
  6. if(($todaydate==($i - $dzienRozpoczynajacy + 1))&&($todaymonth==$obecnyMiesiac)){
  7. $c="#ffff33";}
  8.  
  9.  
  10. if(($i % 7) == 0 ) echo "<tr>";
  11. if($i < $dzienRozpoczynajacy)
  12. { echo "<td >";
  13. echo" <b>".$row['wydarzenie']."<b> ";
  14. echo"</td>";
  15. }
  16.  
  17.  
  18.  
  19. else echo "<td align='left' bgcolor='$c' valign='top' >". ($i - $dzienRozpoczynajacy + 1) . "</td>";
  20.  
  21. if(($i % 7) == 6 ) echo "</tr>";
  22.  
  23. }
  24.  
  25.  
  26.  
  27.  


Z góry dziękuję za pomoc.
Pozdrawiam Matys
nospor
Yyyy..... ale jak drugi kod ma się do pierwszego??
matys88
Zmodyfikowałem trochę poprzedni kod i już wpisują mi się dane do kalendarza, ale jest error dotyczący konwersji tablicy do stringa.
Hmmm... zastanawiam się co robię źle. Prosze o pomoc, a oto kod:

  1.  
  2.  
  3. <table>
  4.  
  5. <tr>
  6. <?php for($i=1;$i<=7;$i++){ ?>
  7.  
  8. <th><?php echo $dni[$i]; ?></th>
  9.  
  10. <?php } ?>
  11. </tr>
  12. <?php
  13.  
  14. $con = mysqli_connect("localhost","root","mateusz88","kalendarz");
  15. $r = mysqli_query($con,"SELECT * FROM niestacjonarne ORDER BY data");
  16.  
  17. while($row = mysqli_fetch_array($r))
  18. {
  19. $event[$row['data']]['wydarzenie'] = $row['wydarzenie'];
  20. echo"$event";
  21.  
  22. }
  23.  
  24. $data = mktime(0,0,0,$obecnyMiesiac,1,$obecnyRok);
  25. $iloscDniMiesiaca = date("t",$data);
  26. $jakiMiesiac = getdate ($data);
  27. $dzienRozpoczynajacy = $jakiMiesiac['wday']-1;
  28. $thisDay = date("Y-m-d");
  29.  
  30.  
  31. for ($i=0; $i<($iloscDniMiesiaca+$dzienRozpoczynajacy); $i++) {
  32.  
  33. $c="#CECECE";
  34.  
  35. if(($todaydate==($i - $dzienRozpoczynajacy + 1))&&($todaymonth==$obecnyMiesiac)){
  36. $c="#ffff33";}
  37.  
  38.  
  39. if(($i % 7) == 0 ) echo "<tr>";
  40. if($i < $dzienRozpoczynajacy)
  41. { echo "<td >";
  42.  
  43. echo"</td>";
  44. }
  45.  
  46.  
  47.  
  48. else {
  49. echo "<td align='left' bgcolor='$c' valign='top' >". ($i - $dzienRozpoczynajacy + 1) . "";
  50.  
  51. if (isset($event[$thisDay]))
  52. {
  53. echo" .$event[$thisDay]['wydarzenie']. ";
  54. }
  55.  
  56.  
  57. echo"</td>";
  58. }
  59. if(($i % 7) == 6 ) echo "</tr>";
  60.  
  61. }
  62. ?>
  63. </td>
  64. </tr>
  65. </table>
  66.  
  67.  
nospor
echo"$event";
Wywal to....

A na przyszłość informuj łaskawie której linii dotyczy błąd...
matys88
to echo $event, dałem aby wyświetlić sobie czy wszystko poprawnie działa,
niestety wyświetla mi wtedy komunikat :Array to string conversion.
Jeśli usunę to echo $event to nic się nie dzieje i nic nie wyświetla, zero reakcji.
Myślałem ze stworzenie w miejscu dodawania kolejnej kratki z dniem miesiaca takiego kodu:
  1.  
  2. if (isset($event[$thisDay]))
  3. {
  4. echo" .$event[$thisDay]['wydarzenie']. ";
  5. }
  6.  


będzie mi sprawdzać, czy dana data jest w bazie , jesli tak to wypisze wydarzenie, a jeśli nie to nic nie robi i sprawdza kolejną datę.
Ale niestety nie wiem jak sobie z tym poradzić :/
Posio
A jak ty chcesz wyświetlić tą tablice echem ?
Jak chcesz to wyświetlić uzyj print_r();
matys88
Też nie działa tak, jak należy, jeszcze bardziej się sypie.
Po okrojeniu pętli while do :
  1.  
  2. while($row = mysqli_fetch_array($r))
  3. {
  4. print_r($row['wydarzenie']);
  5.  
  6. }
  7.  


wyswietla wszystkie wydarzenia w bazie, ale nad kalendarzem,
mi zależy aby te wydarzenia były wpisywane do kalendarza do kratki z odpowiednim dniem.
w bazie przechowuje date w formacie rok-miesiac-dzien .
nospor
W starym kodzie
nie:

if (isset($event[$thisDay]))

{

echo" .$event[$thisDay]['wydarzenie']. ";

}

a:
if (isset($event[$thisDay]))

{

echo $event[$thisDay]['wydarzenie'];

}


Skad wy bierzecie by zmienne/tablice wyświetlać w ciapkach?questionmark.gifquestionmark.gif? Uczą tego na jakiś kursach?
matys88
Z całym szacunkiem, ale tak też próbowałem,
nie ma żadnej reakcji , nic sie nie wyświetla, a gdy dam do pętli while
echo$event; to mam error : Array to string conversion,
natomiast jesli dam print_r($event) w petli while, to wyswietla mi nie 6 wydarzen ktore mam w bazie,
a chyba 6*10 kombinacji i też nie wpisuje do kalendarza tylko nad nim.

nie wiem już sam o co chodzi :/
nospor
Nie mowilem o petli WHILE tylko FOR.... już nawet nie potrafisz zlokalizowac swojego kodu, który ci cytuje??

edit down:
facepalmxd.gif
dobra, czas się zwijać z tego tematu.
matys88
Ehhhh ciężko zrozumieć, że wpisuję do tej pętli for zmienna i ze znaczkami i bez znaczków i printf i nic się nie dzieje questionmark.gif
A jak dodaje do petli while wyświetlenie to mi pokazuje błąd questionmark.gif Jak już na etapie while mam błąd to dalej już nic sie nie wykona.
Coś źle robię już na tamtym etapie, staram się jakoś podpowiedzieć, bo nie wiem jak to rozwiązać, dlatego modyfikuję tą pętle while ,żeby jakiś wynik dostać
a nie error.

edit up:
sciana.gif
szerokiej drogi 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.