Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: pro galereu i ege voprosi
 
 автор: mikko   (14.09.2005 в 10:47)   письмо автору
 
 

Privet vsem

vot kakie voprosi koya kak ya vse taki prikrepil k katalogu korzinu pokupok, no ne kak ne poimu kak mne sdelat vibor zeni, naprimer esli 4elovek xo4et kupit srednii razmer kak mne isklu4it popadaniya v korzinu vsex zen, a peredat tolko vibranuu zenu.

a ege o4en interesuet kak mne razbit galereu na neskolko straniz, prosto u mena polu4aetsa slichkom mnogo fotok na kategoriu nugno razbivat na stranizi


spasibo bolchoe za otveti.

   
 
 автор: cheops   (14.09.2005 в 13:46)   письмо автору
 
   для: mikko   (14.09.2005 в 10:47)
 

Хм... так а вы запрашивайте цену из базы данных по первичному ключу товарной позиции...

   
 
 автор: mikko   (14.09.2005 в 14:15)   письмо автору
 
   для: cheops   (14.09.2005 в 13:46)
 

da ya v korzinu po pervi4nomu klu4u, a moget v kataloge lu4che sdelat vipodaugim spiskom gde 3 razmera i v zavisimosti ot razmera v korzinu perexodit 1 zena, a ostavchiesa 2 ignoriruem.

   
 
 автор: mikko   (14.09.2005 в 19:39)   письмо автору
 
   для: cheops   (14.09.2005 в 13:46)
 

наконец -то я дома и могу нормально написать изложить свои мысли, по поводу фотогалереи, как разбить на несколько страниц подойдет ваша статья или нет?

еще по поводу каталогу, я тащу позицию в корзину при помощи первичного ключа, а потом в корзине уже при помощи вот такого запроса


$result = mysql_query("select * from cart inner join product on cart.itemId = product.itemId where cart.cookieId = '" . GetCartId() . "' order by product.itemName asc");


то есть грубо говоря после уже выбираю все из таблицы продукты, кроме ID клиента и т.д., вот как дальше помогите великие гуру :))

вижу как вариант на страничке каталога когда клиент выберает товат в корзину, поставить на против каждого товара выпадающий список с размером товара - то есть разной ценой, а далее когда покупатель переходит в корзину там его ждет только нужная цена, можно ли так сделать и если да то КАК, а может что еще есть по красивше.

ДА , я наверное окончательно решил вас достать так как есть еще вопрос как эту красоту по мейлу пердать (заказ из корзины), просто форму я уже передовал с эти вроде проблем нет, но что-то мне подсказывает что сдесь как то по другому, вот скрипт корзины


<?php

    
include("db.php");
        
    switch(
$_GET["action"])
    {
        case 
"add_item":
        {
            
AddItem($_GET["id"], $_GET["qty"]);
            
ShowCart();
            break;
        }
        case 
"update_item":
        {
            
UpdateItem($_GET["id"], $_GET["qty"]);
            
ShowCart();
            break;
        }
        case 
"remove_item":
        {
            
RemoveItem($_GET["id"]);
            
ShowCart();
            break;
        }
        default:
        {
            
ShowCart();
        }
    }

    function 
AddItem($itemId$qty)
    {
        
// Will check whether or not this item
        // already exists in the cart table.
        // If it does, the UpdateItem function
        // will be called instead
        
        
global $dbServer$dbUser$dbPass$dbName;

        
// Get a connection to the database
        
$cxn = @ConnectToDb($dbServer$dbUser$dbPass$dbName);
        
        
// Check if this item already exists in the users cart table
        
$result mysql_query("select count(*) from cart where cookieId = '" GetCartId() . "' and itemId = $itemId");
        
$row mysql_fetch_row($result);
        
$numRows $row[0];
        
        if(
$numRows == 0)
        {
            
// This item doesn't exist in the users cart,
            // we will add it with an insert query

            
@mysql_query("insert into cart(cookieId, itemId, qty) values('" GetCartId() . "', $itemId$qty)");
        }
        else
        {
            
// This item already exists in the users cart,
            // we will update it instead
            
            
UpdateItem($itemId$qty);
        }
    }
    
    function 
UpdateItem($itemId$qty)
    {
        
// Updates the quantity of an item in the users cart.
        // If the qutnaity is zero, then RemoveItem will be
        // called instead

        
global $dbServer$dbUser$dbPass$dbName;

        
// Get a connection to the database
        
$cxn = @ConnectToDb($dbServer$dbUser$dbPass$dbName);
        
        if(
$qty == 0)
        {
            
// Remove the item from the users cart
            
RemoveItem($itemId);
        }
        else
        {
            
mysql_query("update cart set qty = $qty where cookieId = '" GetCartId() . "' and itemId = $itemId");
        }
    }
    
    function 
