![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 19.01.2008 Skąd: Kalisz / Legnica Ostrzeżenie: (0%) ![]() ![]() |
Witajcie;
Mam dość dziwny problem z moim koszykiem. Mianowicie całość działa z grubsza poprawnie, to jest bardzo prosty koszyk, niestety nie chce mi dodawać zamówienia do bazy poczas finalizowania zamówienia. Nowego klienta dodaje bez problemu, gorzej z dodaniem właśnie zamówienia do tabeli tblzamowienia. Rozkładam już ręce normalnie. Czy mógłby mi ktoś z tym pomóc? Dodam, iż projekt stworzyłem na potrzeby nauki... tylko i wyłącznie. Pozdrawiam serdecznie D(T)T link do całości: http://s006.wyslijto.pl/?file_id=042567943275946435117675894 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 656 Pomógł: 3 Dołączył: 26.10.2005 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
jak ktoś ma ci pomoc człowieku? nikt nie jest jasnowidzem twojego mózgu.
Napisz swoje zapytanie do bazy, sposób w jaki go wywołujesz i strukture tabeli. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 19.01.2008 Skąd: Kalisz / Legnica Ostrzeżenie: (0%) ![]() ![]() |
Witam;
Nie dołączałem kodu, ponieważ pod postem dałem link do całości. W taki razie wklejam poniżej jak to wygląda: ============= pamieci.php ->dodanie czegos do koszyka $wynik = mysql_query("SELECT IdProduktu, Model, Cena FROM tblprodukty WHERE IdKategorii=4"); while($wiersz = mysql_fetch_row($wynik)) { echo ' <div class="model2"><a href="opis.php?id='; echo $wiersz[0]; echo '&IdKategorii=4" class="linia">'; echo $wiersz[1]; echo '</a></div>'; echo '<div class="cena2">'; echo $wiersz[2]; echo '</div>'; echo '<div class="koszyk2">'; echo '<a href="koszyk.php?id='.$wiersz[0].'&IdKategorii=4"><img src="../files/kosz.gif" alt="Koszyk" /></a>'; echo '</div>'; } =================koszyk.php ->lista produktów $id_produktu=$_GET['id']; if(isset($id_produktu)) $_SESSION['koszyk'][$id_produktu]+=1; foreach ($_SESSION['koszyk'] as $p => $produkt) { $q=mysql_query("SELECT * FROM tblprodukty WHERE IdProduktu='$p'"); $row=mysql_fetch_array($q); ?> <div style="background-color:#FFFFFF; margin:3px; padding:5px;"> <div style="font-weight:bold; float:left;"><?php echo $row['Model'];?></div> <div style="float:right;"><?php echo $_SESSION['koszyk'][$p]?> szt.</div> <div style="clear:both;"></div> <div style="float:left; width:150px;"><?php echo $row['Producent'];?></div> <div style="float:left;"><?php echo $row['Cena']; ?> zł</div> <div style="float:right;"><a href="usun_produkt.php?id=<?php echo $row['IdProduktu'] ?>" style="text-decoration:none; color:red; font-weight:bold;">[ USUŃ ]</a></div> <div style="clear:both;"></div> </div> <?php $koszt+=$row['Cena'] * $_SESSION['koszyk'][$p]; } echo'<div style="margin-top:20px; font-weight:bold; font-size:13px; float:left;">Wartość zakupu: '.$koszt.' zł</div><div style="margin-top:20px;float:right;"><a href="kasa.php">Do kasy</a></div>'; ======= usun_produkt.php $id_produktu=$_GET['id']; if( count($_SESSION['koszyk'])>0 ) { unset($_SESSION['koszyk'][$id_produktu]); @header ('Location: koszyk.php'); } echo 'Usunięto produkt z koszyka'; ======== kasa.php - tutaj wypełniam formularz i zapisuje dane do tabeli, no i wlasnie nie chce mi zapisac do tabeli tblzamowienia if( !isset($_POST['imie']) ) { ?> <form method="post" action="kasa.php"> <table> <tr><td>Imię:</td><td><input type="text" name="imie" style="border:1px solid #515151; width:300px;" /> </td></tr> <tr><td>Nazwisko:</td><td><input type="text" name="nazwisko" style="border:1px solid #515151; width:300px;" /> </td></tr> <tr><td colspan="2"> </td></tr> <tr><td>Kod pocztowy:</td><td><input type="text" name="kod_pocztowy" style="border:1px solid #515151; width:300px;" /> </td></tr> <tr><td>Miejscowość:</td><td><input type="text" name="miejscowosc" style="border:1px solid #515151; width:300px;" /> </td></tr> <tr><td>Adres:</td><td><input type="text" name="adres" style="border:1px solid #515151; width:182px;" /> </td></tr> <tr><td colspan="2"> </td></tr> <tr><td>Telefon:</td><td><input type="text" name="telefon" style="border:1px solid #515151; width:300px;" /> </td></tr> <tr><td>Adres e-mail:</td><td><input type="text" name="email" style="border:1px solid #515151; width:300px;" /> </td></tr> <tr><td></td><td><input type="image" src="gfx/btn_zamow.jpg" /></td></tr> </table> </form> <?php } else { $error=0; $error_msg="Nie można dokończyć transakcji, ponieważ: <br />"; $imie=trim(strip_tags(addslashes($_POST['imie']))); $nazwisko=trim(strip_tags(addslashes($_POST['nazwisko']))); $kod_pocztowy=trim(strip_tags(addslashes($_POST['kod_pocztowy']))); $miejscowosc=trim(strip_tags(addslashes($_POST['miejscowosc']))); $adres=trim(strip_tags(addslashes($_POST['adres']))); $telefon=trim(strip_tags(addslashes($_POST['telefon']))); $email=trim(strip_tags(addslashes($_POST['email']))); if( !$imie ) { $error_msg.="+ nie podano imienia<br />"; $error=1; } if( !$nazwisko ) { $error_msg.="+ nie podano nazwiska<br />"; $error=1; } if( !$kod_pocztowy ) { $error_msg.="+ nie podano kodu pocztowego<br />"; $error=1; } if( !$miejscowosc ) { $error_msg.="+ nie podano miasta<br />"; $error=1; } if( !$adres ) { $error_msg.="+ nie podano nazwy ulicy<br />"; $error=1; } if( !$telefon ) { $error_msg.="+ nie podano telefonu<br />"; $error=1; } if( !$email ) { $error_msg.="+ nie podano adresu e-mail<br />"; $error=1; } if( $error ) printf("%s",$error_msg); else { $q=mysql_query("INSERT INTO tblklienci (Imie, Nazwisko, Adres, KodPocztowy, Miejscowosc, Telefon, email) VALUES ('$imie','$nazwisko','$adres','$kod_pocztowy','$miejscowosc','$telefon','$email')"); if( !$q ) print ("Dane <b>nie</b> zostały dodane do bazy. Prosimy o kontakt z administratorem."); else { $IdKlienta=mysql_insert_id(); for($i=0;$i<count($koszyk);$i++) { $IdProduktu=$koszyk[$i]; //-------------------------------------------------------------------------odnalezienie ceny- $q_cena=mysql_query("SELECT * FROM tblprodukty WHERE tblprodukty.IdProduktu='$IdProduktu'"); $row_cena=mysql_fetch_array($q_cena); $cena=$row_cena['Cena']; //-------------------------------------------------------------------------odnalezienie ceny- $data=date("Y-m-d"); $q=mysql_query("INSERT INTO tblzamowienia (IdProduktu, IdKlienta, Wartosc, Data) VALUES ('$IdProduktu','$IdKlienta','$cena','$data')"); //printf("%s ksiazkaid: %s, cena: %s, data: %s<br /><br />",$osobaid,$ksiazkaid,$cena,$data); } if ($q==TRUE) { printf("Zamówienie zostało przyjęte. Dziękujemy; cena".$cena." i data".$data." i idklienta".$IdKlienta." oraz idproduktu".$IdProduktu."!"); } else { echo 'Nie udało się dodać zamówienia';} } } } ======== tblzamowienia: IdZamowienia int(10) UNSIGNED Nie uto_increment IdProduktu int(10) UNSIGNED Nie 0 IdKlienta int(10) UNSIGNED Nie 0 Wartosc float(7,2) Tak NULL Data date Nie 0000-00-00 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ale co się dzieje? Co się wyświetla? Nic, czy komunikat `Nie udało się dodać zamówienia` ?
Zastosuj mysql_error()" title="Zobacz w manualu PHP" target="_manual i print_r()" title="Zobacz w manualu PHP" target="_manual w kilku miejscach i sam dojdziesz do tego, co jest nie tak. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 19.01.2008 Skąd: Kalisz / Legnica Ostrzeżenie: (0%) ![]() ![]() |
hmm no jak sprawdzielm, na zasadzie wyswietlenia wartosci... to tylko IdKlienta mi dało jakas wartosc, przy reszcie mialem pusto.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Sprawdzaj za pomocą jednej z funkcji print_r" title="Zobacz w manualu PHP" target="_manual, var_dump" title="Zobacz w manualu PHP" target="_manual czy var_export" title="Zobacz w manualu PHP" target="_manual wartości tych zmiennych, które zapisujesz do tabeli, bo skoro jedna ma wartość a inne nie, to znaczy po prostu, że zapisujesz puste zmienne, a nie że jest problem z bazą czy zapytaniem.
P.S. Stosuj odpowiednie BBCode, bo Twój kod jest niewyraźny i mało czytelny. Ten post edytował Hazel 19.01.2008, 18:16:41 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 19.01.2008 Skąd: Kalisz / Legnica Ostrzeżenie: (0%) ![]() ![]() |
Już chyba wiem w czym problem. Jak dodałem linijke:
else { $koszyk=$_SESSION['koszyk']; $IdKlienta=mysql_insert_id(); to zaczęła pokazywać się data. Myślę, że sesja źle przekazuje IdProduktu... dlatego nie ma ceny i nie dodaje do bazy.. Zna ktos rozwiązanie na to? jak dalem instrukcje print_r, to dostalem cos takiego jak Array[1] => 1 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:33 |