Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Problem z wypisywaniem rekordów
renault12
post
Post #1





Grupa: Zarejestrowani
Postów: 147
Pomógł: 0
Dołączył: 9.01.2010

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


Witam

Mam następujacy problem.

Robie maly terminarz opierajacy sie na mysql i php, problem jest w tym iz chcialbym aby odpowiadajacemu dniu ktory posiada zmienna stworzona w petli porownywalo z dniem ktory jest wpisany w baze mysql, lecz nie wyswietla sie w ogole, o to wizualny wyglad Klik , chodzi mi o to ze w bazie mam pole 'wydarzenie', 'dzien', 'miesiac' i w kazdym stworzonym kwadraciku na stronie porownywalo liczbe ktora robi te kwadraciki i przypisywalo mu wydarzenie, mysle ze ktos zrozumial ten chaotyczny opis.

Oto kod php :
  1. <?
  2. $ii = 0;
  3. $today = date("m");
  4. $dbname = 'xxxxxxxxxx';
  5. $link = mysql_connect("xxxxxxxxxxx","xxxxxxxxxx","xxxxxxxxxxx") or die("Couldn't make connection.");
  6. mysql_query("SET NAMES 'utf8'");
  7. $db = mysql_select_db($dbname, $link) or die("Couldn't select database");
  8. $zapytanie = mysql_query("SELECT * FROM terminarz") or die("Błąd");
  9. if ($_GET['start'] == "2") { /// porownywanie miesiaca
  10. while ($ii < 31) { // porownywanie czy jest odpowiednia liczba kwadracikow
  11. $ii++;
  12. ?> <div style='border-left-style: dotted; border-bottom-style: dotted; border-right-style: dotted; border-top-style: dotted; border-left-width: 1px; border-bottom-width: 1px; border-right-width: 1px; border-top-width: 1px; float:left' class='styl' id='klatka'><? echo $ii; ?><br />
  13. <?
  14. if(mysql_num_rows($zapytanie) > 0) {
  15. while($lu = mysql_fetch_assoc($zapytanie)) {
  16. if ($ii == $lu['dzien']) {
  17. echo $lu['wydarzenie'];
  18. }
  19. }
  20. }
  21. ?>
  22. </div>


Na moje oko jest wszystko dobrze ale okazuje sie ze tak nie jest ; d. Jesli sprobuje ominac ten warunek
if ($ii == $lu['dzien']) {
echo $lu['wydarzenie'];
}
i wpisze normalnie echo $lu['wydarzenie'] czy tam $lu['dzien'] to normalnie wszystko wyswietla sie w pierwszym kwadraciku, no ale rozchodzi sie o to by do kazdego dopisywalo sie poprawne wydarzenie.

Proszę o pomoc

Ten post edytował renault12 6.02.2010, 14:38:32
Go to the top of the page
+Quote Post
DiH
post
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 34
Dołączył: 7.01.2010

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


Na początek proponuję sprawdzić co tak naprawdę jest tu problemem. Czy $ii i $lu['dzien'] nigdy nie są równe, czy jest to co innego. Np. wypisz $ii oraz $lu['dzien'] przy każdym okrążeniu pętli.

Natomiast można by to zrobić trochę inaczej, a mianowicie stworzyć precyzyjne zapytanie dla tego, co tak naprawdę chcesz otrzymać.
  1. $q = mysql_query("SELECT dzien,wydarzenie FROM terminarz WHERE dzien = '".$ii."' ") or die("Błąd")
  2. if(mysql_num_rows($zapytanie) > 0) {
  3. $row = mysql_fetch_row($q);
  4. echo $row[1];
  5. }


Jeżeli i to nie podziała możesz spróbować zmienić typ porównywanych zmiennych, ot dla pewności. Tutaj więcej informacji: http://php.net/manual/en/language.types.type-juggling.php

Pozdrawiam
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 18:19