RemoveItem($itemId)
    {
        
// Uses an SQL delete statement to remove an item from
        // the users cart

        
global $dbServer$dbUser$dbPass$dbName;

        
// Get a connection to the database
        
$cxn = @ConnectToDb($dbServer$dbUser$dbPass$dbName);
        
        
mysql_query("delete from cart where cookieId = '" GetCartId() . "' and itemId = $itemId");
    }
    
    function 
ShowCart()
    {
        
// Gets each item from the cart table and display them in
        // a tabulated format, as well as a final total for the cart
        
        
global $dbServer$dbUser$dbPass$dbName;

        
// Get a connection to the database
        
$cxn = @ConnectToDb($dbServer$dbUser$dbPass$dbName);
        
        
$totalCost 0;
        
$result mysql_query("select * from cart inner join product on cart.itemId = product.itemId where cart.cookieId = '" GetCartId() . "' order by product.itemName asc");
        
?>
        <html>
        <head>
        <title> Your Shopping Cart </title>
        <script language="JavaScript">
        
            function UpdateQty(item)
            {
                itemId = item.name;
                newQty = item.options[item.selectedIndex].text;
                
                document.location.href = 'cart.php?action=update_item&id='+itemId+'&qty='+newQty;
            }
        
        </script>
        </head>
        <body bgcolor="#ffffff">
        <h1>Your Shopping Cart</h1>
        <form name="frmCart" method="get">
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
                <td width="15%" height="25" bgcolor="red">
                    <font face="verdana" size="1" color="white">
                        &nbsp;&nbsp;<b>Qty</b>
                    </font>
                </td>
                <td width="55%" height="25" bgcolor="red">
                    <font face="verdana" size="1" color="white">
                        <b>Product</b>
                    </font>
                </td>
                <td width="20%" height="25" bgcolor="red">
                    <font face="verdana" size="1" color="white">
                        <b>Price Each</b>
                    </font>
                </td>
                <td width="10%" height="25" bgcolor="red">
                    <font face="verdana" size="1" color="white">
                        <b>Remove?</b>
                    </font>
                </td>
            </tr>
            <?php
            
            
while($row mysql_fetch_array($result))
            {
                
// Increment the total cost of all product
                
$totalCost += ($row["qty"] * $row["itemPrice"]);
                
?>
                    <tr>
                        <td width="15%" height="25">
                            <font face="verdana" size="1" color="black">
                                <select name="<?php echo $row["itemId"]; ?>" onChange="UpdateQty(this)">
                                <?php
                                
                                    
for($i 1$i <= 20$i++)
                                    {
                                        echo 
"<option ";
                                        if(
$row["qty"] == $i)
                                        {
                                            echo 
" SELECTED ";
                                        }
                                        echo 
">" $i "</option>";
                                    }
                                
?>
                                </select>
                            </font>
                        </td>
                        <td width="55%" height="25">
                            <font face="verdana" size="1" color="black">
                                <?php echo $row["itemName"]; ?>
                            </font>
                        </td>
                        <td width="20%" height="25">
                            <font face="verdana" size="1" color="black">
                                $<?php echo number_format($row["itemPrice"], 2"."","); ?>
                            </font>
                        </td>
                        <td width="10%" height="25">
                            <font face="verdana" size="1" color="black">
                                <a href="cart.php?action=remove_item&id=<?php echo $row["itemId"]; ?>">Remove</a>
                            </font>
                        </td>
                    </tr>
                <?php
            
}
            
            
// Display the total
            
?>
                    <tr>
                        <td width="100%" colspan="4">
                            <hr size="1" color="red" NOSHADE>
                        </td>
                    </tr>
                    <tr>
                        <td width="70%" colspan="2">
                            <font face="verdana" size="1" color="black">
                                <a href="products.php">&lt;&lt; Keep Shopping</a>
                            </font>
                        </td>
                        <td width="30%" colspan="2">
                            <font face="verdana" size="2" color="black">
                                <b>Total: $<?php echo number_format($totalCost2"."","); ?></b>
                            </font>
                        </td>
                    </tr>
                </table>
                </form>
            </body>
            </html>
            <?php
    
}

?>


я бы так наверное не заваливал, вопросами просто времени нету, а ума на всю красатищу тоже не хватает, спасибо за ответ

   
 
 автор: cheops   (14.09.2005 в 21:38)   письмо автору
 
   для: mikko   (14.09.2005 в 19:39)
 

1) Да статья подойдёт, посмотрите также тему для вывода фотографий в таблице http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=366

>то есть грубо говоря после уже выбираю все из таблицы продукты, кроме ID
>клиента и т.д
2) Если честно не понятно в чём сложность? В запросе, который приведён выше выбирается цена товарной позиции и если нет, то где она выбирается?

>как эту красоту по мейлу пердать (заказ из корзины),
3) А вы чтобы не мучатся поместите весь вывод в буффер - это позволит вам собрать содержимое страницы в одну переменную - её и отправляйте. Вот ссылка на реализацию буффера http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148

