![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Postanowiłem że zrobię sobie skrypt gdzie bede umieszczał artykuły. Wymagań dużych nie mam, chodzi o to żeby nie tworzyć pliku HTML dla każdego artykułu a po prostu pobierać je z bazy danych.
I tak przykładowo w bazie mam 3 artykuły: ![]() Artykuły działają z takich adresów: name.php?name=balls name.php?name=furniture name.php?name=test Skrypt:
I teraz najlepsze, działa tylko i wyłącznie wywołanie pierwsze czyli: name.php?name=balls, przy reszcie wyskakuje "We don't have this article. You have wrote propably wrong website adress." Dam jeszcze plik .htaccess który może mieć wpływ na to dziwne zachowanie.
Wie ktoś dlaczego działa wywołanie tylko pierwszego artykułu ? Jak już nie mam pojęcia co jest nie tak ![]() -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 6.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj użyć while zamiast if.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
po co dwa razy pobierasz te same dane? mówię o:
wystarczy samo $articles..
Ten post edytował CuteOne 10.01.2011, 09:44:37 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Z while wogole nie dziala.
@CuteOne Kiedy zrobie Twoim sposobem i skrypt wyglada tak :
W princie pokazuje tylko pierwsze litery wartości. Czyli z linku balls jako $name[article] pokaze tylko"b" o co chodzi ? czemu nie pojawiaja sie wartosci z bazy? -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
a powiedz mi skąd ty bierzesz to $name[article]
![]() Po drugie używaj apostrofów w indeksach - $name['article'] Po trzecie lepszym wyjściem jest używanie echo zamiast print Ten post edytował CuteOne 10.01.2011, 17:51:13 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Zmieniłem i poprawiłem wszystko co mówiłeś, ale zamiast wyświetlać artykuł teraz nic się nie dzieje. Pojawia się po prostu biała pusta strona.
Nawet jeżeli wpisze się name=qweqwre czyli coś czego nie ma w bazie to już nie wyświetla informacji że nie ma takiego artykułu tylko pojawia się ta pusta strona. Kod wygląda tak:
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Żeby było jasne, piszę o wersji kodu z pierwszego posta. Pochrzaniłeś wszystko jeśli chodzi o wybieranie rekordu z bazy. Najpierw wybierasz potrzebny rekord a potem chcesz jeszcze wybrać wszystkie rekordy i sprawdzić czy ten pierwszy znajduje się w zbiorze z tego drugiego zapytania ? Już nie mówiąc o tym, że wybieranie wszystkich rekordów robisz źle. Zapytanie jest dobre, ale aby mieć wszystkie rekordy w tablicy musisz wykonać funkcje mysql_fetch_array() podając jej jako parametr to co zwróci mysql_query() a to wszystko w pętli, aż mysql_fetch_array() wyciągnie ze źródła mysql wszystkie wybrane wiersze i wrzuci je do tablicy.
Imo w zupełności wystarczy tak:
Ten post edytował krowal 10.01.2011, 22:22:53 -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 06:38 |