Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] newsy + ładne urale
Forum PHP.pl > Forum > Przedszkole
matyskiewicz
Witam przeglądając wortal php.pl natknołem się na dość ciekawy artykuł jakim jest Przyjazne URLe (http://wortal.php.pl/wortal/artykuly/pomysly_porady_sugestie_dobre_nawyki/przyjazne_urle) i pragne wykorzystać go zachaczając o system newsów jaki już mam:
  1. <?php
  2. polacz();
  3. $wynik = mysql_query ("SELECT * FROM news WHERE ok=1 ".
  4. "ORDER BY news DESC LIMIT 0,4");
  5. if ($_GET['news']>0) {
  6. $wynik = mysql_query ("SELECT * FROM news WHERE news=".$_GET['news']." AND ok=1;");
  7. if ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {
  8. print "<H2>".$rekord['tytul']."</H2><P>".$rekord['tresc']."</P>";
  9. print "<P ALIGN=RIGHT><I>".$rekord['osoba'].", ".$rekord['data']."</I></P>";
  10. } else {
  11. print "Wybnany przez Ciebie news nieistnieje.n";
  12. }
  13. }
  14. while ($wynik && $rekord = mysql_fetch_array ($wynik)) {
  15.  print '<P><B><a href="'.append_sid('index.'.$phpEx.'?news='.$rekord['news']).'">';
  16.  print $rekord['tytul']."</A></B><BR>".$rekord['tresc_krotka']."</P>";
  17.  print "<P ALIGN=RIGHT><I>".$rekord['data']."</I></P>n";
  18. }
  19. ?>

Chciałbym go wzbogacic o kategorie newsów, które bym zapisywał jako numer id a wyświetlałoby się to tak:
domena.pl/wiadomosci,1(id dzialu),23(id newsa)

Prosiłbym o pomoc w przerobieniu, jak również o wskazówki które by pomogły mi to zrobić.
wipo
Cytat(matyskiewicz @ 6.10.2006, 18:09:29 ) *
Witam przeglądając wortal php.pl natknołem się na dość ciekawy artykuł jakim jest Przyjazne URLe (http://wortal.php.pl/wortal/artykuly/pomysly_porady_sugestie_dobre_nawyki/przyjazne_urle) i pragne wykorzystać go zachaczając o system newsów jaki już mam:
  1. <?php
  2. polacz();
  3. $wynik = mysql_query ("SELECT * FROM news WHERE ok=1 ".
  4. "ORDER BY news DESC LIMIT 0,4");
  5. if ($_GET['news']>0) {
  6. $wynik = mysql_query ("SELECT * FROM news WHERE news=".$_GET['news']." AND ok=1;");
  7. if ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {
  8. print "<H2>".$rekord['tytul']."</H2><P>".$rekord['tresc']."</P>";
  9. print "<P ALIGN=RIGHT><I>".$rekord['osoba'].", ".$rekord['data']."</I></P>";
  10. } else {
  11. print "Wybnany przez Ciebie news nieistnieje.n";
  12. }
  13. }
  14. while ($wynik && $rekord = mysql_fetch_array ($wynik)) {
  15.  print '<P><B><a href="'.append_sid('index.'.$phpEx.'?news='.$rekord['news']).'">';
  16.  print $rekord['tytul']."</A></B><BR>".$rekord['tresc_krotka']."</P>";
  17.  print "<P ALIGN=RIGHT><I>".$rekord['data']."</I></P>n";
  18. }
  19. ?>

Chciałbym go wzbogacic o kategorie newsów, które bym zapisywał jako numer id a wyświetlałoby się to tak:
domena.pl/wiadomosci,1(id dzialu),23(id newsa)

Prosiłbym o pomoc w przerobieniu, jak również o wskazówki które by pomogły mi to zrobić.

W przykładzie nie widzę kategorii więc opisze na podstawie tego co jest
Kod
     print '<P><B><a href="'.append_sid('wiadomosci,'.$rekord['news']).'.html">';
     print $rekord['tytul']."</A></B><BR>".$rekord['tresc_krotka']."</P>";

Wstaw też plik .htaccess
RewriteEngine on
RewriteRule wiadomosci,([0-9]+).html index.php?news=$1

I to tyle
matyskiewicz
no niestety coś nie działa. obecnie mi się wyswietla index.php?wiadomosci=2.html a chciałbym zeby z adresu zniknął index.php? a znak = był zamieniony ,
wipo
Kod
print '<P><B><a href="wiadomosci,'.$rekord['news']).'.html">';
     print $rekord['tytul']."</A></B><BR>".$rekord['tresc_krotka']."</P>";

A teraz
matyskiewicz
serwer widzi to jako inny plik
wipo
Cytat(matyskiewicz @ 6.10.2006, 22:32:22 ) *
serwer widzi to jako inny plik

print '<P><B><a href="wiadomosci,'.$rekord['news'].'.html">';
print $rekord['tytul']."</A></B><BR>".$rekord['tresc_krotka']."</P>";
Po czymś takiem index.php nie może wystąpić
Linki powinny się pojawić w formacie wiadomosci,x.html gdzie x-liczba

A mod_rewrite włączyłeś
erix
Cytat
Kod
RewriteEngine onRewriteRule wiadomosci,([0-9]+).html index.php?news=$1


Kod
RewriteEngine On
RewriteBase / #przykladowe
RewriteRule ^wiadomosci,([0-9]+).html$ index.php?news=$1

pisane z palca
matyskiewicz
Cytat(wipo @ 6.10.2006, 22:36:54 ) *
A mod_rewrite włączyłeś

questionmark.gif?
erix nie wiem co do mnie piszesz
sad.gif
Po trzecie zmienilem

  1. <?php
  2. polacz();
  3. $wynik = mysql_query ("SELECT * FROM wiadomosci WHERE aktywacja=1 ".
  4. "ORDER BY nr DESC LIMIT 0,4");
  5. if ($_GET['wiadomosci']>0) {
  6. $wynik = mysql_query ("SELECT * FROM wiadomosci WHERE wiadomosci=".$_GET['wiadomosci']." AND aktywacja=1;");
  7. if ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {
  8. print "<H2>".$rekord['tytul']."</H2><P>".$rekord['tresc']."</P>";
  9. print "<P ALIGN=RIGHT><I>".$rekord['osoba'].", ".$rekord['data']."</I></P>";
  10. } else {
  11. print "Wybnany przez Ciebie news nieistnieje.n";
  12. }
  13. }
  14.  
  15.  while ($wynik && $rekord = mysql_fetch_array ($wynik)) {
  16.  print "<a href="wiadomosci,".$rekord['nr'].".html">";
  17.  print $rekord['tytul']."</A></B><BR>".$rekord['krotka']."</P>";
  18.  print "<P ALIGN=RIGHT><I>".$rekord['data']."</I></P>n";
  19.  }
  20. ?>

I teraz wyswietla mi sie lista wiadomosci, ale nie wyswietla mi sie pojedynczy.

  1. Pełny tekst nr dzial DATA tytul krotka dluga osoba aktywacja
  2. Edytuj Usuń 1 1 0000-00-00 00:00:00 AS AS TO las lasjhasdkjdbaksb bfjkahsfk hadskfhjkl ads f 123jkhasd 1
  3. Edytuj Usuń 2 0 0000-00-00 00:00:00 dfgdfg adfgadfgdafgertyeydfagdafg eutyet thj fnhgfn vxnvbnxvn vbn vb b nbcxxcb bn nb... xn


Mysle ze ty powinnismy zmienic na

  1. <?php
  2. RewriteEngine On
  3. RewriteBase / #przykladowe
  4. RewriteRule ^wiadomosci,([0-9]+).html$ index.php?wiadomosci=$1
  5. ?>


albo nawet wywalic index.php?

Bo to co kolega napisał wywalił mi serwer [500] Internal Server Error : Wewnętrzny błąd serwera

W momencie kiedy zastapilismy = przecinkiem strona dodaje w pasku adresu wiadomosci,2.html ale nie robi nic
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.