Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmiana częsci strony - jakiej funkcji użyć ?
jerry1984
post 23.04.2011, 21:56:01
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 3
Dołączył: 4.12.2010

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


Witam

Jakiej funkcji mam użyć aby zmieniała mi się jedynie środkowa część strony tak zwana "content".
Mam stronkę Ksiegarnia, jeśli ktoś kliknie na tytuł jest przenoszony na inną stronę,
a ja chcę aby wszytko działo się na mian page.Bo chyba nie muszę kopiować zawartości index'u i umieszczać w każdej podstronie jak to się robi w html'u.
Oto skrócona część index.php:
  1. <div id="content">
  2.  
  3.  
  4. <?php
  5. include ("promocja.php");
  6. ?>
  7.  
  8.  
  9. </div>


zawartośc promocja.php

  1. <?php
  2. // Wyświetli jedynie nazwę, tytuł i cenę.
  3.  
  4. while ($row = mysql_fetch_array($results)) {
  5. extract($row);
  6.  
  7. echo "<div align=\"center\">" ;
  8. echo "<div class=\"box\">" ;
  9. echo "<div class=\"box-header\">";
  10. echo "<div class=\"box-title\">" ;
  11. echo "<p><a href=\"shoping/getprod.php?prodid=" . $products_prodnum ."\">";
  12. echo $products_name;
  13. echo "</a>";
  14. echo $spacja;
  15. echo "<span class=\"color_promocji\">" . $products_price . " zł</span></p>";
  16. echo "<span>[".$products_author."]</span>";
  17. echo "</div>";
  18. echo "</div>";
  19. echo "<div class=\"box-content\">" ;
  20. echo "<a href=\"shoping/getprod.php?prodid=" . $products_prodnum ."\">";
  21. echo "<img src=" . $img ." alt=" . $products_name ." title=" . $products_name ." width=\"100px\" height=\"150px\" />";
  22. echo "</a>";
  23. echo "<br />";
  24. echo "<div class=\"box_text\"><h4>" . $products_info . "<br>Cena: <span class=\"cena_promocyjna\">" . $products_oldprice . " zł</span></h4></div>";
  25. echo "<br />";
  26. echo "<div class=\"info\">";
  27. echo "<table class=\"border\">";
  28.  
  29.  
  30. echo "<tr>";
  31. echo "<p><td><a href=\"shoping/modcart.php?action=add\"><img src=\"img/koszyk.png\"</td><td>Ddodaj do koszyka.</td></p>";
  32. echo "<p><td><a href=\"shoping/getprod.php?prodid=" . $products_prodnum ."\"><img src=\"img/info.png\"</td><td>Inromacje o książce.</td></p>";
  33. echo "</tr>";
  34. echo "</p>";
  35.  
  36. echo "</table>";
  37. echo "</div>";
  38.  
  39. echo "</div>";
  40. echo "</div>";
  41. echo "</div>";
  42. echo "<br>" ;
  43. }
  44. ?>


Jak to zrobić aby po kliknięciu na tytuł książki, zmieniał się tylko środek strony ?


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
pmir13
post 23.04.2011, 22:10:23
Post #2





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


Linki do tych książek musisz zmienić z getprod.php na index.php, na przykład index.php?prodid=0001 a w index.php tam gdzie masz sekcję content sprawdzać czy w $_GET jest jakiś id książki i jeśli tak to zamiast listy książek wyświetlać szczegółowy opis (czyli to co robisz w getprod.php), czyli
  1. if( isset($_GET['prodid']) )
  2. // pokaz opis produktu, być może include ("getprod.php"); po przeróbkach, nie wiemy co tam jest
  3. else
  4. include ("promocja.php");

Możesz tam dołożyć więcej warunków jeśli jeszcze coś innego chcesz tam pokazywać.
Go to the top of the page
+Quote Post
jerry1984
post 23.04.2011, 22:43:22
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 3
Dołączył: 4.12.2010

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


Może również pokażę zawartość,
getprod.php :
  1. <html>
  2. <head>
  3. <title><?php echo $products_name; ?></title>
  4. </head>
  5. <body>
  6. <div align="center">
  7. <table cellpadding="5" width="80%">
  8. <tr>
  9. <td><?php echo "<img src=" . $img ." alt=" . $products_name ." title=" . $products_name ." width=\"100px\" height=\"150px\" />"?></td>
  10. <td><strong><?php echo $products_name; ?></strong><br />
  11. <?php echo $products_proddesc; ?><br \>
  12. <br>Identyfikator: <?php echo $products_prodnum; ?>
  13. <br>Data dodania: <?php echo $products_dateadded; ?>
  14. <br>Cena: <?php echo $products_price; ?> zł<br />
  15. <form method="POST" action="modcart.php?action=add">
  16. Sztuk: <input type="text" name="qty" size="2"><br />
  17. <input type="hidden" name="products_prodnum"
  18. value="<?php echo $products_prodnum ?>">
  19. <input type="submit" name="submit" value="Dodaj do koszyka">
  20. </form>
  21.  
  22. <form method="POST" action="cart.php">
  23. <input type="submit" name="submit" value="Wyświelt zawartość koszyka">
  24. </form>
  25. </td>
  26. </tr>
  27. </table>
  28. <hr width="200">
  29. <p><a href="../strona/index.php">Wróć do strony głównej</a></p>
  30. </div>
  31. </body>
  32. </html>
  33.  


