![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 21.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Czemu ten skrypt nie działa ?
Zamiast id=1 i id=2 mam podstawione $row['id']; ____________________________________________
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
W instrukcji for($i=0; $i<$row=mysql_fetch_assoc($sql); $i++) porównujesz jabłka i krowy. Serio.
$i jest zmienną całkowitą, zmienna $row to jest wiersz w tablicy bazy danych przekazany jako tablica. Porównujesz tablicę (array) z liczbą całkowitą. Poczytaj (na sieci - tutoriali jest mnóstwo) o tym, co i w jakiej formie zwraca mysql_fetch_assoc, jesli nie będziesz wiedział, wypluj sobie to na ekran (pomocne funkcje: print_r, var_dump) i zobaczysz, o co kaman. To nawet nie przedszkole - to elementarz. P.S. skrypt php warto zaczynać od "<?php" - "<?" to skrócona postać, nie wszędzie obsługiwana. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 21.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
abort
to działa bez zarzutu pobiera wszystkie zmienne jak while. a dokładnie chodzi mi o to że nie pokazuje mi : index.php?id=1 // index.php?id=2 a dokładnie zawartości tego. to co napisałeś nie jest do końca prawdą. ale nie będę się sprzeczał. Jak chcesz to zobacz : http://www.piszemystrony.pl/1/forum/ Jbc. TEST i TESTT są rekordami z bazy danych Ten post edytował sonquer 25.08.2012, 01:14:57 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Z tego co widzę, w switchu przy każdym case odczytujesz z bazy do PHP całą tabelę po to, by znaleźć jeden wiersz. Zmień zapytanie do bazy na przykład na
Jest wydajniej - w sumie po co obrabiać w PHP, skoro po coś wymyślono bazy danych? Poza tym, masz mnóstwo błędów składni PHP - aż cud, że kod działa. Włącz sobie wyświetlanie tych błędów, np. dopisz na początku pliku: Jeśli już się uczysz pisać, to niech to będzie poprawne składniowo - jak się uczyć, to porządnie. Oprócz rzeczy, o których wcześniej wspomniałem, warto zqauwazyć: 1. if($row['dzial'] == pp) - co to jest to pp? Na zmienną mi nie wygląda (zmienne zaczynamy od "$"), na ciąg znaków też nie - te "owijamy" w apostrofy lub cudzysłowy 2. echo '<a href="index.php?id='.$row[id].'">'.$row['temat'].'</a>'; -- masz $row[id] i $row['temat'] - ciutke konsekwencji pliz A co do Twojego pytania i problemu: a jak wygląda baza, co w niej masz? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 21.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
if($row['dzial'] == pp)
: Jeżeli dzial jest równy pp pokaż zawartość. tak wygląda db :
Ten post edytował sonquer 25.08.2012, 01:31:34 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Już pisałem. Taka konstrukcja powoduje, że PHP nie wie, czy porównujesz do zmiennej, czy do ciagu znaków. W związku z tym nie pisz:
bo PHP nie wie, jak to zinterpretować. Pomóż mu i zastosuj jedną z dwóch możliwości:
Poza tym dodaj sobie na początku kodu I pousuwaj wszelkie błędy, które Ci się wyświetlą. Ten post edytował abort 26.08.2012, 22:23:41 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 08:45 |