Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wczytywanie do szablonowego pliku php danych z mysql i formularza PHP [dodawanie produktow w sklepie int]
BigZ
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 16.05.2011

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


Witam! Tworzę sklep internetowy, mam już wszystko oprócz panelu administratora. Chcę stworzyć coś w rodzaju tego, by dzięki jednemu formularzowi (submit) po stronie admina dodać przedmiot do możliwości kupna i dodać tę informację do bazy danych.

Moje produkty opierają się na podstronach tzn, mam MENU - produkty i PODMENU - produkt1, produkt2, produkt3. Menu i podmenu są identycznie zbudowane - dlatego napisalem w temacie coś w rodzaju szablonu.

Chciałbym zrobić coś takiego, by TWORZĄC nowy produkt4 (przez formularz dodawania produktu) utworzyło mi w PODMENU produktu nowy odnośnik do PRODUKT4 i aby dane z formularza pojawiły się w tym produkcie (np formularz bedzie wygladac tak: id, tytuł, opis, zdjęcie i cena - do koszyka).

Jednym zdaniem: mam sobie pusty plik np. szablon.php - gdzie jest normalna strona z bialym miejscem div id="TRESC", gdzie maja byc podane informacje z formularza (powyzej w nawiasie) i ma sie to zapisywac do pliku produkt4.php i tworzyć również ten produkt4 razem z innymi elementami w PODMENU.