nie wiedziałem, że może się przydać, a tym czasem sprawdzę tę funkcję.

EDIT:

nie wychodzi jak mówisz.
Jeśli zmienię "getprod.php?prodid=" na "index.php?prodid=" nie wyświetli się zawartość getprod.php.
Dałeś wskazówkę którą postaram się rozwiązać, jeśli ktoś da inną chętnie przetestuję.

Ten post edytował jerry1984 23.04.2011, 22:43:44
Go to the top of the page
+Quote Post
pmir13
post 23.04.2011, 22:57:09
Post #4





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


Cytat
Jeśli zmienię "getprod.php?prodid=" na "index.php?prodid=" nie wyświetli się zawartość getprod.php

Bo ma się wyświetlać zawartość index.php, przecież o to chodzilo w linkach.
A tam gdzie jest komentarz //pokaz opis produktu musisz wstawić to co robisz w getprod by ten opis wyświetlić.
Go to the top of the page
+Quote Post
kill15
post 23.04.2011, 23:07:24
Post #5





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


hmm


  1. //index.php?prodid=getprod
  2. $lol = $_GET['prodid'];
  3.  
  4. if($lol == 'getprod');
  5. {
  6. $lol2 = "$lol.php";
  7. include ("$lol2");
  8. }
  9.  
  10. // coś takiego??


Ten post edytował kill15 23.04.2011, 23:07:50
Go to the top of the page
+Quote Post
jerry1984
post 23.04.2011, 23:24:12
Post #6





Grupa: Zarejestrowani
Postów: 38
Pomógł: 3
Dołączył: 4.12.2010

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


Cytat(kill15 @ 24.04.2011, 00:07:24 ) *
hmm


  1. //index.php?prodid=getprod
  2. $lol = $_GET['prodid'];
  3.  
  4. if($lol == 'getprod');
  5. {
  6. $lol2 = "$lol.php";
  7. include ("$lol2");
  8. }
  9.  
  10. // coś takiego??


