Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php\mysql] generowanie linkow
lutador
post 5.05.2007, 15:04:25
Post #1





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


witam

Chcialbym zrobic moja aplikacje bardziej uniwersalna, mam kilka gabinetow. wypisuje je z bazy tak:
  1. <?php
  2. $db_link = polaczenie (); // laczy z baza danych
  3.  
  4. $query = "SELECT * 
  5. FROM gabinety
  6. WHERE kategoria = '10' ";
  7.  
  8. $result = mysql_query($query, $db_link);
  9.  
  10. while ($row = mysql_fetch_array($result))
  11. {
  12. echo "<a href="wizyty.php">" . $row['nazwa'] . "</a>";
  13. }
  14. ?>


a moj problem jest taki ze chcialbym przekazac do skryptu wizyty.php nazwe albo id tego gabinetu, tzn zeby kazdy link zrobic unikatowy. bede sie odwolywal do jednego pliku ktory bedzie wygladal mniej wiecej tak:

wizyty.php
  1. <?php
  2. $query = "SELECT * 
  3. FROM wizyty
  4. WHERE questionmark.gifquestionmark.gif ";
  5.  
  6. $result = mysql_query($query, $db_link);
  7.  
  8.  
  9. while ($row = mysql_fetch_array($result))
  10.  {
  11.  
  12. // tutaj bedzie wyswietlana tabela z wynikami
  13. }
  14. ?>


Ma ktos jakis pomysl jak to rozwiazac. chodzi mi o to zeby nei robic tego na sztywno dodajac linki do strony tyle i ile jest gabinetow. Tylko zeby bylo to generowane.
z gory dzieki za pomoc smile.gif

pozdrawiam

Ten post edytował lutador 5.05.2007, 15:13:10
Go to the top of the page
+Quote Post
nospor
post 5.05.2007, 19:59:23
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod
<?php
$db_link = polaczenie (); // laczy z baza danych

    $query = 'SELECT * 
              FROM gabinety
              WHERE kategoria = 10 ';
              
    $result = mysql_query($query, $db_link);
    
    while ($row = mysql_fetch_array($result))
        {
        echo '<a href="wizyty.php?id='.$row['id'].'">' . $row['nazwa'] . '</a>';
        }
?>


  1. <?php
  2. $id = (int)$_GET['id'];
  3. $query = 'SELECT * 
  4. FROM wizyty
  5. WHERE id= '.$id;
  6. ?>

Przyjalem ze masz w tabeli pole id


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
lutador
post 5.05.2007, 20:09:11
Post #3





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


tak mam takie pole. rozumiem ze twoim sposobem przekazuje te informacje przez naglowek?
ja uzywam cmsa i jak bede tak cos przekazywal to mi sie moduly nie beda ladowac :/

nie ma jakiegos innego sposobu?

pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 5.05.2007, 20:14:41
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
te informacje przez naglowek?
Jaki naglowek? w URL je przekazuje a nie w zadnym naglowku.

Cytat
ja uzywam cmsa i jak bede tak cos przekazywal to mi sie moduly nie beda ladowac
za bardzo nie wiem w czym problem, a juz na pewno nie na przykladzie co pokazales


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
lutador
post 5.05.2007, 20:54:06
Post #5





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


jak mowilem o naglowku mialem na mysli adres url. jak wlaczam jakis skrypt w swoim cmsie to wtedy adres mam np modules.php?op=modload&name=Mgabinet&opcja=historia&file=index i jezeli teraz dodam cos do niego to juz moja strona sie nie zaladuje :/
Go to the top of the page
+Quote Post
nospor
post 5.05.2007, 20:57:01
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




naprawde nie mozesz dodac id o tak:
modules.php?op=modload&name=Mgabinet&opcja=historia&file=index&id=2
?
Nedzny ten cms. No to jak inaczej przekazesz cos? Moglbys postem (formularzem ) to wysylac, ale bezsensu to by bylo.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
www0_0
post 5.05.2007, 20:58:13
Post #7





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


skopiuj tą cześć co masz w innych linkach, czyli te zmienne co się tam pojawiają, a dopiero na końcu doklep to co podał ci przedmówca.

Jeśli kompletnie nie znasz się na PHP to podaj przykład jak robią linki w twoim CMS-e abyśmy wiedzieli jakie zmienne wykorzystująsmile.gif
Ale pierw spróbuj samemu według instrukcji:)
Myślę że jest zrozumiała:)
Go to the top of the page
+Quote Post
lutador
post 5.05.2007, 21:25:05
Post #8





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


nie moge na 100% bo kiedys wczesniej probowalem i sie sypalo.. tak wyglada moj link modules.php?op=modload&name=Mgabinet&opcja=historia&file=index zadne zmienne nie sa przekazywane przez url.. wczesniej zawsze przekazywalem przez sesje...

kurde a moze jest tak ze jednak moge.. bo mam wersje na dysku i tam jak klikne na jakis link to mam taki adres w pasku adresu jak wam pokazalem ... ale mam tez to samo w necie na serwerze i tam juz jest to obciete i tego nie widac wiec moze jednak za dziala.. sproboje i napisze
w kazdym razie dzieki za pomoc smile.gif
pozdrawiam

Ten post edytował lutador 5.05.2007, 21:31:19
Go to the top of the page
+Quote Post
www0_0
post 5.05.2007, 21:33:37
Post #9





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


jeśli żadne zmienne, to powiedz mi co to jest??

Kod
op=modload&name=Mgabinet&opcja=historia&file=index

Przecież to kolejne zmienne:
  1. <?
  2. $_GET['op'];
  3. $_GET['name'];
  4. $_GET['opcja'];
  5. $_GET['file'];
  6. ?>


Przy czym w twoim wypadku ich wartości wynoszą:

op = modload
name = Mgabinet
opcja = historia
file = index

Teraz wystarczy odnaleść plik odpowiedzialny za generowanie twoich linków i na końcu dopisać

  1. <?
  2. echo '<a href ="index.php{......}file=' .$file. '&id=' .$id. '">' .$tresc_linka. '</a>';
  3. ?>
Go to the top of the page
+Quote Post
lutador
post 6.05.2007, 13:57:47
Post #10





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


masz racej ze zmiennymi smile.gif

moj plik index.php wyglada tak, tutaj dorzucam kolejna linki
  1. <?php
  2. $ModName = basename(dirname(__FILE__));
  3.  
  4. modules_get_language();
  5.  
  6. $ModName = $GLOBALS['ModName'];
  7. list($dbconn) = pnDBGetConn();
  8. $pntable = pnDBGetTables();
  9.  
  10. switch ($opcja)
  11. {
  12. case 'wizyty' : include ("modules/$ModName/wizyty.php");
  13. break;
  14.  
  15. }
  16. ?>


i teraz nie bardzo wiem gdzie wkleic '&id=' .$id. :/

pozdrawiam
Go to the top of the page
+Quote Post
www0_0
post 6.05.2007, 14:14:13
Post #11





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

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


masz jeszcze w swoim cms-ie plik odpowiedzialny za generowanie linków, i to w nim musisz pogrzebać:) na początek:)
Potem dopiero grzebiesz w sekcji która dołącza dany moduł.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 8.07.2025 - 06:41