Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Wyciągnięcie danych z bazy
lucca
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 7.03.2008

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


Mam wielki problem, ale od początku.

Mam tabelkę, w bazie. Do niej dodaję sobie poszczególne koncerty z tras koncertowych. Zachciało mi się, aby po najechaniu na link, w hoverze wyskakiwał dymek, który wyświetli wszystkie koncerty z danego dnia.

Kod odpowiedzialny za to:
  1. <?php
  2. foreach ($this->links as $val) {
  3. $id = $val['id'];
  4. $type = $val['type'];
  5. $day = $val['day'];
  6. $month = $val['month'];
  7. $year = $val['year'];
  8. $band = $val['band'];
  9. $name = $val['name'];
  10. $title = $val['title'];
  11. $desc = $val['desc'];
  12. $venue = $val['venue'];
  13. $city = $val['city'];
  14. $country = $val['country'];
  15. if (($val['day'] == $cellValue) && (($val['month'] == $this->month) || ($val['month'] == '*')) && (($val['year'] == $this->year) || ($val['year'] == '*'))) {
  16. $cell = '<a href="calendar.php?display=event&date='.$year.''.$month.''.$day.'" onmouseover="return overlib(''.$val['band'].' - '.$val['venue'].'');" onmouseout="return nd();">'.$cellValue.'</a>';
  17. ?>


Problem w tym, że hover pokazuje mi dane tylko dla tego określonego linku. To znaczy, jeśli jest w danym dniu więcej koncertów, to on mi pokazuje tylko ostatni wpis z tego dnia.

Można to jakoś rozwiązać? Przez ten upał już zupełnie zgłupialem (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Pzdr
Go to the top of the page
+Quote Post
webasek
post
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


Wyciągasz tylko jedną daną z tego co widzę powinno być raczej coś takiego:

  1. <?php
  2. $i=1;
  3. $chmurka=" onmouseover="return overlib(&#092;''";
  4. $adres = "";
  5. $wpiswadres="";
  6. while ($val = mysql_fetch_array($wynik_zapytania))
  7. {
  8. foreach ($this->links as $val) {
  9. $id = $val['id'];
  10. $type = $val['type'];
  11. $day = $val['day'];
  12. $month = $val['month'];
  13. $year = $val['year'];
  14. $band = $val['band'];
  15. $name = $val['name'];
  16. $title = $val['title'];
  17. $desc = $val['desc'];
  18. $venue = $val['venue'];
  19. $city = $val['city'];
  20. $country = $val['country'];
  21. if (($val['day'] == $cellValue) && (($val['month'] == $this->month) || ($val['month'] == '*')) && (($val['year'] == $this->year) ||
  22. ($val['year'] == '*'))) {
  23.  if ($i==1)
  24.  {
  25.  $adres = "calendar.php?display=event&date='.$year.''.$month.''.$day;
  26.  $wpiswadres = $cellValue;
  27.  
  28.  }
  29.  chmurka.=$val['band'].' - '.$val['venue'];
  30.  }
  31. }
  32. chmurka.="&#092;")";
  33. $cell = '<a href='".$adres."' ".$chmurka." onmouseout="return nd();">'.$wpiswadres.'</a>';
  34. ?>


Jesli nie pomyliłem nawiasów to będzie działać
Go to the top of the page
+Quote Post
lucca
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 7.03.2008

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


@webasek: Coś jakieś dziwne błędy zwraca:D

Ale mi chodzi raczej o konstruktywną podpowiedź, żeby zrozumieć co robię źle i zapamiętac na przyszłość.
Go to the top of the page
+Quote Post
webasek
post
Post #4





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


Wiec pewnie pomyliłem gdzieś cudzysłowy (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Otóż źle robisz prostą rzecz: z bazy danych wyciągasz wszystkie wiersze jednak nie wszystkie wyświetlasz na stronie tylko ostatni albo raczej pierwszy wyciągnięty z bazy poczytaj na http://pl2.php.net/mysql_fetch_array ewntulanie przeszukaj google po coś polskiego. Musisz wypisać wszystkie do tego służy

  1. <?php
  2. while ($row = mysql_fetch_array($result))
  3. {
  4.  tutaj polecenia dla każde
  5. }
  6. ?>
Go to the top of the page
+Quote Post
lucca
post
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 7.03.2008

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


Tp teraz już rozumiem!

Zaraz będe kobminował, jak będę miał jakiś problem, to odezwę się:)

+1

Chyba jednak potrzebuję więcej pomocy niż mi się wydaje:(
Go to the top of the page
+Quote Post
webasek
post
Post #6





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


Mozesz napisać jakie błędy zwraca ten mój poprzedni kod? To go poprawie tak żeby działał
Go to the top of the page
+Quote Post
lucca
post
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 7.03.2008

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


Hejka.

Ojj, dzięki wielkie. Coś za długo nad tym siedzę:(

Zwraca taki błąd
  1. <?php
  2. Parse error: syntax error, unexpected T_RETURN in /home/pedro/www/test/quick_calendar.php on line 272
  3. ?>


Na pewno w tym miejscu jest bład z cudzysłowami
  1. <?php
  2. ;
  3. $chmurka=" onmouseover="return overlib(&#092;''";
  4. ?>


W tym fragmencie brakuje $ przed chmurka.
  1. <?php
  2. chmurka.=$val['band'].' - '.$val['venue'];
  3.  }
  4. }
  5. chmurka.="\")";
  6. ?>


Dzięki za pomoc!
Go to the top of the page
+Quote Post
webasek
post
Post #8





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


  1. <?php
  2. $chmurka=' onmouseover="return overlib(';
  3. ?>


to byłyby cudzysłowy jeszcze jak możesz to pokaż co wyrzuci chmurka po tej pętli być może tam coś jeszcze jest nie tak?
Go to the top of the page
+Quote Post
lucca
post
Post #9





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 7.03.2008

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


Kod ma teraz postać:
  1. <?php
  2. $i=1;
  3. $chmurka=' onmouseover="return overlib(';
  4. $adres = "";
  5. $wpiswadres="";
  6. $q = mysql_query("select * from calendar");
  7. while ($val = mysql_fetch_array($q))
  8. {
  9. foreach ($this->links as $val) {
  10. $id = $val['id'];
  11. $type = $val['type'];
  12. $day = $val['day'];
  13. $month = $val['month'];
  14. $year = $val['year'];
  15. $band = $val['band'];
  16. $name = $val['name'];
  17. $title = $val['title'];
  18. $desc = $val['desc'];
  19. $venue = $val['venue'];
  20. $city = $val['city'];
  21. $country = $val['country'];
  22. if (($val['day'] == $cellValue) && (($val['month'] == $this->month) || ($val['month'] == '*')) && (($val['year'] == $this->year) ||
  23. ($val['year'] == '*'))) {
  24.  if ($i==1)
  25.  {
  26.  $adres = "calendar.php?display=event&date='.$year.''.$month.''.$day";
  27.  $wpiswadres = $cellValue;
  28.  
  29.  }
  30.  $chmurka.=''.$val['band'].' - '.$val['venue'].'';
  31.  }
  32. }
  33. $chmurka.="'";
  34. $cell = '<a href="'.$adres.' '.$chmurka.' onmouseout="return nd();">'.$wpiswadres.'</a>';
  35. break;
  36.  
  37. }
  38. }
  39. ?>


Zwraca błąd :
  1. <?php
  2. [b]Parse error[/b]: syntax error, unexpected '}' in [b]/home/pedro/www/test/quick_calendar.php[/b] on line [b]321[/b]
  3. ?>


Już zgłupiałem

Fakt, już wiem gdzie problem.

Lecz gdy z fragmentu
  1. <?php
  2. }
  3. }
  4. ?>

usunę jedną klamrę, to strona ładuje się cały czas
Go to the top of the page
+Quote Post
webasek
post
Post #10





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


W tym miejscu jest błąd:

  1. <?php
  2. $chmurka.="'";
  3. ?>


Powinno być

  1. <?php
  2. $chmurka.=")'";
  3. ?>
Go to the top of the page
+Quote Post
Lonas
post
Post #11





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Po co sobie utrudniać - o wiele prościej to można zrobić przy pomocy jquery
Go to the top of the page
+Quote Post
lucca
post
Post #12





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 7.03.2008

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


@webasek: Dzięki wielkie za pomoc. Ale chyba dam sobie z tym spokój. Po prostu szkoda czasu, a zrobić tego poprawnie nie potrafię:(

@lonas: Dzięki za linka.

@webasek: Zastrzelisz mnie. Dopiero teraz sprawdziłem. Na początku kodu zapytanie do bazy to:
  1. <?php
  2. $sql = "SELECT * FROM calendar WHERE (month='$m' AND year='$y') || (month='*' AND year='$y') || (month='$m' AND year='*') || (month='*' AND year='*')";
  3.  
  4. $rs = mysql_query($sql);
  5. $links = array(); 
  6. while ($rw = mysql_fetch_array($rs)) {
  7. extract($rw);
  8. $links[] = array('day'=>$day, 'band'=>$band, 'month'=>$month, 'year'=>$year, 'link'=>$link, 'desc'=>$desc);
  9. }
  10. ?>


Może teraz jakieś sugestie? Bo to jest tak. Mam kalendarz. W momencie kiedy jest jakiś event o określonej dacie, wywala tego linka. I ja na tym linku chcę zrobić taki hover.
Go to the top of the page
+Quote Post

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: 25.08.2025 - 14:40