Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] kategorie - sklep internetowy, pomoc w napisaniu skryptu (badz pomoc w rozbudowaniu tego który mam)
FliSs_tCv
post
Post #1





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


Witam serdecznie wszystkich forumowiczów smile.gif

chciałbym prosić was o pomoc w napisaniu skryptu badz pomocy w rozbudowaniu skryptu, który zdołałem znalesc u naszego wujka google link który skieruje nas to topicu na innym forum w którym znalazłem małą podpowiedź lecz nie jest to dla mnie zrozumiałe:( -->Oto ten link <-- oraz link z naszego forum ;] -->Oto on<--

Moja baze stworzyłem w taki sposob :
  1. CREATE TABLE `kategorie` (
  2. `id` int(10) NOT NULL AUTO_INCREMENT,
  3. `kategoria` varchar(50) NOT NULL,
  4. `id_rodzica` int(10) NOT NULL DEFAULT '0',
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=1 ;
tutaj posłuzyłem sie zapytaniem z naszego forum smile.gif

tutaj przedstawiam moją tabele z produktami w której umiesciłem pole id_kategorii które bylo w przykładzie z naszego forum smile.gif
  1. CREATE TABLE `produkty` (
  2. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `id_kategorii` int(10) NOT NULL,
  4. `nazwa` varchar(200) NOT NULL,
  5. `obrazek` varchar(200) NOT NULL,
  6. `opis` varchar(400) NOT NULL,
  7. `cena` float(7,2) NOT NULL DEFAULT '0.00',
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=latin2 AUTO_INCREMENT=13 ;


Kod przerobiony z forum --> Oto ten link <--

Ten kod ma jak opisują na forum wyswietlic subkategorie
  1. <?php
  2. mysql_connect('localhost','admin','haslo');//nazwa uzytkownika i haslo do bazy
  3. mysql_select_db('avonshop'); // baza - nazwa bazy danych
  4. if(!isset($_GET['id']))$_GET['id']=0; //tutaj miałybyć 0 biggrin.gif
  5. if(strlen($_GET['id'])>4)$_GET['id']=0; //zeby kto jakiegos numeru nie zrobil;
  6.  
  7. $result = mysql_query('Select * from kategorie where parent='.$_GET['id'].';');
  8.  
  9. if($result){
  10. while(($row = mysql_fetch_array($result))!=null){
  11.  echo '<a href="index.php?id='.$row['id'].'"><b>'.$row['kategoria'].'</b> - '.$row['id_rodzica'].'</a>';
  12.  }
  13. }
  14. ?>
Lecz nie wiem czy dobrze bo nic mi nie wyswietla sadsmiley02.gif

A ten kod z koleii ma wyswietlic jak w tamtym przykladzie opisy a u mnie chciałbym aby wyswietlało produkty
  1. <?php
  2. mysql_connect('localhost','admin','haslo');//nazwa uzytkownika i haslo do bazy
  3. mysql_select_db('avonshop'); // baza - nazwa bazy danych
  4. if(!isset($_GET['id']))$_GET['id']=1;
  5. if(strlen($_GET['id'])>4)$_GET['id']=1; //zeby kto jakiegos numeru nie zrobil;
  6.  
  7. $result = mysql_query('Select * from produkty where catid='.$_GET['id']);
  8.  
  9. if($result){
  10. while(($row=mysql_fetch_array($result))!=null){
  11.  echo '<p>'.$row['nazwa'].'</p>';
  12.  echo '<p>'.$row['obrazek'].'</p>';
  13.  echo '<p>'.$row['opis'].'</p>';
  14.  echo '<p>'.$row['cena'].'</p>';
  15.  
  16. }
  17. }
  18. ?>
tutaj tez nie wiem czy dobrze wprowadzilem zmiany sad.gif Jak wczesniej pisałem nie wiem ocb w tym wiec prosiłbym o jakies sugestie co o tym sadzicie i jakbyscie sami takie cos rozwiązali smile.gif

Teraz na stronie którą robie produkty wyswietlane sa poprostu z tabeli produkty w ten sposob :

--->EDIT <---
Kod który wyswietla wygląda tak ;>
  1. <?php
  2. while($wynik and $dane = mysql_fetch_assoc($wynik)) { // echo $dane["id"], itd... albo foreach($dane as $pole) echo " [$pole] ";
  3. echo "<div style="float : left; width : 250px; font-size : 12px;">
  4. <div style="margin-top : 15px; margin-bottom : 15px;">
  5.  &nbsp;&nbsp;<strong>$dane[nazwa]</strong><br />
  6.  <div style="background : url(img/hr.gif) repeat-x; width : 240px;"> &nbsp;</div>
  7.  <div style="width : 250px; height : 150px;">
  8.  <div style="float : left; width : 100px;">
  9. <img src="$dane[obrazek]" alt=" " border="0" style="float : left;" />
  10. </div>
  11. <div style="float : right; width : 150px;">
  12. $dane[opis]
  13. </div>
  14. </div>
  15. <div style="width : 250px; text-align : center;">
  16. <div style="float : left; width : 125px;">
  17. &nbsp;&nbsp;&nbsp;<strong>Cena: $dane[cena]</strong>
  18. </div>
  19. <div style="float : right; width : 125px;">
  20. &nbsp;&nbsp;&nbsp;<strong><a href="index.php?fhu=koszyk&id=$dane[id]">do koszyka</a></strong>
  21. </div>
  22. </div>
  23. </div>
  24. </div>";
  25. }
  26. ?>

--->END EDIT<---

nie wiem co jescze mógłbym napisac sad.gif
prosze o pomoc w razie jakis pytan oczywiscie zaraz odpisze smile.gif


Czy naprawde nikt nie wie jak mi pomoc sad.gif questionmark.gif

Ten post edytował FliSs_tCv 22.07.2007, 15:19:19


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
WiTO
post
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.04.2007

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


Jest wiele sposobów na wyciąganie informacji z mysql za pomocą php, niestety jestem z nich wszystkich tępy... za wyjątkiem jednej niezawodnej.



  1. <?php
  2. mysql_connect('localhost','twój_login','twoje_hasło');
  3. mysql_select_db('avonshop'); 
  4. if(!isset($_GET['id']))$_GET['id']=0; 
  5. if(strlen($_GET['id'])>4)$_GET['id']=0; 
  6.  
  7.  
  8. $zapytanie = 'SELECT * FROM kategorie WHERE id_rodzica='.$_GET[id]; // !!! id_rodzica, a nie parent, tak jak w tabeli !!!
  9.  
  10. $odpowiedz = mysql_query($zapytanie) or die(mysql_error());
  11.  
  12. while ($wiersz = mysql_fetch_array($odpowiedz)) {
  13. extract($wiersz);
  14.  
  15. echo '<a href=index.php?id='.$id.'><b>'.$kategoria.'</b> - '.$id_rodzica.'</a><br>';
  16.  
  17. }
  18.  
  19. ?>


Jak cuś nie pasi to krzyczeć!


A co do reszty to zależy wszystko od tego jak chcesz, żeby to na koniec wyglądało...
Ewentualnie jest sposób pośmigania po innych sklepach w necie i wybór tego, kótry się nam najbałdziej podoba...



EDIT: O żesz! Wpisałem własny login i hasło do serwa haha.gif!

Ten post edytował WiTO 22.07.2007, 15:27:59
Go to the top of the page
+Quote Post
FliSs_tCv
post
Post #3





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


Super kategorie sie wyswietlają a w jaki sposob polączyc produkty z kategorią ?
bo mam juz dodane produkty jak widziałes na obrazku no nie wiem jak je podpiac pod dana kategorie zauszmy (produkty jak najbardziej przykladowowe narazie tongue.gif)

dodam ze pole które dodałem do tabeli z produktami tak jak bylo opisane na przykladzie to id_rodzica no ale nadal nie wiem jak to zalatwic poprzes skrypt cool.gif


--------------------
Go to the top of the page
+Quote Post
WiTO
post
Post #4





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.04.2007

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


No ja nie wiem... Chodzi o mniej więcej coś w tym stylu questionmark.gif

  1. <?php
  2. mysql_connect('localhost','konto','hasło');
  3. mysql_select_db('avonshop'); 
  4. if(!isset($_GET['id']))$_GET['id']=0; 
  5. if(strlen($_GET['id'])>4)$_GET['id']=0; 
  6.  
  7.  
  8. $zapytanie = 'SELECT * FROM kategorie WHERE id_rodzica='.$_GET[id]; 
  9.  
  10. $odpowiedz = mysql_query($zapytanie) or die(mysql_error());
  11.  
  12. while ($wiersz = mysql_fetch_array($odpowiedz)) {
  13. extract($wiersz);
  14.  
  15. echo '<a href=index.php?id='.$id.'><b>'.$kategoria.'</b> - '.$id_rodzica.'</a><br>';
  16.  
  17. }
  18. // od tgo miejsca zaczynamy wyświetlać produkty
  19.  
  20. echo '<br><br>Produkty:<br>';
  21.  
  22.  
  23. $zapytanie = 'SELECT * FROM produkty WHERE id_kategorii='.$_GET[id]; 
  24.  
  25. $odpowiedz = mysql_query($zapytanie) or die(mysql_error());
  26.  
  27. while ($wiersz = mysql_fetch_array($odpowiedz)) {
  28. extract($wiersz);
  29.  
  30. echo $nazwa,'<br>';
  31.  
  32. }
  33.  
  34.  
  35.  
  36. ?>


To jest tylko ogólny przykład, bo braków tu od groma...
Go to the top of the page
+Quote Post
FliSs_tCv
post
Post #5





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


Ok Dzieki smile.gif postaram sie z tego cos wykonać smile.gif pozdrawiam smile.gif w razie prosbemow napisze smile.gif

Miałbym jeszcze jedno pytanie jak wykonac produkt specialny juz wyjasniam smile.gif
chodzilo by oto ze w tabeli produkty
  1. CREATE TABLE `produkty` (
  2. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `id_kategorii` int(10) NOT NULL,
  4. `nazwa` varchar(200) NOT NULL,
  5. `obrazek` varchar(200) NOT NULL,
  6. `opis` varchar(400) NOT NULL,
  7. `cena` float(7,2) NOT NULL DEFAULT '0.00',
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=latin2 AUTO_INCREMENT=13 ;
bylo by pole oferta_specjalna jescze jej nie ma jak widzicie bo nie wiem jak takie cos wykonac ;]
widze to tak ze podczas dodawania lub edycji produktów mozna bylo by wstawic np 2 pola radio z html winksmiley.jpg
czyli nadalibysmy im jakies wartosci zauszmy jezeli mialo by byc wyswietlone opcja = tak (wartośc wynosiła by 1) opcja = nie (wartosc wynosiła by 0) to jest moja teoria smile.gif gorzej bedzie z praktyka bynajmniej dla mnie poczatkującego sad.gif

1 pytanie typu jakie wartosci musialbo by miec pole oferta_specjalna w tabeli z produktami?
2 pytanie typu jak stworzyc formularz aby polaczyc te pola radio (totalnie nie mam pojęcia jak to wykonac sad.gif)
3 pytanie typu jak napisac warunek aby przy opcji=tak dodano i wyswietlono go w polu do tego wyznaczonym oraz opcji = nie poprostu nic tam nie bedzie

poszperam teraz w google jeszcze raz moze uda mi sie cos znalesc bo wiem ze widzialem cos ale to nie bylo raczej to sad.gif dlatego nie przykułem do tego wiekszej uwagi . Pozdrawiam

Ten post edytował FliSs_tCv 22.07.2007, 21:16:18


--------------------
Go to the top of the page
+Quote Post
WiTO
post
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.04.2007

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


1. Zależy ile chcesz znaków w tej ofercie. Jak do 255 to varchar(255), a jak więcej to lepiej text.
2. Ja zawsze stosuję int(1), bo wiem, że działa na każdej wersji myaql i na każdym systemie ;p,
przyjmuję 0-fałsz, 1-prawda.

Skrypt:

  1. <?php
  2.  
  3. mysql_connect('localhost','log','haslo');
  4. mysql_select_db('avonshop'); 
  5.  
  6. $sql="ALTER TABLE `produkty` ADD `oferta_specjalna` TEXT NOT NULL,ADD `radio` INT( 1 ) NOT NULL"; //usuń backslash
  7. $wykonaj=mysql_query($sql) or die(mysql_error());
  8. ?>


3. Rozbudować skrypt:

  1. <?php
  2. echo '<br><br>Produkty:<br>';
  3.  
  4.  
  5. $zapytanie = 'SELECT * FROM produkty WHERE id_kategorii='.$_GET[id]; 
  6.  
  7. $odpowiedz = mysql_query($zapytanie) or die(mysql_error());
  8.  
  9. while ($wiersz = mysql_fetch_array($odpowiedz)) {
  10. extract($wiersz);
  11.  
  12. echo $nazwa,'<br>';
  13.  
  14. if ($radio==1){  // tu sie zaczyna
  15. echo 'Oferta specjalna';
  16. echo $oferta_specjalna;
  17.  
  18. } // tu kończy
  19.  
  20. }
  21. ?>
Go to the top of the page
+Quote Post
FliSs_tCv
post
Post #7





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


w odpowiedzi tego kodu dostaje to :

Powtórzona nazwa kolumny 'oferta_specjalna' ... nie wiem ocb chyba nie o taki skrypt chodzilo tongue.gif chodzi o wyswietlenie produktu wtedy kiedy bedzie 1 a jak bedzie 0 nie ma byc nic smile.gif


--------------------
Go to the top of the page
+Quote Post
WiTO
post
Post #8





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.04.2007

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


  1. <?php
  2. echo '<br><br>Produkty:<br>';
  3.  
  4.  
  5. $zapytanie = 'SELECT * FROM produkty WHERE id_kategorii='.$_GET[id].' AND ratio=1'; // tu to dodać
  6.  
  7. $odpowiedz = mysql_query($zapytanie) or die(mysql_error());
  8.  
  9. while ($wiersz = mysql_fetch_array($odpowiedz)) {
  10. extract($wiersz);
  11.  
  12. echo $nazwa,'<br>';
  13.  
  14.  
  15.  
  16. }
  17. ?>


No a ten błąd to dlatego, że już raz odpaliłeś ten skrypt i ta kolumna już jest i wyskakuje błąd, że jest ona powtórzona, powyższy skrypt wyświetli wszystkie produkty, które mają wartość 1 w kolumnie "ratio" (chcesz zmień nazwę tongue.gif )
Go to the top of the page
+Quote Post
FliSs_tCv
post
Post #9





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


teraz wystąpiło cos takiego smile.gif echo produkty dziala jak widac ponizej ale cos z tym radio nie ;>

Produkty:
Something is wrong in your syntax obok 'AND ratio=1' w linii 1


--------------------
Go to the top of the page
+Quote Post
strife
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(FliSs_tCv @ 23.07.2007, 22:21:29 ) *
teraz wystąpiło cos takiego smile.gif echo produkty dziala jak widac ponizej ale cos z tym radio nie ;>

Produkty:
Something is wrong in your syntax obok 'AND ratio=1' w linii 1


Poczytaj o sql injection, widzę, że nie filtrujesz danych które przychodzą ( $_GET['id'] ). Co do Twojego błędu, ratio napewno jest typu integer ?


--------------------
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 Aktualny czas: 20.08.2025 - 09:49