Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie danych według rekordu
darophp
post 2.03.2010, 16:13:10
Post #1





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

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


Tabela:



  1. if ($id<>"") {
  2. $wynik = mysql_query("SELECT * FROM realizacje WHERE kategoria='strony' ORDER BY id=$id and data<=NOW()");
  3. if (mysql_num_rows($wynik)==1) {
  4. $dane = mysql_fetch_array($wynik);
  5. echo "<img src=\"/portfolio/img/{$dane["img"]}.png\" style=\"margin-bottom: 10px;\"/>";
  6. echo "<p style=\"text-align: center;\"><a href=\"{$dane["adres"]}\" class=\"zobaczprojekt\"> </a></p>";
  7. echo "<h3>Klient: </h3><span>{$dane["klient"]}</span><br/>";
  8. echo "<h3>Czas realizacji: </h3><span>{$dane["czas"]}</span><br/>";
  9. echo "<h3>Zakres prac: </h3><span>{$dane["praca"]}</span><br/>";
  10. echo "<h3>Technologia: </h3><span>{$dane["technologia"]}</span><br/>";
  11. echo "<p>{$dane["opis"]}</p>";
  12. } else echo "<p>Brak informacji spełniających kryteria.</p>";
  13. }


Mam pytanie, czy jest tu coś źle. Może się nie wyspałem ?


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post
blooregard
post 2.03.2010, 16:14:26
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  1. ORDER BY id=$id

Nie wyspałeś się.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
darophp
post 2.03.2010, 16:21:26
Post #3





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

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


Wyskakuje dalej:

Brak informacji spełniających kryteria.


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post
MateuszS
post 2.03.2010, 16:27:11
Post #4





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


chodzi o to że nie dajesz ORDER BY id=$id tylko samo ORDER BY id


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
darophp
post 2.03.2010, 16:42:19
Post #5





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

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


mad.gif Chyba się parser na mnie uwziął mad.gif co_jest.gif

I z id=?id i bez tego tak samo mi łaczy ... w skrypcie aktualnosci, który juz zrobiłem - działa, tylko jest trochę innaczej. Tu znowu podzieliłem na kategorie ... i nie działa


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post
blooregard
post 2.03.2010, 16:42:32
Post #6


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




to:
  1. WHERE kategoria='strony' ORDER BY id=$id AND data<=NOW()"

powinno wyglądać tak:
  1. WHERE kategoria='strony' AND data<=NOW() ORDER BY id"


Teraz parser działa ? winksmiley.jpg

//edit
Cytat
I z id=?id i bez tego tak samo mi łaczy

Nie ma czegoś takiego w SQL jak ORDER BY [nazwa_kolumny] = [wartosc].
Jest samo ORDER BY [nazwa_kolumny].

Polecam lekturę:
http://dev.mysql.com/doc/refman/5.0/en/select.html

Ten post edytował blooregard 2.03.2010, 16:50:47


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
darophp
post 2.03.2010, 16:49:13
Post #7





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

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


Już nie wiem sad.gif
W .htaccess mam

  1. RewriteRule ^portfolio/strony/([a-zA-Z0-9-]+)$ portfolio/strony/strony.php?id=$1


no ale to i tak powinno działać sadsmiley02.gif bo pewnastronka.pl/portfolio/strony/strony.php?id=4 działa tak samo tzn. te wyskakuje "brak informacji ..."


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post
blooregard
post 2.03.2010, 16:54:05
Post #8


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  1. if (mysql_num_rows($wynik)==1) {

A ile wyników zwraca Ci to zapytanie?
Bo jak więcej niż jeden (a z printscreen'a tej tabeli wygląda, że więcej) no to za cholerę Ci nic nie wyświetli (ja widzę co najmniej 2 rekordy, które wyciągnie zapytanie:
  1. "SELECT * FROM realizacje WHERE kategoria='strony' and data<=NOW() ORDER BY id"


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
darophp
post 2.03.2010, 16:59:18
Post #9





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

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


No chociaż tyle - udało się, dopisałem LIMIT 1, ale jest problem, bo wyświetla id=4 a id=6 nie, gdy wpiszę ręcznie. Tak wgl. to fajnie jak by pisało ze jak ktoś wpisze z klawiatury .../portfolio/strony/2 to wyświetli mu "nie ma takiej strony" lub np. ten "brak spelniajacych kryteria..."

Ten post edytował darophp 2.03.2010, 17:00:32


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:48