Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Jak wydobyć z bazy adres w stylu plik.php?art=1&str=3, ...inne są nazwy kolumn w bazie...
roobik
post
Post #1





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Witam!
Od razu przejdę do rzeczy.
W bazie mam kolumny (m.in)
id - wiadomo
nr_art - numer arta
page - numer strony
title - tytuł
txt - treść arta
oprócz tego jesty jeszcze podwójny licznik, autor, data...

Założenia są takie, by w adresie uzyskać :
z nr_art - > art
z page - > str

czyli adres miałby wyglądać tak:
Cytat
www.jakas_stronka.pl/plik.php?art=1&str=3

?

Bardzo proszę o pomoc.... Walczę z tytm od dłuższego czasu... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

[+] edit
Pamiętaj o zasadach panujących na Przedszkolu. W temacie brakowało Ci
taga [php] - poprawiłem ponieważ pojawiła się odpowiedź na Twoje
pytanie. Na przyszłość sam o tym pamiętaj ; )
---
~strife
Go to the top of the page
+Quote Post
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


nie rozumiem w czym problem
pobierasz zmienne
  1. <?
  2. $id_artykulu = $_GET['art'];
  3. $strona = $_GET['str'];
  4. // robisz zapytanie z tego uwzglednieniem :/
  5. ?>
Go to the top of the page
+Quote Post
kossa
post
Post #3





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


$res=mysql_query("select nr_art, page from tabela");
while($row=mysql_fetch_array($res))
{
echo "<a href=\"www.jakas_stronka.pl/plik.php?art=".$row[0]."&str=".$row[1]."\">link do artykulu nr ".$row[0]."</a><br/>";
}

to wyświetli Tobie linki (jeden pod drugim) w takiej formie jak chcesz, możesz teraz rozbudowywać dowolnie zapytanie sql, np. dodać warunek where nr_wrt=...

Łukasz
Go to the top of the page
+Quote Post
roobik
post
Post #4





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


  1. <?php
  2. $zapytanie = "SELECT * FROM $tabela_tbl where page=$page AND art_nr=$art_nr";
  3. $wykonaj = mysql_query($zapytanie) or die(mysql_error()) ;
  4. while($id = mysql_fetch_array($wykonaj))
  5. ?>

Ma właśnie tak.... i wklepując adres strony [/b]...?art=1&str=3[/b] pojawia się strona nazwijmy ją główną, czyli www.cos_tam/plik.php
chodzi mi również o zapytanie....