PS такие здоровые листинги лучше прикреплять к сообщению.

   
 
 автор: mikko   (15.09.2005 в 13:13)   письмо автору
 
   для: cheops   (14.09.2005 в 21:38)
 

Если честно не понятно в чём сложность? В запросе, который приведён выше выбирается цена товарной позиции и если нет, то где она выбирается?

vot v etom to i delo 4to zena ne viberaetsa ya prosto pereslal iz kataloga tolko odnu zenu dla proverki raboti korzini, u mena v kataloge 3 zeni, nugno mne v kataloge postavit vibor, nu kak lu4che ego realizovat ne znau, ya srazu prekreplu katalog i korzinu.


kstati ssilki kaki eto ne te ?

   
 
 автор: cheops   (15.09.2005 в 14:05)   письмо автору
 
   для: mikko   (15.09.2005 в 13:13)
 

Так а пусть покупатель в корзине уже цену выбирает - а вы в завсимости от его выбора подгружайте цены из базы данных?

   
 
 автор: mikko   (15.09.2005 в 16:48)   письмо автору
 
   для: cheops   (15.09.2005 в 14:05)
 

a kak eto realizovat s pomogiu kakoi funkzii

   
 
 автор: mikko   (16.09.2005 в 15:24)   письмо автору
 
   для: mikko   (15.09.2005 в 16:48)
 

perevel svoi katalog s korzinoi i na4ilos : (((



Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /usr/home/web/sde64314/pinocchio/catalog/cart.php:11) in /usr/home/web/sde64314/pinocchio/catalog/db.php on line 35

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /usr/home/web/sde64314/pinocchio/catalog/cart.php:11) in /usr/home/web/sde64314/pinocchio/catalog/db.php on line 35

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/web/sde64314/pinocchio/catalog/cart.php:11) in /usr/home/web/sde64314/pinocchio/catalog/db.php on line 36

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/web/sde64314/pinocchio/catalog/cart.php:11) in /usr/home/web/sde64314/pinocchio/catalog/db.php on line 36



v 4em delo moget bit na vsakii slu4ai 4ast info


session
Session Support     enabled
Registered save handlers     files user
Registered serializer handlers     php php_binary

Directive    Local Value    Master Value
session.auto_start    Off    Off
session.bug_compat_42    On    On
session.bug_compat_warn    On    On
session.cache_expire    180    180
session.cache_limiter    nocache    nocache
session.cookie_domain    no value    no value
session.cookie_lifetime    0    0
session.cookie_path    /    /
session.cookie_secure    Off    Off
session.entropy_file    no value    no value
session.entropy_length    0    0
session.gc_divisor    100    100
session.gc_maxlifetime    1440    1440
session.gc_probability    1    1
session.hash_bits_per_character    4    4
session.hash_function    0    0
session.name    PHPSESSID    PHPSESSID
session.referer_check    no value    no value
session.save_handler    files    files
session.save_path    no value    no value
session.serialize_handler    php    php
session.use_cookies    On    On
session.use_only_cookies    Off    Off
session.use_trans_sid    0    0


ya uge vrode vse poprobival

   
 
 автор: napTu3aH   (16.09.2005 в 15:40)   письмо автору
 
   для: mikko   (16.09.2005 в 15:24)
 

>Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by...

Использовать куки нужно до вывода какой либо информации в браузер пользователя. Т.е. до


echo "";
print"";
и тп

   
 
 автор: cheops   (16.09.2005 в 20:01)   письмо автору
 
   для: mikko   (16.09.2005 в 15:24)
 

Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.


http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=837

   
 
 автор: mikko   (19.09.2005 в 11:39)   письмо автору
 
   для: cheops   (16.09.2005 в 20:01)
 

da net nemnogo ne to prosto u mena idet v na4ale cart.php i product.php include "db.php"; v kotorom stoit funkziya


function GetCartId()
{
if(isset($_COOKIE["cartId"]))
        {
            return $_COOKIE["cartId"];
        }
        else
        {
            session_start();
            setcookie("cartId", session_id(), time() + ((3600 * 24) * 30));
            return session_id();
        }
    }


sootvetstvenno ona po idee dolgna libo session start, libo peredavat cookie, no ona po4emuto vse vrema startovala sessiu,


$query = "select count(*) from cart where cookieId = '" . GetCartId() . "' and itemId = $itemId";


potom peredelal tak, vse rabotaet no eto, vrode ne verno, ili pravilno



$query = "select count(*) from cart where cookieId = '".$_COOKIE ['cartId']."'  and itemId = $itemId";



kstati 4to to ne tak s katalogom, kogda v katalog vklu4aech podkatalog, ssilok na nego ne poyavlaetsa, no sam podkatalog est tak kak ya proveral vvodom v stroke brousera put k podkatalogu, v 4em grabli, proboval s vachego CD toge ne vichodit ne na localhost, ni v inete ??

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования