Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie konkretnego newsa
Forum PHP.pl > Forum > PHP
pomier
Witam serdecznie wszystkich, mam taki mały problem, piszę sobie taką prostą stronkę dla Szkoły Podstawowej i w większości jest to statyczna strona na zwykłych plikach php bez skomplikowanego kodu ale postanowiłem zrobić jedną podstronę "Aktualności" na bazie mysql wszystko działa tylko mam problem z implementacją tego w moją stronkę
http://www.ligowo.comyr.com/mysql/index.php
Jak wejdziemy w zakładkę aktualności http://www.ligowo.comyr.com/mysql/index.php?nr=aktualnosci to widzimy skrócone newsy a jak klikniemy na któryś to otwiera się całkiem oddzielnie.

Proszę o małą pomoc co z tym zrobić. Ogólnie strone index mam tak zbudowaną

Początek kodu:
  1. $add_site = true;
  2. ?>
  3.  
  4. i dalej coś takiego
  5. <?php
  6. $go = $_GET['go'];
  7. if(!empty($go)) {
  8. if(is_file("$go.php")) include "$go.php";
  9. else echo "<br />Nie ma takiej strony";
  10. }
  11. else include "newsy.php";
  12.  
webmaniak
Ogólnie rzecz biorąc to musisz zamiast aktualności, czyli stronę z aktualnymi newsami, wczytać w to miejsce stronkę z konkretnym newsem. Ja bym to zrobił za pomocą switch i $_GET. Na podstawie tego kodu co pokazałeś nie jestem w stanie lepiej Ci pomóc. Trzeba czekać aż ktoś mądry zobaczy i pomoże(ale poszukaj z tym co napisałem, sam robiłem u siebie newsy - z sukcesem końcowym) lub daj więcej kodu.
Daiquiri
Przecież możesz wykorzystać dwie zmienne index.php?nr=aktualnosci&id_newsa=12 i pobrać dane dla newsa o ID 12.
CuteOne
używaj bbcode..

każdy news, aktualność[czy jak by to nazwać] ma swoje unikalne ID w bazie danych. Teraz wyświetlając go do linku Więcej dodaj to ID:
  1. echo '<a href="http://www.ligowo.comyr.com/mysql/index.php?go=aktualnosci&news='.$id.'">Więcej</a>'; //id pobrane bazy


w skrypcie aktualnosci.php stwórz template dla wyświetlanych aktualności i wrzuć tam to:

  1. $id = mysql_real_escape_string($_GET['id']); // możesz też dodać jakąś funkcje sprawdzającą czy wpisane id to liczba
  2. $query = mysql_query("SELECT * FROM aktualnosci WHERE id = $id"); //nie wiem jakie masz tam tabele więc zmień sobie
  3.  
  4. if(mysql_num_rows($query)) {
  5. $row = mysql_fetch_array($query);
  6.  
  7. // tu wrzuć templata
  8. echo $row['news_title']; // oczywiście taka kolumna nie istnieje
  9. }
  10. else {
  11. echo "Brak newsa";
  12. }
pomier
Moj kod w stronie "aktualnosci.php" wygląda teraz tak
  1. <? // Skrypt wyświetla news o podanym w parametrze nr numerze, a jeżeli
  2. // go nie podano - wszystkie newsy.
  3.  
  4. mysql_connect ("localhost", "spligowo", "spligowo") or
  5. die ("Nie można połączyć się z MySQL");
  6. mysql_select_db ("spligowo") or
  7. die ("Nie można połączyć się z bazą cwphp");
  8. mysql_query('SET CHARACTER SET latin2');
  9. mysql_query('SET collation_connection = latin2_general_ci');
  10.  
  11. if ($_GET['nr']>0) { // wyświetlamy pojedynczego newsa
  12. $wynik = mysql_query ("SELECT * FROM news WHERE nr=".$_GET['nr']." AND ok=1;");
  13. if ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {
  14. print "<H2>".$rekord['tytul']."</H2><P>".$rekord['tresc']."</P>";
  15. print "<P><img src=".$rekord['galeria_out']."></P>";
  16. print "<P ALIGN=RIGHT><I>".$rekord['osoba'].", ".$rekord['data']."</I></P>";
  17. } else { // nie ma newsa o takim numerze
  18. print "Nie ma newsa o takim numerze\n";
  19. }
  20. print "<P><A HREF=\"index.php?nr=aktualnosci\">Wszystkie newsy >></A></P>";
  21. } else { // nie ma numeru -- wyświetlamy całą listę
  22. print "<H2>Newsy</H2>";
  23. $wynik = mysql_query ("SELECT * FROM news WHERE ok=1 ".
  24. "ORDER BY nr DESC;");
  25. while ($wynik && $rekord = mysql_fetch_array ($wynik)) {
  26. print "<P><B><A HREF=\"aktualnosci.php?nr=".$rekord['nr']."\">".$rekord['tytul'];
  27. print "</A></B><BR>".$rekord['tresc_krotka']."</P>";
  28. print "<P ALIGN=RIGHT><I>".$rekord['osoba'].", ".$rekord['data']."</I></P>";
  29. }
  30. }
  31.  
  32. ?>


A ten cod jest wstwiony w index.php i wszystkie podstrony sa wczytywane do indexu przez tą zmienną
  1. <?php
  2. $add_site = true;
  3. ?>
  4.  
  5. i dalej coś takiego
  6. <?php
  7. $go = $_GET['go'];
  8. if(!empty($go)) {
  9. if(is_file("$go.php")) include "$go.php";
  10. else echo "<br />Nie ma takiej strony";
  11. }
  12. else include "newsy.php";
  13.  
  14. ?>


Dzięki za pomoc za działało z tą drugą zmienną wszystko śmiga. Extra forum dzięki jeszcze raz za pomoc gdyż ja się dopiero bawię php i mysql.

To skorzystam z okazji i się zapytam jak zrobić bym mógł dodawać obrazki w bazie do newsów jeden lub kilka obrazków oraz dodawać zewnętrzne linki. Chodzi o to gdy odpale jakiegoś newsa to mam opis obraek jeden lub kilka oraz lik prowadzący powiedzmy "www.youtube.pl".

Z obrazkami rozkminiłem że podaje w bazie ścieżkę np. "images/01.jpg" i w kodzie dopisałem img src i działa ale może jest jakieś inne rozwiązanie?


Już poprawiłem stronkę z działającymi newsami tak to wygląda http://www.ligowo.comyr.com/mysql/index.php?go=aktualnosci Teraz tylko ustawie css i będzie gitara

Jeszcze mam jedno pytanie, czy mogę w kodzie php używać <div> </div> ? jeśli tak to jak to wpisywać by style css brały to pod uwagę bo jak wpisuje normalnie w miejsce <tr> lub <td> to nic nie działa.
CuteOne
tworzysz plik np. style.css lub wpisujesz bezpośrednio do pliku:
  1. <style>
  2. .styl_diva_z_class {
  3. width: 100px;
  4. height: 200px;
  5. }
  6.  
  7. #styl_diva_z_id {
  8. height:200px;
  9. width: 100px;
  10. }
  11. </style>
  12. <?php
  13. echo '<div class="styl_diva_z_class"> cos </div>';
  14. echo '<div id="styl_diva_z_id"> cos </div>';
  15. ?>

więcej o css i implementacji na google
Cysiaczek
@pomier - następnym razem nie nazywaj tematy w taki sposób jak to zrobiłeś, tylko nazwij go zgodnie z treścią problemu. Masz aż dwa pola, aby to uczynić. Jeśli zobaczę gdzieś jakiś głupi tytuł to z automatu zamknę taki wątek.
pomier
Poradziłem sobie ustawiając zmienne w PHP
$width = 'width=100';
$height = 'height=100';

a potem dopisałem do ścieszki i wszystko działa.
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-2025 Invision Power Services, Inc.