Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z dodawaniem produktów
jaros
post 20.01.2006, 21:03:21
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 4.01.2006

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


Witam!
Mam problem z dodawaniem produktów do tabeli.
Gdy dodam jeden produkt to w tabeli pojawiają się dwa wpisy.

pierwszy jest wypełniony danymi o produkcie , natomiast drugi jest pusty.
Co może być nie tak?questionmark.gif
Go to the top of the page
+Quote Post
LBO
post 20.01.2006, 21:06:31
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


podaj kod php..ale najwyrazniej 2 razy uzywasz komendy INSERT
Go to the top of the page
+Quote Post
jaros
post 20.01.2006, 21:07:53
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 4.01.2006

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


Kod
  1. <?php
  2.  
  3.  
  4. if ($_SESSION['login'] =$login)
  5. {
  6.  
  7. $zapytanie = "INSERT INTO koszyk (lp, nazwap) VALUES ('NULL', '".$_POST['idprod']."')";
  8. $wynik = mysql_query($zapytanie) or die ("Próba polączenia się nie udała");
  9.  
  10.  
  11.  
  12. }
  13. else
  14. {
  15. echo "<center><b><font color=red size=3>";
  16. echo "Opcja dostępna po zalogowaniu.";
  17. echo "</center></b></font>";
  18. }
  19.  
  20. ?>
Go to the top of the page
+Quote Post
SongoQ
post 20.01.2006, 21:10:42
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Moze masz jakas petle, tan kod co podales duzo nie mowi. Wstawiaj co kilka lini echo i zobacz cos sie 2 razy wykonuje.


--------------------
Go to the top of the page
+Quote Post
jaros
post 20.01.2006, 21:18:07
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 4.01.2006

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


Może zacznę od początku :

Mam tabele katprod:
  1. CREATE TABLE katprod (
  2. idkat int(11) NOT NULL AUTO_INCREMENT,
  3. nazwakat varchar(60) DEFAULT NULL,
  4. PRIMARY KEY (idkat)
  5. ) TYPE=MyISAM;


plik index.php - wyświetlam listę wszystkich kategorii z tabeli katprod:

  1. <? 
  2. require ('polaczenie.php');
  3. $wynik = mysql_query ('SELECT * FROM katprod ORDER BY nazwakat');
  4.  
  5. while ($row = mysql_fetch_array($wynik)) 
  6. {
  7.  
  8.  
  9. echo "
  10. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  11. <img src="grafika/m02.gif">
  12. <a href="prod_wgkat.php?idkat=$row[idkat]">
  13. <strong>$row[nazwakat]</strong></a><br>
  14. <img src="grafika/m03.gif" width=190><br><br>";
  15.  
  16. }
  17.  
  18. ?>


następnie przechodzę do pliku prod_whkat.php gdzie wyświetlam listę produktów
odpowiadających wybranej kategori.

tabela produkty:
  1. CREATE TABLE produkty (
  2. idprod int(11) NOT NULL AUTO_INCREMENT,
  3. idkat int(11) DEFAULT NULL,
  4. nazwap varchar(60) DEFAULT NULL,
  5. producent varchar(40) DEFAULT NULL,
  6. zdjeciem varchar(60) NOT NULL DEFAULT '',
  7. opis varchar(255) DEFAULT NULL,
  8. gwarancja varchar(30) DEFAULT NULL,
  9. cena varchar(20) DEFAULT NULL,
  10. promocja char(2) DEFAULT NULL,
  11. dostepnosc varchar(5) DEFAULT NULL,
  12. PRIMARY KEY (idprod)
  13. ) TYPE=MyISAM;


Gdy wybiorę jakiś produkt przechodzę do pliku inf_oprod.php dzie wyświetlam dane po pordukcie:
  1. <?
  2. include ('polaczenie.php');
  3.  
  4. $zapytanie = mysql_query("SELECT idprod FROM produkty WHERE idprod = $_GET[idprod]") ;
  5.  
  6. ?>
  7. <strong><font size="4">Nazwa towaru:</font> </strong> <br>
  8.  
  9.  
  10. <FORM METHOD="post" ACTION="koszyk.php">
  11.  
  12. <input type="hidden" name="idprod" value="<? echo "$idprod"; ?>">
  13.  
  14. <INPUT TYPE="SUBMIT" NAME="submit" VALUE="Dodaj do koszyka"><br><br>


