Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][SQL][PHP]Pętla WHILE
xardes
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.03.2011

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


Witam wszystkich jestem nowy na tym forum, mam nadzieję że nie pomyliłem działów. Pisze małą stronkę a konkretnie system wyświetlania newsów. Mam taki kod:
  1. <?php
  2. $sql = "SELECT wydarzenia.*, uzytkownicy.login, uzytkownicy.id FROM wydarzenia, uzytkownicy
  3. WHERE wydarzenia.id_uzytkownika = uzytkownicy.id
  4. ORDER BY wydarzenia.id;";
  5.  
  6. $result = mysql_query($sql);
  7. $row = mysql_fetch_assoc($result); //umiesc w tablicy row
  8.  
  9.  
  10. while($row1 = mysql_fetch_assoc($result)){
  11.  
  12. if(empty($row1['adres_miniaturki'])) { $row1['adres_miniaturki'] = "miniaturki/brak_foto.jpg";}
  13.  
  14. echo '<p><div class="sk_news"><div class="miniaturka"><img src="' . $row1['adres_miniaturki'] . '" alt="' . $row1['tytul'] . '" title="' . $row1['tytul'] . '"></div>';
  15.  
  16. echo '<div class="tytul">'. $row1['tytul'] . '</div>';
  17.  
  18. echo '<div class="data">Data Wydarzenia: ' . $row1['data_wydarzenia'] . '</div>';
  19.  
  20. echo '<div class="miejsce">Miejsce wydarzenia: ' .$row1['miejsce'] . '</div>';
  21.  
  22. echo '<div class="dodane">Dodane: ' .$row1['data_dodania']. ' Przez: '. $row1['login'] . ' <a href="wyswietlanie_wpisu?id=' . $row1['id'] . '" title="Czytaj więcej">wiecej...</a></div></div></p>';
  23. }

I zawsze wyświetla mi wszystkie newsy które są w bazie danych - 1.
Jak temu zaradzić?
(od razu mówię że przeszukałem trochę w internecie i nie znalazłem odpowiedzi)

Ten post edytował xardes 10.03.2011, 22:03:59
Go to the top of the page
+Quote Post
patryczakowy
post
Post #2





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

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


Sprawdź co znajduje się w bazie danych założę się że ten jeden news nie spełnia warunku WHERE po za tym lepiej chyba będziesz jak przerobisz to zapytanie na
"LEFT JOIN"
Go to the top of the page
+Quote Post
xardes
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.03.2011

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


