Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Jak wydobyć z bazy adres w stylu plik.php?art=1&str=3
Forum PHP.pl > Forum > Przedszkole
roobik
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... 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
Daimos
nie rozumiem w czym problem
pobierasz zmienne
  1. <?
  2. $id_artykulu = $_GET['art'];
  3. $strona = $_GET['str'];
  4. // robisz zapytanie z tego uwzglednieniem :/
  5. ?>
kossa
$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
roobik
  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ę 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
macza
to tak 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 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. //teraz stronicowanie biggrin.gif
  10.  $zapytanie = "SELECT * FROM $tabela_tbl WHERE art_nr=$art_nr";
  11.  $wykonaj = mysql_query($zapytanie) or die(mysql_error()) ;
  12.  $strona=1;
  13.  while($id = mysql_fetch_array($wykonaj)){ //petal sie wykonuje tyle razy ile ma stron...
  14. if($page==$strona){ echo'<b>'; }//sprawdzamy to poto by wyroznic otwarta strone  
  15.  
  16. echo'<a href="?art='.$art_nr.'&page='.$strona.'">'.$strona.'</a>';
  17.  
  18. if($page==$strona){ echo'</b>'; }//to samo co wyzej zamykamy </b>
  19.  
  20. }
  21. ?>

na szybko pisane, na prozbe z gg biggrin.gif

uwaga paser dodal ' \ ' przed ' " ' usun te znaki!
roobik
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ę ....
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.