Pytanie, czy to jest wykonalne (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/biggrin.gif) Czy jest na to jakiś prostszy sposób (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
olechafm
post
Post #2





Grupa: Zarejestrowani
Postów: 125
Pomógł: 2
Dołączył: 8.10.2010
Skąd: Poniemieckie miasto przesiedleńców

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


no niby może i jest nawet wykonalne tylko to będzie jakaś tragedia... ok patrzysz na sytuacje gdy masz 4 - 5 produktów ale pomyśl co będzie gdy tych produktów będzie 1000, chcesz mieć w katalogach 1000 plików? każdy z osobnym produktem? toż to rzeźnia jakaś... aż boję się zapytać jak wygląda reszta sklepu, jeśli baza produktów opierać się ma na plikach...

jest na to łatwiejszy i przyjemniejszy sposób, owszem i nazywa się BAZA DANYCH ale taka prawdziwa np MySQL (IMG:style_emoticons/default/wink.gif) zapewniam Cię, że użycie takowej jest o wiele łatwiejsze i słuszniejsze chyba pod każdym możliwym względem w tej sytuacji niż baza danych w formie katalogu z plikami, w których trzymasz treść produktu...

Ten post edytował olechafm 16.05.2011, 10:46:37
Go to the top of the page
+Quote Post
BigZ
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 16.05.2011

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


OK. Wiec zrobmy coś takiego na kształt allegro: tytuł produktu, obok jakas maly obrazek, cena.

Potrafię wyciągnąc to z bazy danych. Całość umieszcze w tabelce i wszystko bedzie lux:

JEDEN PROBLEM: Jak zrobić to, ze po kliknieciu np na tytuł czy tam obrazek danego produktu, przechodzi się do strony z wiekszym opisem (IMG:style_emoticons/default/questionmark.gif) Czy tutaj nie bedzie potrzebny jednak osobny plik .php (IMG:style_emoticons/default/questionmark.gif)

TEGO NIE KAPUJE (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
mlawnik
post
Post #4





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


To będzie osobny skrypt view.php na przykład.
I on pobiera dane z bazy.
A generowanie takie, ze dajesz linki do view.php z atrybutami get w petli.
Go to the top of the page
+Quote Post
BigZ
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 16.05.2011

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


no to nie wygląda na takie proste, jak sie wydawało (IMG:style_emoticons/default/tongue.gif) ja dopiero początkujący jestem.. (IMG:style_emoticons/default/tongue.gif) ale coś mniej więcej kapuje.. hmm.. a jak z tymi obrazkami ? Do bazy danych nie mozna przeciez przesłać obrazku. jak z nim sie zachować więc czy to w produkty.php czy też tym view.php ?
Go to the top of the page
+Quote Post
Dipter
post
Post #6





Grupa: Zarejestrowani
Postów: 81
Pomógł: 14
Dołączył: 28.11.2010
Skąd: Kraków

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


Obrazki trzymasz w ściśle określonym katalogu na serwerze, załóżmy (/media/upload/), a do bazy dodajesz tylko nazwę obrazka (najlepiej byłoby ją wygenerować jakimś hashem). A potem tylko przy pobieraniu z bazy, bierzesz nazwę i całość sklejasz ;P
Go to the top of the page
+Quote Post
Rid
post
Post #7





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Cytat
Do bazy danych nie mozna przeciez przesłać obrazku


Do ,bazy danych można przesłać wszystko-dlatego nazywa się to baza danych.

Jeśli chodzi o obrazki,można zapisać je do komórki binary w postaci tablicy bitów.
Go to the top of the page
+Quote Post
CuteOne
post
Post #8





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Mini przykład wyświetlania zdjęć kilku premiowanych produktów oraz p przejściu na kolejną stronę wyświetlanie opisu klikniętego produktu:

view_premiowane.php:
  1. <?php
  2. $select = mysql_query("SELECT * FROM produkty WHERE premiowane = 1 LIMIT 5");
  3.  
  4. while($row = mysql_fetch_array($select)) {
  5.  
  6. echo '<a href="view_produkt.php&product='.$row['product_id'].'"><img src="images/products/'.$row['product_img'].'"></a>';
  7. }
  8. ?>


view_produkt.php
  1. <?php
  2. $product_id = $_GET['product'];
  3.  
  4. $select = mysql_query("SELECT * FROM produkty WHERE product_id = $product_id");
  5. $row = mysql_fetch_array($select);
  6.  
  7. echo $row['product_opis'];
  8. ?>


Go to the top of the page
+Quote Post
BigZ
post
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 16.05.2011

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


Czekajta... (IMG:style_emoticons/default/sad.gif)
Powiedzmy, ze narazie bez obrazków, tylko po prostu chce wyswietlic w pliku view.php dane id, produkt, cene oraz dostepną ilość po kliknięciu w "pokaz wiecej" odpowiedniego towaru.
W poniższym pliku robie tabelke, ktora pobieram z bazy danych
wyglada mniej wiecej tak:
(IMG:http://www.atrzcinski.pl/tabelka.png)
Mam takie coś: plik :
produkty.php
  1. $mysql_host = 'serv';
  2. $mysql_login = 'log';
  3. $mysql_haslo = 'has';
  4. $mysql_baza = 'baza';
  5.  
  6. // polaczenie z baza danych
  7. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd, nie udało się połączyć z bazą danych.');
  8.  
  9. // polaczenie ze schematem bazy danych
  10. mysql_select_db($mysql_baza) or die('nie udalo sie wybrac schematu bazy danych.');
  11. $wynik = mysql_query("SELECT * FROM zamowienia")
  12. or die('Błąd zapytania');
  13.  
  14. if(mysql_num_rows($wynik) > 0) {
  15. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  16. echo "<table cellpadding=\"2\" border=1>";
  17. while($r = mysql_fetch_assoc($wynik)) {
  18. echo "<tr>";
  19. echo "<td>".$r['id']."</td>";
  20. echo "<td>".$r['produkt']."</td>";
  21. echo "<td>".$r['ilosc']."</td>";
  22. echo "<td>".$r['cena']."</td>";
  23.  
  24. echo "<td>";
  25. echo '<a href="view.php&product='.$r['id'].'">POKAZ WIECEJ</a>';
  26. echo "</td>";
  27. echo "</tr>";
  28. }
  29. echo "</table>";
  30. }
  31.  
  32. ?>


i teraz ten view.php, jak ma wyglądać (IMG:style_emoticons/default/questionmark.gif)

z tego co wywnioskowałem wyżej i z wlasnej wiedzy, musze sie znowu polaczyc z baza

view.php

  1. $mysql_host = 'serv';
  2. $mysql_login = 'log';
  3. $mysql_haslo = 'has';
  4. $mysql_baza = 'baza';
  5.  
  6. // polaczenie z baza danych
  7. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd, nie udało się połączyć z bazą danych.');
  8.  
  9. // polaczenie ze schematem bazy danych
  10. mysql_select_db($mysql_baza) or die('nie udalo sie wybrac schematu bazy danych.');
  11. $wynik = mysql_query("SELECT * FROM zamowienia")
  12. or die('Błąd zapytania');
  13. ?>


i... (IMG:style_emoticons/default/questionmark.gif)

  1.  
  2. $product_id = $_GET['id'];
  3. $select = mysql_query("SELECT * FROM zamowienia WHERE id=$product_id");
  4. while($r = mysql_fetch_array($select)) {
  5. echo $r['id'];
  6. echo $r['produkt'];
  7. echo $r['cena'];
  8. echo $r['ilosc'];
  9.  
  10. echo '<a href="view.php&product='.$r['id'].'">POKAZ WIECEJ</a>';
  11. }


Nie mam pojęcia, kombinuje, ale nie wychodzi.. (IMG:style_emoticons/default/sad.gif)

nie kapuje tych przekierowań..

Ten post edytował BigZ 18.05.2011, 10:16:05
Go to the top of the page
+Quote Post
mortus
post
Post #10





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Skoro w adresie masz view.php&product=... to id produktu znajduje się w $_GET['product']. Ale przecież to podstawy!?
Go to the top of the page
+Quote Post
BigZ
post
Post #11





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 16.05.2011

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


no to wiem (chyba) (IMG:style_emoticons/default/smile.gif)
problem w tym, ze jak przechodze w to "pokaz wiecej" to wyswietla mi sie informacja:
  1. Podany w zapytaniu URL view.php&product=1 nie został odnaleziony na tym serwerze.

czyli czegoś brakuje w tym view.php

EDIT:
zmieniłem w
  1. echo '<a href="view.php&id='.$r['id'].'"></a>';

( & na ? ) i mam teraz informacje
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/view.php on line 24
a linijka 24 to:

  1. while($r = mysql_fetch_array($select)) {

co jest nie tak?

caly plik: view.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
  2. <html>
  3.  
  4. <head>
  5. <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  6. <title>Untitled 1</title>
  7. </head>
  8.  
  9. <body>
  10. <?php
  11. $mysql_host = 'serv';
  12. $mysql_login = 'log';
  13. $mysql_haslo = 'has';
  14. $mysql_baza = baza';
  15.  
  16. // polaczenie z baza danych
  17. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('BÄąâ&#8364;šĂ„‌d: nie udaĹ‚o siÄ™ nawiÄ‌zać poĹ‚Ä‌czenia z bazÄ‌ danych.');
  18.  
  19. // poĹ‚Ä‌czenie ze schematem bazy danych
  20. mysql_select_db($mysql_baza) or die('BĹ‚Ä‌d: nie udaĹ‚o siÄ™ wybrać schematu bazy danych.');
  21. $product_id = $_GET['id'];
  22. $select = mysql_query("SELECT * FROM zamowienia WHERE id=$produkt_id");
  23.  
  24. while($r = mysql_fetch_array($select)) {
  25. echo $r['id'];
  26. echo '<a href="view.php?id='.$r['id'].'"></a>';
  27. }
  28. ?>
  29. </body>
  30.  
  31. </html>


Ten post edytował BigZ 18.05.2011, 10:44:08
Go to the top of the page
+Quote Post
CuteOne
post
Post #12





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Tępy jesteś? przecież ktoś ci już napisał dwa posty wyżej, że nie $_GET['id'] tylko $_GET['product']
Go to the top of the page
+Quote Post
BigZ
post
Post #13





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 16.05.2011

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


Jestem tępy, bo jestem początkującym profesjonalisto ...

dziekuje za pomoc w takim razie
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 10:22