Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z wypisywaniem rekordów
Forum PHP.pl > Forum > Przedszkole
renault12
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
DiH
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
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.