nie wiem czy dobrze zrozumiałem ale powstawiałem tak:

  1. $products_prodnum = $_GET['prodid'];
  2.  
  3. if($products_prodnum == 'getprod');
  4. {
  5. $getprod = "$promocja.php";
  6. include ("$getprod.php");

Zmieniłem również z "getprod.php?prodid=" na "index.php?prodid=getprod"

i nie wychodzi, błędy wyskakują, jeśli coś palnąłem to tylko moja nie wiedza początkującego wstydnis.gif
Proszę o poprawienie mnie. Już zmęczony jestem siedzę na tym od 15:00.

Ten post edytował jerry1984 23.04.2011, 23:25:59
Go to the top of the page
+Quote Post
Akairis
post 24.04.2011, 01:42:21
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.04.2011
Skąd: Kraków

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


jesli link jest taki: <a href=\"shoping/getprod.php?prodid=" . $products_prodnum ."\">
to poniższy warunek musi być w pliku getprod.php

  1.  
  2. if(isset($_GET['prodid'])){
  3. $produkt = $_GET['prodid'];
  4.  
  5. if($produkt == 'getprod'){
  6. include ('promocja.php');
  7. }
  8. }
  9.  



Choć tak do końca nie wiem o co Ci chodzi dokładnie.

Ten post edytował Akairis 24.04.2011, 01:43:20
Go to the top of the page
+Quote Post
konole
post 24.04.2011, 07:59:55
Post #8





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 21.03.2006
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Cytat(jerry1984 @ 23.04.2011, 23:24:12 ) *
nie wiem czy dobrze zrozumiałem ale powstawiałem tak:

  1. $products_prodnum = $_GET['prodid'];
  2.  
  3. if($products_prodnum == 'getprod');
  4. {
  5. $getprod = "$promocja.php";
  6. include ("$getprod.php");

Zmieniłem również z "getprod.php?prodid=" na "index.php?prodid=getprod"

i nie wychodzi, błędy wyskakują, jeśli coś palnąłem to tylko moja nie wiedza początkującego wstydnis.gif
Proszę o poprawienie mnie. Już zmęczony jestem siedzę na tym od 15:00.

Proponuję ci przeanalizować to, co zrobiłeś.
Cytat
Przypisz do $products_prodnum -> $_GET['pdodid']
Jeśli $products_prodnum ma wartość 'getprod'
Zmienna $getprod ma wartość (!) zmiennej $promocja i dodaną końcówkę .php // Gdzie jest zmienna $promocja?
Dołącz plik o nazwie -> zmienna $getprod i końcówka .php

Przeanalizuj sobie to i sprawdź, czy ma sens. Tym sposobem dojdź do dobrego wyniku... Chciaż, pan powyżej mnie już podał ci rozwiązanie.
Go to the top of the page
+Quote Post
mat-bi
post 24.04.2011, 08:02:16
Post #9





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


Mozna to zrobić także przez bufor tak, jak jest to we frameworkach - ob_start i ob_clean
Go to the top of the page
+Quote Post
kill15
post 24.04.2011, 08:23:57
Post #10





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


Nie ogarniam autora...
Ale spróbuje wyjaśnić:

masz link np: www.twojastrona.pl/index.php?lol=wartosc


wartość może być różna a żeby ją wczytać używasz:
$_GET['lol']; - w tym wypadku.
potem robisz warunek w index w odpowiednim miejscu i jeśli ten warunek jest spełniony to includujesz plik.
Warunek to jak już mówiłem:

  1. if(isset($_GET['lol']));
  2. $loll = $_GET['lol'];
  3. include("$loll.php"); // jeżeli by nie działało tak to przypisz wcześnie tak:
  4. // $lol2 = "$loll.php"; i zamiast $loll.pl w include daj $lol2


Go to the top of the page
+Quote Post
kadlub
post 24.04.2011, 08:24:32
Post #11





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


sporo osób się tutaj wypowiedziało więc ja sie odniosę do twojego pierwszego postu.
robisz sobie menu z tytułem książki w index.php
  1. <a href="index.php?id=5">tytuł książki</a>

jeśli opis książki przechowujesz w bazie to te id które wyślesz linkiem wstawiasz do zapytania, nie wiem jak ono u ciebie wygląda
  1. $results="select * from tytuly where id_tytul='".$_GET['id']."'"

takie przykładowe zapytanie i wtedy będą sie wyświetlały dane dotyczące tej książki
oczywiście w index.php musisz mieć to
  1. <div id="content">
  2.  
  3.  
  4. <?php
  5. include ("promocja.php");
  6. ?>
  7.  
  8.  
  9. </div>
Go to the top of the page
+Quote Post
kill15
post 24.04.2011, 08:28:42
Post #12





Grupa: Zarejestrowani
Postów: 184
Pomógł: 14
Dołączył: 21.12.2010

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


up:

jeżeli chodzi o pobranie z bazy to owszem wystarczy: z get pobrać wartość zrobić zapytanie i wyświetlić ;>

i nie trzeba żadnych warunków

Ten post edytował kill15 24.04.2011, 08:29:09
Go to the top of the page
+Quote Post
kadlub
post 24.04.2011, 08:31:12
Post #13





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


Cytat(kill15 @ 24.04.2011, 08:28:42 ) *
up:

jeżeli chodzi o pobranie z bazy to owszem wystarczy: z get pobrać wartość zrobić zapytanie i wyświetlić ;>

i nie trzeba żadnych warunków

mi się wydaje że o to mu chodzi
tylko pytanie czy zna id tej książki czy szukać po tytule ale wtedy tytuły ni mogą sie powtarzać
Go to the top of the page
+Quote Post
jerry1984
post 25.04.2011, 14:35:28
Post #14





Grupa: Zarejestrowani
Postów: 38
Pomógł: 3
Dołączył: 4.12.2010

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


Witam

Właśnie wróciłem ze Świąt i dzięki waszym podpowiedzią udało mi się dokonać mój zamierzony cel Ksiegarnia.Działają podstrony.
Chciałem się jeszcze dowiedzieć innej kwestii, gdy mam informacje o książce i chcę dodać do koszyka zakupów po przez przycisk "Dodaj do koszyka" czy powinienem używać takiej samej funkcji jak tą którą użyłem aby wyświetlić podstrony ?

  1. $products_prodnum = $_GET['prodid'];
  2.  
  3. if(!empty($products_prodnum)) {
  4.  
  5. if(is_file("shoping/getprod.php")) include "shoping/getprod.php";
  6.  
  7. else echo "<br />Nie ma takiej strony.";
  8. }



Próbowałem zmodyfikować powyższy skrypt, lecz zawartość koszyka wyświetla się jednocześnie z informacją o książce bez klikania "Dodaj do koszyka", a robiłem tak:
  1. $add = $_GET['action'];
  2.  
  3. if(!empty($add)) {
  4.  
  5. if(is_file("shoping/modcart.php")) include "shoping/modcart.php";
  6.  
  7. else echo "<br />Nie ma takiej strony.";
  8. }


Ten post edytował jerry1984 25.04.2011, 14:37:52
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: 14.08.2025 - 02:21