Bazę danych sprawdzałem z 8 razy wszystko jest dobrze a potwierdza to fakt że jak wklepuje w phpMyadmin to zapytanie które mam z kodzie wyświetlone zostaje tyle rekordów ile trzeba. Co do LEFT JOIN też próbowałem ale działa tak samo jak w przypadku mojego zapytania czyli wyświetle zawsze jeden rekord mniej. Dla potwierdzenia zamieszczam zrzut bazy danych:
CODE
  1. -- phpMyAdmin SQL Dump
  2. -- version 3.2.4
  3. -- <a href="http://www.phpmyadmin.net" target="_blank">http://www.phpmyadmin.net</a>
  4. --
  5. -- Host: localhost
  6. -- Czas wygenerowania: 11 Mar 2011, 15:27
  7. -- Wersja serwera: 5.1.41
  8. -- Wersja PHP: 5.3.1
  9.  
  10. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  11.  
  12.  
  13. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  14. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  15. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  16. /*!40101 SET NAMES utf8 */;
  17.  
  18. --
  19. -- Baza danych: `obecnikowe`
  20. --
  21.  
  22. -- --------------------------------------------------------
  23.  
  24. --
  25. -- Struktura tabeli dla `k_gosci`
  26. --
  27.  
  28. CREATE TABLE IF NOT EXISTS `k_gosci` (
  29. `id` smallint(6) NOT NULL AUTO_INCREMENT,
  30. `data_wpisu` date NOT NULL,
  31. `nick` varchar(25) NOT NULL,
  32. `wpis` text NOT NULL,
  33. PRIMARY KEY (`id`)
  34. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
  35.  
  36. --
  37. -- Zrzut danych tabeli `k_gosci`
  38. --
  39.  
  40.  
  41. -- --------------------------------------------------------
  42.  
  43. --
  44. -- Struktura tabeli dla `uzytkownicy`
  45. --
  46.  
  47. CREATE TABLE IF NOT EXISTS `uzytkownicy` (
  48. `id` smallint(6) NOT NULL AUTO_INCREMENT,
  49. `login` varchar(25) NOT NULL,
  50. `haslo` varchar(30) NOT NULL,
  51. `imie` varchar(30) NOT NULL,
  52. `nazwisko` varchar(40) NOT NULL,
  53. `data_ur` date NOT NULL,
  54. `mail` varchar(30) NOT NULL,
  55. `gadu` varchar(15) NOT NULL,
  56. `kom` varchar(15) NOT NULL,
  57. `skype` varchar(30) NOT NULL,
  58. `sciezka_avatara` varchar(200) NOT NULL,
  59. `poziom_d` smallint(6) NOT NULL,
  60. PRIMARY KEY (`id`)
  61. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
  62.  
  63. --
  64. -- Zrzut danych tabeli `uzytkownicy`
  65. --
  66.  
  67. INSERT INTO `uzytkownicy` (`id`, `login`, `haslo`, `imie`, `nazwisko`, `data_ur`, `mail`, `gadu`, `kom`, `skype`, `sciezka_avatara`, `poziom_d`) VALUES
  68. (1, 'xardes', 'kokokokoko', 'John', 'Kowalski', '1994-07-07', 'xardes@interia.eu', '957845', '645786259', '', 'avatary/xardes.jpg', 3),
  69. (2, 'bunia', 'bunia2', 'Basia', 'Nowak', '1988-03-09', '', '', '', '', '', 2);
  70.  
  71. -- --------------------------------------------------------
  72.  
  73. --
  74. -- Struktura tabeli dla `wydarzenia`
  75. --
  76.  
  77. CREATE TABLE IF NOT EXISTS `wydarzenia` (
  78. `id` smallint(6) NOT NULL AUTO_INCREMENT,
  79. `id_uzytkownika` smallint(6) NOT NULL,
  80. `widocznosc` int(11) NOT NULL,
  81. `miejsce` varchar(30) NOT NULL,
  82. `wpis` text NOT NULL,
  83. `data_wydarzenia` date NOT NULL,
  84. `data_dodania` datetime NOT NULL,
  85. `tytul` varchar(70) NOT NULL,
  86. `adres_miniaturki` varchar(200) NOT NULL,
  87. PRIMARY KEY (`id`)
  88. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
  89.  
  90. --
  91. -- Zrzut danych tabeli `wydarzenia`
  92. --
  93.  
  94. INSERT INTO `wydarzenia` (`id`, `id_uzytkownika`, `widocznosc`, `miejsce`, `wpis`, `data_wydarzenia`, `data_dodania`, `tytul`, `adres_miniaturki`) VALUES
  95. (8, 1, 1, 'asdasdasd', 'sadasdf', '2011-03-05', '2011-03-11 21:10:21', 'sdad', ''),
  96. (9, 1, 1, 'ads', 'adsasd', '2011-03-16', '2011-03-16 21:10:10', 'das', '');
  97.  
  98. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  99. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  100. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


Proszę o pomoc i odpowiedź dlaczego tak się dzieję. Mi wydaję się że jest błąd albo w funkcji while albo błąd z zapytaniami mysql.
Go to the top of the page
+Quote Post
Noidea
post
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

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


Ten twój zagubiony news siedzi w zmiennej $row (7 linijka skryptu). Nigdzie go nie wyświetlasz, więc go na stronie nie widać.
Go to the top of the page
+Quote Post
xardes
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.03.2011

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


Dokładnie tak (IMG:style_emoticons/default/smile.gif)
Po prostu... 6h szukałem błędu. Przepraszam za moją głupotę, Temat do zamknięcia i dziękuję bardzo za pomoc.
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: 23.08.2025 - 02:11