Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Przesył danych po kliknieciu w link.
Forum PHP.pl > Forum > Przedszkole
trk
Witam,

Może nie dokładnie sie wyraziłem w temacie ale mam przed sobą problem i chciałbym prosić o radę w jakim kierunku iść i gdzie szukać zeby ten problem ominąć.

Mam na stronie prostą bazę np z newsami. Na stronie głownej mam spis samych nagłowków i sa to linki. Jak zrobic zeby po kliknieciu w dany link otwierało sie nowe okno (mniejsze) i pokazywało tam tylko tresc newsa ? W jaki sposob to zrobic zeby po kliknieciu w dany link do bazy poszlo zapytanie ktore wyswietli sie w nowym okienku ?


Pozdrawiam

piotrooo89
do otwarcia nowego okienka polecam thickbox'a
trk
Fajne to rozwiazanie ale z tego co widze to :

  1. <p><a href="ajaxOverFlow.html?height=300&amp;width=400"
  2. title="add a caption to title attribute / or leave blank"
  3. class="thickbox">Scrolling content</a>&nbsp;&nbsp;


czyli w oknie wyswietlis ie zawartosc ajaxoverflow.html ? dobrze rozumuje ? ale te pliki html sie tworza jakos zautomatyzowanie czy jak ?


mam na stronie dane zmieniajace sie praktycznie nawet co kilka godzin teraz jest powiedzmy 10 pozycjo linkow (newsow) w ktore klikam i pokazuje sie odpowiednia ich zawartosc w tym malym oknie ale za godzine bedzie 10 nowymch juz linkow z innymi zawartosciami nie potrafie ogarnac jak to zrobic

Jesli sprawa byla by taak ze ejst naglowek newsa a pod nim cala jego zawartosc to to ejst banalnie proste i nawet ja sobie z ytm radze ale jak sie robie zeby kliknac w link a w nowym oknie ejst odpowiednia zawartossc.

I jeszcze inna sprawa jak bym cchail zorbic newsa w ktorym widac pierwsze 3 zdania i pozniej jest cos w styli "Czytaj dalej" i po klikniecie powiedzmy sie to rozwija ale podejrzewam ze to na tej samej zasadzie.

Prosze o kierunek smile.gif Mam nadzieje ze ktos zrozumie o co mi chodzi bo zdaje sobie sprawe ze moze jakos nie jasne mowie.
piotrooo89
robisz powiedzmy szablon wyświetlania newsów w nowym okienku. i później już tylko wybierasz odpowiednie dane w okienku. tzn de facto tworzysz tylko 1 plik który jest szablonem dla wszystkich newsów.
trk
ten thicbox jest nawet ok ale dalej nie potrafie rozwiazac problemu.

wytlumacze moze tak:

mam na stronie wypis newsow w postaci tylko tytulu.

Mam w bazie tabele newsy a w niej id, tytul, tresc i chcialbym zeby kliknieciu tytulu otwieralo sie nowe okno w ktorym wyswietlana jest tresc.

Nie potrafie ominac jednej rzeczy, jak robi sie link z tytulu newsa to wiadomo jest ze jest href=dokument.php i ja moge sobie zorbic na serwerze taki dokument.php i wnim zapytanie do bazy ktore wyswietli mi tresc z tabeli newsy ale to do kazdego newsa bede musial tworzyc osobny dokument.php na serwerze questionmark.gifquestionmark.gif TO tak jak bym operowal na plikach a ja chcesz te dane sciagac z bazy wie ktos jak mi pomoc questionmark.giftongue.gif

POZDRAWIAM !
piotrooo89
no jak dajesz dokument.php?id_newsa=2 i później w tym pliku obsługujesz to ID. czyli wybierasz dane dla tego id, wyświetlasz je w tym okienku. tyle. dokument.php jest tylko szablonem.
trk
Narazie za tepy jestem na to , gdybys mogl napisac gdzie szukac jakis dokumentacji na ten temat, najlepiej na jakims przykladzie gdzie jest takie rozwiazanie o ktorym piszesz to bylbym wdzieczny. Dzieki za pomoc.

