Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: prosty skrypt i blad, gdzie ???
Forum PHP.pl > Forum > Gotowe rozwiązania
mikemat
mam prosbe mam problem, chce zrobic skrypt ktory bedzie mi pokazywal wszystkie kategorie i pod strony w danej kategorii,

dane sa pobierane z 2 tabel:

Kod
tabela_pages

pola:

pid; cid; title; subtitle; active; page_header; text; page_footer; signature; date; counter

Kod
tabela_pages_categories



pola:

cid; title; description


tabele pochodza z php-nuka
napisalem kod, ktory dziala, ale - pokazuje cos takiego:

kategoria 1
k1 - strona 3
kategoria 2
k2 - strona 2
kategoria 2
k2 - strona 3
kategoria 3
k3 - strona 1
kategoria 3
k3 - strona 3

a powinno byc :

kategoria 1
k1 - strona 3

kategoria 2
k2 - strona 2
k2 - strona 3

kategoria 3
k3 - strona 1
k3 - strona 3

podaje tutaj kod, ktory wyrzezbilem i prosze o pomoc

[php:1:879e74727d]
global $dbi;

$result = sql_query("select pid, cid, title FROM tabela_pages WHERE active='1'", $dbi);
while (list($pid, $cid, $title) = sql_fetch_row($result, $dbi)) {

$res = sql_query("select title from ". tabela_pages_categories where cid='$cid'", $dbi);
list ($cat_title) = sql_fetch_row($res, $dbi);

$title2 = "<a href="link_do_kategorii"><b>$cat_title</b></a> <a href="link_do_konkretnej_strony">$title</a><br>";

echo "$title2";
} [/php:1:879e74727d]

dzieki z gory za pomoc smile.gif

czy o takie uzycie BBCode chodzi ?
___
[scanner]: Kod php prosże zamieszczać wewnatrz znacznika php a nie CODE
Fo
badz tak uprzejmy i skorzystaj jeszcze z BBCODE bo nam twoj wyrzezbiony kod wypala oczy :!:
mikemat
dzieki adminie za pomoc w BBcodowaniu winksmiley.jpg


Panowie i Panie prosze o pomoc, dla Was to zapewne zaden problem poprawic taki skrypt, podejrzewam, ze wystarczy dopisac 1 linijke.

z gory dziekuje tongue.gif
scanner
Pisane na szybko. Czy Ty masz własne funkcje obsługi SQL'a? Jesli tak,. to pamiętaj, że ja użyłem w przykładzie funkcji defaultowych[php:1:7cbc929d3b]<?php
global $dbi;

$result = mysql_query("SELECT pid, cid, title FROM tabela_pages WHERE active='1'");
while ($row = mysql_fetch_assoc($result))
{
$res = mysql_query("SELECT title FROM tabela_pages_categories WHERE cid='".$row['cid']."'");
while($row2 = mysql_fetch_assoc($res))
{
echo '<a href="link_do_kategorii"><b>'.$row['title'].'</b></a> <a href="link_do_konkretnej_strony">'.$row2['title'].'</a><br>';
}
}
?>[/php:1:7cbc929d3b]
mikemat
dzieki za odpowiedz, ale wynik wyswietlanie jest dokladnie taki jak moj (no z wyjatkiem, ze odwrotnej kolejnosci sa strony i kategorie - zamienione miejscami)

wyswietla tak:
Kod
kategoria 1

k1 - strona 3

kategoria 2

k2 - strona 2

kategoria 2

k2 - strona 3

kategoria 3

k3 - strona 1

kategoria 3

k3 - strona 3



a powinno byc tak:
Kod
kategoria 1

k1 - strona 3



kategoria 2

k2 - strona 2

k2 - strona 3



kategoria 3

k3 - strona 1

k3 - strona 3



czyli tak jak jest teraz jest zle:
1 kategoria - 1 strona w tej kategorii

powinno byc:
1 kategoria - wszystkie strony z tej kategorii pod napisem 1 kategoria
2 kategoria - wszystkie strony z 2 kategorii pod ......

reasumujac smile.gif

ma wyswietlacz kategorie (tabela_pages-categories) i pod nia dodane do niej strony (tabela_pages)

szkoda, ze nie mozna tu dodawac plikow, bo dodalbym zrzut tych tabel
scanner
Teraz?
[php:1:738ab13ed1]<?php
global $dbi;

$result = mysql_query("SELECT pid, cid, title FROM tabela_pages WHERE active='1'");
while ($row = mysql_fetch_assoc($result))
{
$res = mysql_query("SELECT title FROM tabela_pages_categories WHERE cid='".$row['cid']."'");
echo '<a href="link_do_kategorii"><b>'.$row['title'].'</b></a><br>';
while($row2 = mysql_fetch_assoc($res))
{
echo '- <a href="link_do_konkretnej_strony">'.$row2['title'].'</a><br>';
}
}
?[/php:1:738ab13ed1]

Zrzut tabel możesz podać jako SQL - tylkjo pamiętaj o znacznikach.
mikemat
musialem zmienic odwrotnie zapytania i dziala smile.gif

wielkie dzieki, ponizej podaje prawidlowy, dzialajacy kod:

[php:1:3d503fb37e]<?php
global $dbi;


$result = mysql_query("SELECT cid, title FROM tabela_pages_categories");
while ($row = mysql_fetch_assoc($result))
{
$res = mysql_query("SELECT cid, pid, title FROM tabela_pages WHERE
cid='".$row['cid']."'");
echo '<a href="link_do_kategorii"><b>'.$row['title'].'</b></a><br>';
while($row2 = mysql_fetch_assoc($res))
{
echo '- <a href="link_do_konkretnej_strony">'.$row2['title'].'</a><br>';

}
}
?>
[/php:1:3d503fb37e]

dzieki jeszcze raz winksmiley.jpg


a tak off-topic: sa dziwne freezy forum jak sie korzysta z IE - z Opera nie ma zadnych problemow - no poza tym ze zle obsluguje bbcode sad.gif
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-2024 Invision Power Services, Inc.