Po wciśnieciu przycisku dodaj do koszyka przechodzę do pliku koszyk.php

  1. <?
  2.  
  3. if ($_SESSION['login'] =$login)
  4. {
  5.  
  6. $zapytanie = "INSERT INTO koszyk (lp, nazwap) VALUES ('NULL', '".$_POST['idprod']."')";
  7. $wynik = mysql_query($zapytanie) or die ("Próba polączenia się nie udała");
  8.  
  9.  
  10.  
  11. }
  12. else
  13. {
  14. echo "<center><b><font color=red size=3>";
  15. echo "Opcja dostępna po zalogowaniu.";
  16. echo "</center></b></font>";
  17. }
  18.  
  19.  
  20. ?>


No i właśnie tu pojawia się problem w tabeli koszyk:

  1. CREATE TABLE koszyk (
  2. lp int(11) NOT NULL AUTO_INCREMENT,
  3. nazwap varchar(20) NOT NULL DEFAULT '',
  4. PRIMARY KEY (lp)
  5. ) TYPE=MyISAM;


mam dwa wpisy jeden wypełniony , a drugi pusty .
Co może być nie tak?questionmark.gif?
Go to the top of the page
+Quote Post
LBO
post 20.01.2006, 21:39:30
Post #6





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


widac, ze duzo poobcinales tego kodu.. hmmm.. to moze byc wina includowania... gdzie zapomniales skasowac mysql_query($zapytanie); i sie wykonuje dwukrotnie... ale rzeczywiscie.. powstawiaj echo.. np po kazdym wazniejszym uzyciu mysql_query();
Go to the top of the page
+Quote Post
jaros
post 20.01.2006, 21:43:49
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 4.01.2006

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


Nie rozumiem o cochodzi z tym:

gdzie zapomniales skasowac mysql_query($zapytanie); i sie wykonuje dwukrotnie... ale rzeczywiscie.. powstawiaj echo.. np po kazdym wazniejszym uzyciu mysql_query();
Go to the top of the page
+Quote Post
LBO
post 20.01.2006, 22:02:36
Post #8





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


bo w kodzie ktory dales nie ma bledu.. INSERTOWANIE wykonuje sie raz... wiec problem lezy gdzies w reszcie kodu
Go to the top of the page
+Quote Post
jaros
post 20.01.2006, 22:05:34
Post #9





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 4.01.2006

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


Sorrki

Na początku pliku koszyk.php mam jeszcze sessin_start();

include ('polaczenie.php);

A wersja php może mieć z tym coś wspólnego??/

korzystam z php 4.1.1

Ten post edytował jaros 20.01.2006, 22:10:03
Go to the top of the page
+Quote Post
SongoQ
post 20.01.2006, 22:21:40
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Wersja nie, masz wywolywany 2 razy ten sam kod!


--------------------
Go to the top of the page
+Quote Post
jaros
post 20.01.2006, 22:22:41
Post #11





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 4.01.2006

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


w którym miejscu jest ten bład?questionmark.gif

Ten post edytował jaros 20.01.2006, 22:28:01
Go to the top of the page
+Quote Post
LBO
post 20.01.2006, 22:28:34
Post #12





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


sluchaj... prosze... wpisz po kazdym mysql_query() w ktorym uzywasz komendy INSERT jakies echo(); wpisz w nim krotkie info o miejscu w skrypcie... jak nie bedziesz umial outputu zanalizowac to wroc na forum..

musisz sie nauczyc debugowac swoje skrypty

Ten post edytował LBO 20.01.2006, 22:29:31
Go to the top of the page
+Quote Post
jaros
post 20.01.2006, 22:31:07
Post #13





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 4.01.2006

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


Możesz mi to napisać jak to ma wygladać bo nie bardzo wiem jak sie do tego zabrać
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: 24.07.2025 - 20:02