edit:

To moze jeszcze mi cos wyjasnisz:

na stronie gdzie chce wyswietlac newsa mam taki link:

  1. <a href="plikztrescia.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=200&width=600&modal=true"
  2. title="add a caption to title attribute / or leave blank" class="thickbox">NEWS NR 1l</a> ';


Jest wyswietlane news nr 1 i jak klika w newsa to wyswietla sie w okienku dane z plikztrescia.html.

I teraz rozumiem zejesli w beda np 3 newsy to robie petle ktora wyswietli takie 3 linki w miejsce NEWS NR wiadomo ze wstawiam $zmienna to rozumiem.

tylko teraz jak zmodyfikowac ten link zeby wiedzial ktore dane ma pobrac bo rozumeim ze tresc ze wszytkich 3 linkow ma byc w pliku "plikztrescia.html" tak ?

W tym pliku mam zrobic tez petle z zapytaniem do bazy zeby pobrac 3 rozne tresci dla 3 newsow tak ?

tylko etraz jak powiedzmy mam formularz ktory dodaje te newsy do bazy danych to chyba powinienem w nim odrazu zaznaczac jakos id newsa albo cos bo w bazie by musialo byc pole w stylu LINK ktore bedzie przechowywala zalego linka ktorego pozniej wyswietle (czyli ten kod u gory) ?

Dobrze mysle ?

PS
Podejrzewam ze juz cie zaczynem denerwowac ale trudno winksmiley.jpg
piotrooo89
nie kompletnie nie rozumiesz spróbuje Ci to wyjaśnić.

1. plik powinien mieć rozszerzenie PHP.
2. schemat działania:

masz plik index.php w którym masz tytuły newsów linki do poszczególnych newsów powinny wyglądać tak:

  1. <a href="plikztrescia.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=200&width=600&modal=true&id_newsa=666"
  2. title="add a caption to title attribute / or leave blank" class="thickbox">NEWS NR 1l</a> ';


i teraz wiesz że chcesz zobaczyć w nowym okienku tylko newsa o ID 666.

to co robisz?

dajesz selecta:

  1. SELECT * FROM news WHERE id_news=$_GET['id_newsa']


i masz już co Cię interesuje, nie musisz żadnej pętli robić tyko robisz sobie z tego tablicę za pomocą mysql_fetch_array no i wypisujesz odpowiednie kolumny w odpowiednie miejsca w Twoim okienku. prościej już nie umiem...
trk
Cytat(piotrooo89 @ 20.02.2010, 11:37:08 ) *
nie kompletnie nie rozumiesz spróbuje Ci to wyjaśnić.

1. plik powinien mieć rozszerzenie PHP.
2. schemat działania:

masz plik index.php w którym masz tytuły newsów linki do poszczególnych newsów powinny wyglądać tak:

  1. <a href="plikztrescia.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=200&width=600&modal=true&id_newsa=666"
  2. title="add a caption to title attribute / or leave blank" class="thickbox">NEWS NR 1l</a> ';

Ju sobie wszytko zrobilem tak jak mowisz nie dziala tylko jedna sprawa jak dodaje to id_news na koncu np = 2 to w plikuztrescia nie widac tego id czyli tak jak by sie wartosc w ogole nie przeslala.

  1.  
  2. $id=$_GET[id];
  3. echo $id;
  4.  
  5. $result = mysql_query("SELECT id, tytul, tresc FROM news ");
  6.  
  7. while ($row = mysql_fetch_array($result)) {
  8.  
  9. echo "tytul: ".$row["tytul"]."<p><br>";
  10. echo "tresc: ".$row["tresc"]."<p>";
  11.  
  12.  
  13. }

powyzej jest kod z plikuztrescia i nie wyswietla mi nic przy echo $id mimo ze w linko dodalem n akocu tak jak pokazales.
powyzszy kod dziala i wyswietla mi wszysstkie newsy jakie mam w db ale jak juz dodam warunek taki jak pokazales z $_get to juz nic nie wyswietla.

