Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
PHP MYSQL, dodawanie do koszyka - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: PHP MYSQL, dodawanie do koszyka (/thread-php-mysql-dodawanie-do-koszyka)



PHP MYSQL, dodawanie do koszyka - php_mysql - 20-03-2011

Witam, mam nadzięję że znajdzie się ktoś zorientowany w temacie ... otóż mam skrypt dodawania do koszyka... Id_wyb_rab pobiera z formularza na stronie szczegoly_rabatu... w momencie dodania do koszyka ten artykul sie dodaje, jednakże dodaje się jeden za drugim, nawet gdy są to te same artykuły zamiast aktualizować dane..
Kod PHP:
if (isset($_POST["id_wyb_rab"])) {
    
if (isset(
$_SESSION['user_id']) and isset($_SESSION['login'])) { // dostęp dla zalogowanego użytkownika
//dodanie danych do tabeli  koszyk_klienta
$dodajdokosz "INSERT INTO koszyk_klienta (id_sesji, id_user, id_wyb_rab, ilosc_wyb_rab, data_dodania) 
VALUES ('"
.$_COOKIE["PHPSESSID"]."', '".$_SESSION['user_id']."','".$_POST["id_wyb_rab"]."', 
'"
.$_POST["ilosc_wyb_rab"]."', now())";
}
else {
$dodajdokosz "INSERT INTO koszyk_klienta (id_sesji,id_wyb_rab, ilosc_wyb_rab, data_dodania) 
VALUES ('"
.$_COOKIE["PHPSESSID"]."', '".$_POST["id_wyb_rab"]."', '".$_POST["ilosc_wyb_rab"]."', now())";
}
$wynikmysql_query($dodajdokosz$lacze) or die(mysql_error($mysql));
header("Location: index.php?id&koszyk");            //przekierowuje na stronę pokazkoszyk
}
} else {
header("Location: index.php");     //odsyła gdzie indziej
  

jednakże gdy dodam do tego by wyszukiwało w koszyku czy nie ma już takiego rabatu to nie działa
Kod PHP:
if (isset($_POST["id_wyb_rab"])) {

$kosz="select id_koszyk, id_wyb_rab, ilosc_wyb_rab from koszyk_klienta where id_wyb_rab='".$wyb_rab."' and (id_sesji ='".$_COOKIE["PHPSESSID"]."') OR (id_user = '".$_SESSION['user_id']."') ";
$wynik=mysql_query($kosz,$lacze) or die(mysqli_error($mysql));
$ile=mysql_num_rows($wynik);
    if (
$ile ==null)     {
    
//    echo "w koszyku nie ma takiego rabatu".$ile;
        
if (isset($_SESSION['user_id']) and isset($_SESSION['login'])) { // dostęp dla zalogowanego użytkownika
           //dodanie danych do tabeli  koszyk_klienta
           
$dodajdokosz "INSERT INTO koszyk_klienta
            (id_sesji, id_user, id_wyb_rab, ilosc_wyb_rab, data_dodania) 
            VALUES ('"
.$_COOKIE["PHPSESSID"]."', '".$_SESSION['user_id']."',
            '"
.$_POST["id_wyb_rab"]."', '".$_POST["ilosc_wyb_rab"]."', now())";
            }
else {
           
$dodajdokosz "INSERT INTO koszyk_klienta
            (id_sesji,id_wyb_rab, ilosc_wyb_rab, data_dodania) 
            VALUES ('"
.$_COOKIE["PHPSESSID"]."', '".$_POST["id_wyb_rab"]."', '".$_POST["ilosc_wyb_rab"]."', now())";

}
}
        else {
    
//    echo "większe od jeden".$ile;         echo "wybrano juz rabat ";
        
$row mysql_fetch_array($wynik); 
               
$rab =  stripslashes($row['id_wyb_rab']);
                       
$ilosc =  stripslashes($row['ilosc_wyb_rab']);
                        
//    echo $rab; echo $ilosc;
                        
$dodajdokosz="Update koszyk_klienta set ilosc_wyb_rab=ilosc_wyb_rab+$ilrab where id_wyb_rab=$wyb_rab";
        }
          
$wynikmysql_query($dodajdokosz$lacze) or die(mysql_error($mysql));
                           
//przekierowuje na stronę pokazkoszyk
           
header("Location: index.php?id&koszyk");
                
} else {
    
//odsyła gdzie indziej
    //header("Location: index.php");
    

widzi tu ktoś błąd którego ja nie widzę ?
Proszę o nakierowanie Smile


RE: PHP MYSQL, dodawanie do koszyka - Kartofelek - 21-03-2011

A unikalny index ma ustawiony?

Poza tym to można zrobić w 1 linijce:

"INSERT INTO TABELA_XXX (x,y,z) values(valX, valY, valZ) ON DUPLICATE KEY UPDATE x='valX', y='valY', z='valZ'"


RE: PHP MYSQL, dodawanie do koszyka - s_y_l_a_r - 25-03-2011

Ja stworzyłem coś takiego może się przyda.
.tar   koszyk.tar (Rozmiar: 100 KB / Pobrań: 11)