Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie forum, Tworzę forum od zera proszę o pomoc...
Prezi2907
post
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----


Proszę o pomoc przy tworzeniu forum...
Jest taka sytuacja...

Posiadam system logowania i rejestracji...

Wiem jak maja wyglądać tabele w bazie i jakie maja mieć relacje:
f_users [id][login][password]
f_topic{idt][topic][id_owner] id_owner=f_users.id
f_post[idp][id_topic][id_owner][post] id_topic=f_topic.idt ; id_owner=users.id;


Teraz tak...
jeżeli ktoś się zaloguje normalna sprawa że tworzy się jego nazwa i hasło... to jest pikuś.
Teraz zakładając temat jego ID z sesji spisuje się do INSERT gdzie ładowane jest temat i owner
Później przy zakładaniu tematu automatycznie wychodzi mu POST (wiadomo pierwszy) z numerem ID tematu oraz właściciela postu.
Teraz najgorsze. Jak zrobić aby menu tematów zwiększało się o nazwę a później w linku przenosił GET ID tematu i ID ownera aby było wiadomo później kto dany temat napisał...
Później z postami już nie ma problemu.
Od razu zaznaczam że to nie musi być w żaden sposób zabezpieczone ponieważ chodzi mi tu w głównej mierze o załapanie całej tej sekwencji ruchu...

Czyli podsumowując:
1. Dodanie do menu z tematami każdego tematu (mysql_fetch_array to załatwi ale nie do końca
2. Przesłanie ID tematu gdzie po załadowaniu pokażą się posty tylko z tego tematu, nazwa tematu i nazwa użytkowników (to trzecie już dam rade sam zrobić ale gdyby dało radę za jednym dmuchnięciem (IMG:style_emoticons/default/smile.gif) )
3. I jeżeli ktoś chce usunąć temat to aby usunęło go i w raz z nim żeby poleciały wszystkie POSTY które były dla niego utworzone w bazie MySQL...

Proszę o szybką pomoc...

Pozdrawiam...

I nie jestem żadnym profesjonalistą w PHP, uczę się dopiero...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mephistofeles
post
Post #2





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


1. Menu z tematami? Nie prościej pobierać po prostu tematy z jakiejś kategorii?
2. Zwykły select z joinami, from tematy join uzytkownicy
3. Ustaw cascade przy onDelete, a posty się same skasują.

Poza tym zajrzyj do gotowych skryptów, choćby phpBB, wiem, że to skomplikowane, ale pewne rzeczy można nawet po samej strukturze bazy załapać.
Go to the top of the page
+Quote Post
Prezi2907
post
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----


Cytat(Mephistofeles @ 5.12.2010, 20:27:08 ) *
1. Menu z tematami? Nie prościej pobierać po prostu tematy z jakiejś kategorii?
2. Zwykły select z joinami, from tematy join uzytkownicy
3. Ustaw cascade przy onDelete, a posty się same skasują.

Poza tym zajrzyj do gotowych skryptów, choćby phpBB, wiem, że to skomplikowane, ale pewne rzeczy można nawet po samej strukturze bazy załapać.


1. Wiesz to ma być na zasadzie wyświetlającej się listy tematów... Nie tak jak tu że jakieś podkategorie itd... tylko temat do wątku i nic więcej...
2. Czyli ominąć relacje całkowicie i polecieć w selectach...
3. Dzięki bardzo.

Mam dodatkowe pytanie. Robię skrypt który ma mi z każdym tematem tworzyć tabelę w bazie gdzie będą przechowywane posty...
Na razie bez userów itd...
Tworzenie bazy danych... (zmienna post jest brana z formularza wcześniej w którym piszę tylko nazwę tematu i pierwszy post...)
  1. <?php
  2. mysql_connect("localhost","db_user","db_password") or die ("Nie dla Ciebie te informacje :)");
  3. mysql_select_db("db_name") or die ("Nie można połączyć się z bazą danych");
  4.  
  5. $sql1="create table if not exists t_".$_POST['topic']."(
  6.  
  7. id int(11) NOT NULL auto_increment,
  8.  
  9. post text(3000) NOT NULL,
  10.  
  11. PRIMARY KEY (id))";
  12.  
  13. echo('Temat został poprawnie założony...')
  14. ?>


Teraz tak :
1. Zmienna post po przesłaniu pisze mi tylko pierwszy wyraz... Jak to obskoczyć a jeżeli będzie dodawać mi np "_" to jak odwrócić ten proces gdy będę chciał odczytać nazwę tematu (w tym przypadku nazwę tabeli (IMG:style_emoticons/default/smile.gif) )... - wiecie zapewne że jak będzie topic ="dwa wyrazy" - to będzie się wszystko sypać...
Jak widać wszystkie tabele z tematami do forum zaczynają się z przedrostkiem t_ (nie przeszkadza to w działaniu skryptu).
Proszę o pomoc...

Cytat(Prezi2907 @ 6.12.2010, 00:27:08 ) *
1. Wiesz to ma być na zasadzie wyświetlającej się listy tematów... Nie tak jak tu że jakieś podkategorie itd... tylko temat do wątku i nic więcej...
2. Czyli ominąć relacje całkowicie i polecieć w selectach...
3. Dzięki bardzo.

Mam dodatkowe pytanie. Robię skrypt który ma mi z każdym tematem tworzyć tabelę w bazie gdzie będą przechowywane posty...
Na razie bez userów itd...
Tworzenie bazy danych... (zmienna post jest brana z formularza wcześniej w którym piszę tylko nazwę tematu i pierwszy post...)
  1. <?php
  2. mysql_connect("localhost","db_user","db_password") or die ("Nie dla Ciebie te informacje :)");
  3. mysql_select_db("db_name") or die ("Nie można połączyć się z bazą danych");
  4.  
  5. $sql1="create table if not exists t_".$_POST['topic']."(
  6.  
  7. id int(11) NOT NULL auto_increment,
  8.  
  9. post text(3000) NOT NULL,
  10.  
  11. PRIMARY KEY (id))";
  12.  
  13. echo('Temat został poprawnie założony...')
  14. ?>


Teraz tak :
1. Zmienna post po przesłaniu pisze mi tylko pierwszy wyraz... Jak to obskoczyć a jeżeli będzie dodawać mi np "_" to jak odwrócić ten proces gdy będę chciał odczytać nazwę tematu (w tym przypadku nazwę tabeli (IMG:style_emoticons/default/smile.gif) )... - wiecie zapewne że jak będzie topic ="dwa wyrazy" - to będzie się wszystko sypać...
Jak widać wszystkie tabele z tematami do forum zaczynają się z przedrostkiem t_ (nie przeszkadza to w działaniu skryptu).
Proszę o pomoc...

Problem rozwiązany (IMG:style_emoticons/default/smile.gif) Poszukałem w manualach o trim() i fajne żeczy wyczytałem przy okazji (IMG:style_emoticons/default/smile.gif)

  1. <?php
  2. mysql_connect("localhost","db_user","db_password") or die ("Nie dla Ciebie te informacje :)");
  3. mysql_select_db("db_name") or die ("Nie można połączyć się z bazą danych");
  4.  
  5. $sql1="create table if not exists t_".str_replace(' ','_',$_POST['topic'] "(
  6.  
  7. id int(11) NOT NULL auto_increment,
  8.  
  9. post text(3000) NOT NULL,
  10.  
  11. PRIMARY KEY (id))";
  12.  
  13. echo('Temat został poprawnie założony...')
  14. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 12:33