Rysh
  1. $result = mysql_query("SELECT id, tytul, tresc FROM news WHERE id='". $_GET['id'] ."'");


Jak chcesz teraz wyświetlić newsa dajesz np index.php?id=3
trk
  1. <a href="plikztrescia.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=200&width=600&modal=true&id_newsa=666"
  2. title="add a caption to title attribute / or leave blank" class="
  3.  
  4. [php]
  5. <a href="plikztrescia.html?placeValuesBeforeTB_=savedValues&TB_iframe=true&height=200&width=600&modal=true&id_newsa=666"
  6. title="add a caption to title attribute / or leave blank" class="thickbox">NEWS NR 1l</a> ';


"plikztrescia.html?placeValuesBeforeTB_=

zaminic na ?

"plikztrescia.html?id=2placeValuesBeforeTB_=

a moze:

"plikztrescia.html?id=2TB_=

o to chodzi zeby link do newsa zmodyfikowac czy jak bo napraqwde nie czaje :/

nie weim jak zrobic zeby przeslac dane o id ktore wyswietli sie w plikztrescia dzieki czemu bede mogl zrobic warunek w zapytaniu o nr id newsa

-------------------------------------------
problem:
chce miec formularz w ktorym podaje tytul i tresc do bazy, id dodaje sie automatycznie auto_increment w bazie.

w index.php robie zapytanie do bazy i wyswietlaja mi sie same tytuly.

i jak teraz zrobic ze klikam w tytul i pokazuje sie w tym okienku odpowiednia tresc prosze nie piszcze mi ogolniekowo po 2 slowa bo ja nic z tego nie rozumiem. kolega napisal ze musi byc id_newsa=2 na koncu linku no i to nic nie dziala. nie rozumiem tylko w jaki sposob to id_newsa bedzie si eoddawalo na tym linku czy ja w formularzu musz emiec jescze pole id ? do wypelnienia zeby je podstawic w odpowiednie meijsce w linku ?

ja dopiero zaczynam nie wierze nie nie ma kogos kto w sposob lopatologiczny potrafi mi wytlumaczyc jak to zorbic.

juz wszytko mi dizala tylko stanolem na tym ze robie to zapytanie ktorego kod wyslalem wyzej i ono mi wyswietla wszytkie wiersze(newsy) jakie mam w bazie a nie potrafie polaczyc odpowiedniej trescie do odpowiedniego tytulu

Pozdro
michau85
Przypuścmy że to jest twój spis tytułów linków:

  1.  
  2. /// Przypuścmy że to jest twój spis tytułów linków:
  3. echo'<a href="index.php?id=1" > Tytuł newsa pierwszego </a>';
  4. /// Przypisujesz zmienną id do każdego linku po znaku zapytania. Znak zapytania mowi o tym właśnie że do adresu URL są przypisane zmienne
  5. echo'<a href="index.php?id=2" > Tytuł newsa drugiego </a>';
  6. .
  7. .
  8. .
  9. echo'<a href="index.php?id=10" > Tytuł newsa dziesiątego </a>';
  10.  
  11. /// Na tej samej stronie piszesz później:
  12.  
  13. $id=$_GET['id']; /// Przypisujesz zmiennej wartość id zależną od tego który link został kliknięty np jeśli kliknięto link pierwszy to $id =1
  14.  
  15. /// Następnie w zależności od wartości id formiułowane jest zapytanie:
  16.  
  17.  
  18.  
  19. $result = mysql_query("SELECT id, tytul, tresc FROM news where id=$id ");
  20.  
  21. /// Następnie wyswietlasz wyniki
  22.  
  23. while ($row = mysql_fetch_array($result)) {
  24.  
  25.  
  26. echo "tytul: ".$row["tytul"]."<p><br>";
  27.  
  28. echo "tresc: ".$row["tresc"]."<p>";
  29.  
  30. ///I tyle :)
  31.  
  32. /


Poszukaj w google hasła PHP a zmienne URL
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.