Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php\mysql] generowanie linkow
Forum PHP.pl > Forum > Przedszkole
lutador
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
nospor
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
lutador
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
nospor
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
lutador
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 :/
nospor
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.
www0_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:)
lutador
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
www0_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. ?>
lutador
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
www0_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ł.
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.