//EDIT ...
(pisałem... a tu pojawiła się odpowiedź ... więc edytuję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Cytat(kossa)
to wyświetli Tobie linki (jeden pod drugim)

właśnie nie chce, by wyświetlało linki...

Już piszę o co chodzi.
Osoba niezalogowana wchodzi na stronkę
www.cos_tam/plik.php
tu widzi odnośniki do piwerwszych stron danych artów. zaśw samych artach są odnośniki do dalszych stron.
Dajmy na to, że artykuł pierwszy składa się z 5 podstron. I teraz tak to wygląda w bazie:
id=1 art_nr=1 page=1
id=2 art_nr=1 page=2
id=3 art_nr=1 page=3
id=4 art_nr=1 page=4
id=5 art_nr=1 page=5

Drugi artykuł (na przykład) ma 3 strony:
id=6 art_nr=2 page=1
id=7 art_nr=2 page=2
id=8 art_nr=2 page=3

Ten post edytował roobik 10.04.2007, 23:06:39
Go to the top of the page
+Quote Post
macza
post
Post #5





Grupa: Zarejestrowani
Postów: 236
Pomógł: 4
Dołączył: 1.05.2006
Skąd: Lublin

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


to tak (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
masz 2 zmienne juz dane w naglowku

$page=$_GET[page];
$art_nr=$_GET[art]

teraz jezeli strona == nic:
  1. <?php
  2. if($page==""){ $page=1; } //proste (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
  3.  $zapytanie = "SELECT * FROM $tabela_tbl WHERE page=$page AND art_nr=$art_nr";
  4.  $wykonaj = mysql_query($zapytanie) or die(mysql_error()) ;
  5.  $id = mysql_fetch_array($wykonaj); //tu neo potrzeba while jak pobierasz jeden art = 1 strone
  6.  
  7.  // echo $id[id] itd. tu dajesz tekst itd, to co ma sie wyswietlic
  8.  
  9.  $zapytanie = "SELECT * FROM $tabela_tbl WHERE art_nr=$art_nr";
  10.  $wykonaj = mysql_query($zapytanie) or die(mysql_error()) ;
  11.  $strona=1;
  12.  while($id = mysql_fetch_array($wykonaj)){ //petal sie wykonuje tyle razy ile ma stron...
  13. if($page==$strona){ echo'<b>'; }//sprawdzamy to poto by wyroznic otwarta strone  
  14.  
  15. echo'<a href="?art='.$art_nr.'&page='.$strona.'">'.$strona.'</a>';
  16.  
  17. if($page==$strona){ echo'</b>'; }//to samo co wyzej zamykamy </b>
  18.  
  19. }
  20. ?>

na szybko pisane, na prozbe z gg (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

uwaga paser dodal ' \ ' przed ' " ' usun te znaki!

Ten post edytował macza 11.04.2007, 18:31:45
Go to the top of the page
+Quote Post
roobik
post
Post #6





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


(IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Próbuję na różne sposoby.... zakręciłem się....
  1. <?
  2. # wyswietlanie artykułu
  3.  
  4. if(is_login()=='yes') {
  5.  
  6. function show_fulltext() {
  7.  
  8. global $megaarty_tbl, $PHP_SELF, $id, $color, $mess;
  9.  
  10. $id = (int) $id;
  11. $art_nr = $_GET['art'];
  12. $page = $_GET['str'];
  13. $query = "SELECT * FROM $megaarty_tbl WHERE id=$id";
  14. $result = mysql_query($query);
  15. $a = mysql_num_rows($result);
  16.  
  17. if($a==0) {
  18. $title = 'błąd!';
  19. $text = 'Nie ma artykułu o takim numerze w bazie danych! '.$mess['e0'];
  20. } 
  21.  
  22. }
  23.  
  24. }else {
  25.  
  26. function show_minitext() {
  27.  
  28. global $megaarty_tbl, $PHP_SELF, $id, $color, $mess, $art_nr, $page, $minitext;
  29.  
  30. $r = mysql_fetch_array($result);
  31.  
  32. $id = (int) $id;
  33. $art_nr = $_GET['art'];
  34. $page = $_GET['str'];
  35. $title = $r['title'];
  36. $count = $r['opened'];
  37. $text = $r['minitext'];
  38. $date = $r['date'];
  39. $author = $r['author'];
  40. $query = "SELECT * FROM $megaarty_tbl WHERE id=$id AND art=$art_nr AND str=$page";
  41. $result = mysql_query($query);
  42.  
  43. $text = stripslashes($text);
  44. $title = stripslashes($title);
  45. $text = make_clickable($text);
  46.  
  47. $a = mysql_num_rows($result);
  48.  
  49. if($a==0) {
  50. $title = 'błąd!';
  51. $text = 'Nie ma artykułu o takim numerze w bazie danych! '.$mess['e0'];
  52. } 
  53.  
  54. main_title_open();
  55. echo $title;
  56. main_title_close();
  57.  
  58. main_text_open($author, $date, $comment, $comment_num, $print);
  59. echo $text;
  60. main_text_close($author, $date, $comment, $comment_num, $print);
  61.  
  62. }
  63.  
  64.  
  65.  
  66. function count_info() {
  67.  
  68. global $id, $megaarty_tbl;
  69.  
  70. $query = "SELECT opened FROM $megaarty_tbl WHERE id=$id";
  71. $result = mysql_query($query);
  72. $r = mysql_fetch_array($result);
  73.  
  74. $count = $r['opened'];
  75. $count++;
  76.  
  77. $query = "UPDATE $magaarty_tbl SET opened=$count WHERE id=$id";
  78. $result = mysql_query($query);
  79.  
  80.  
  81. }
  82. }
  83. ?>

To jest cały kod. Już nie wiem sam co mam dalej z tym zrobić. Pomóżcie proszę ....
Go to the top of the page
+Quote Post

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: 24.08.2025 - 13:37