Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System newsów z podziałem na kategorie
benzulli
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


Witam

Po długich podbojach "czyichś" systemów newsów postanowiłem zabrać się za napisanie swojego. Zrobiłem już system logowania, użytkowników dodaję z poziomu PHPmyAdmina, lecz mam problem ze stworzeniem systemu newsów z kategoriami. O ile zwykły nie sprawia problemów, bo wystarczy dodać tabelkę w bazie danych i kilka kolumn (id newsa, tytul, tresc, data i autor), to już z newsem z kategoriami jest inaczej. Chciałbym przykładowo dać dwie kategorie: Ogrodnictwo i Ziołolecznictwo. Mógłbym rozwiązać to tak, że dodałbym dwa osobne skrypty dodawania newsów, jeden kompatybilny z ogrodnictwem,a drugi z ziołolecznictwem, tylko, że w bazie danych musiały by się znajdować dwie osobne tabele: ogrodnictwo i ziołolecznictwo (tutaj bym dał takie same kolumny jak teraz są z newsami). Tylko problem mały by był, jeżeli chodzi o dodawanie na stronę główną, bo wtedy ciężko byłoby ustawić, żeby pojawiały się na górze newsy z najświeższą datą. Przejdźmy do sedna, mianowicie wizualny plan mam taki:
Wchodzę sobie w dodajnewsa.php i tam chciałbym, z tego poziomu po prostu wstawiać do danej kategorii (przykładowo rozwijana lista), np. news "Jak zrobić domową nalewkę" do ziołolecznictwa (oczywiście w tym samym menu byłoby dodawanie tytułu i treści - to już mam), a następny news np. będzie "Jak prawidłowo przyciąć czereśnię" i tutaj też napiszę bla bla bla w treści i tym razem wybiorę z listy ogrodnictwo. Chciałbym, aby to mi się pojawiało w porządku datowym w index.php oraz osobno newsy pojawiały się odpowiednio w ogrodnictwo.php i ziololecznictwo.php

Proszę o pomoc jak mógłbym to zrobić w miarę prosty sposób (jestem początkujący jeżeli chodzi o php).

Ten post edytował benzulli 15.07.2013, 13:36:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


  1. <?php
  2. if(isset($_POST['category']) AND isset($_POST['title']) AND isset($_POST['content']))
  3. {
  4. $category = (int)$_POST['category'];
  5. $title = mysql_real_escape_string($_POST['title']);
  6. $content = mysql_real_escape_string($_POST['content']);
  7.  
  8. $results = mysql_query("INSTERT INTO `newsy` VALUES ('','".$title."',now(),'','".$_SESSION['login']."','".$content."')");
  9.  
  10. if($results)
  11. {
  12. echo 'News został pomyślnie dodany.';
  13. }
  14. else
  15. {
  16. }
  17.  
  18. }
  19. ?>
  20. <form method="post">
  21. <select name="category">
  22. <?php
  23. $results = mysql_query("SELECT `id`, `tytul` FROM `kategorie`");
  24. while($category = mysql_fetch_array($results))
  25. {
  26. ?>
  27. <option value="<?php echo $category[0]; ?>">
  28. <?php echo $category[1]; ?>
  29. </option>
  30. <?php
  31. }
  32. ?>
  33. </select>
  34. Tytuł: <input type="text" name="title"><br/>
  35. Treść: <textarea name="content" rows="20" cols="50"></textarea><br/>
  36. <input type="submit" value="Dodaj"></form>
  37. </form>


Na początku sprawdzasz czy wszystkie dane z formularza zostały wysłane. Potem zabezpieczasz zmienne. Następnie dodajesz je do bazy danych (Nie wiem gdzie masz pole category_id, w tamtym miejscu dodaj zmienną $category która zawiera identyfikator kategorii.

Potem otwierasz formularz, a pętle z kategoriami dajesz dopiero w select!

W tabeli news musisz posiadać pole np. "category_id" i ono będzie zawierać identyfikator kategorii.
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: 10.10.2025 - 21:45