RE: [Linux-programlama] sepete ekle, kota,stok

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Agah ALICI (agah@sakarya.edu.tr)
Date: Wed 21 Feb 2007 - 14:27:41 EET


Kullanımı ne kadar kolay olur bilmiyorum ama.
Öncelikle sepete atılan her ürünü bayii stoklarından düşmek yerine satın
alma ekranında düşmenin daha mantıklı olacağı kanaatindeyim.
Şöyleki;
Bir çok internet kullanıcısı (en azından türkiye de) sepete attığı ürünü
almaz.
Bu durumda stoğa geri yükleme gibi sorunlar meydana gelir.
 
Bunun yerine satın alma ekranına gelindiğinde
 
$yeni_sepet->stokisle();
 
gibi bir fonksiyon çağırıp, kullanıcının sepetindeki ürünler tek tek stoktan
düşmek daha mantıklı olacak kanaatindeyim.
 
stokisle fonksiyonunda ise;
 
foreach($_SESSION["sepetteki_urunler"] as $key => $value) {
    $eskistok = mysql_query ("select stok from urunler where urunadi =
'$sip'");
    if (!$eskistok) {
         echo "eskistok sorgu patlar.. " . mysql_error ();
         exit;
    }
    while ($sorgu = mysql_fetch_assoc($eskistok)) {
         echo "eski stok " . $sorgu['stok'] . "tane";
         $eskiadt = $sorgu['stok'];
    }
    $yenistok = $eskiadt - $tane ;
    echo "<br>\n";
    echo " yenistok : $yenistok";
    $updt = mysql_query ("UPDATE urunler SET stok='$yenistok' WHERE
stok='$eskiadt' and urunadi='$sip'");
}
 
şeklinde bir kısım kullanarak stok düşme işlemlerinizi yapabailirsiniz.
(değişkenleri değiştirmedim. bi kaç modifikasyonla çalışır hale
getirebilirsiniz.)
 

  _____

From: linux-programlama-bounces@liste.linux.org.tr
[mailto:linux-programlama-bounces@liste.linux.org.tr] On Behalf Of Agah
ALICI
Sent: Wednesday, February 21, 2007 1:17 PM
To: linux-programlama@liste.linux.org.tr
Subject: RE: [Linux-programlama] sepete ekle, kota,stok

onur bey işin açıkçası tüm kodu baştan aşşağı yazmaktan sa
dosyaları ek yapıp gönderseydiniz daha iyi olmaz mıydı?

  _____

From: linux-programlama-bounces@liste.linux.org.tr
[mailto:linux-programlama-bounces@liste.linux.org.tr] On Behalf Of onuRRR
Sent: Wednesday, February 21, 2007 1:11 PM
To: linux-programlama@liste.linux.org.tr
Subject: [Linux-programlama] sepete ekle, kota,stok

mrb arkadaslar;
elimde söyle bir sepete ekleme sayfası var :
sepet1:
<?php
 
echo "Sayin: ";
echo $_SESSION['kullaniciadi'];
$conn = mysql_connect("localhost", "root");
if (!$conn)
{
echo "veritabanina ulasilamadi,kullaniciadi,sifre yada localhost bilgisi
yanlis olabilir: " . mysql_error();
exit;
}
if (!mysql_select_db("onurdyhdb"))
{
echo "Veritabani adi dogru degil, yada yok: " . mysql_error();
exit;
}
$sql = "SELECT urunadi, fiyat, resim,detay FROM urunler";
$result = mysql_query($sql);
if (!$result) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "Kayitli hiçbir bilgiye rastlanmadi.";
exit;
}
include("sepet2.php");
echo "<table>";
while ($row = mysql_fetch_assoc($result)) {
echo '<tr><TD>
<img src="'.$row["resim"].'" border=0><br>'.$row["urunadi"].'
<br>'.$row["detay"].'<br>'.$row["fiyat"].'</TD>
<TD>
<FORM method="POST" action="sepet1.php" method=post>
<INPUT type=hidden name="durum" value=1>
<INPUT type="hidden" name="urun" value="'.$row["urunadi"].'">
<INPUT type="hidden" name="fiyat" value="'.$row["fiyat"].'">
<INPUT type="text" name="adet" size="3" value="1">
<INPUT type="submit" value="Sepete Ekle">
</FORM>
</TD></tr>';
}
echo "</table>";
mysql_free_result($result);
mysql_close($conn);
?>
sepet2:
class sepet {
var $sepetteki_urunler;

function sepet () {
if (isset($_SESSION["sepetteki_urunler"])) {
$this->sepetteki_urunler = $_SESSION["sepetteki_urunler"];
}
}

function sepete_ekle ($urun_no,$adet) {
$this->sepetteki_urunler[$urun_no] = $adet;

}

function sepetten_cikar ($urun_no,$adet) {
if (isset($this->sepetteki_urunler[$urun_no])) {
if ($this->sepetteki_urunler[$urun_no] > $adet) {
$this->sepetteki_urunler[$urun_no] = $adet;
} else {
unset($this->sepetteki_urunler[$urun_no]);
}
}
}

function sepeti_kaydet () {
if (isset($this->sepetteki_urunler)) $_SESSION["sepetteki_urunler"] =
$this->sepetteki_urunler;
}

function sepeti_listele () {
if (isset($_SESSION["sepetteki_urunler"])) {
return $_SESSION["sepetteki_urunler"];
} else {
return false;
}
}

function oturum_kapat () {
#session_destroy();
$_SESSION["sepetteki_urunler"]='';
header("Location: sepet2.php");
}
}

?>

<?php
#simdi yukaridaki class ile nasil çalisacagiz onu ele alalim.

$yeni_sepet = new sepet;
if ($_POST["durum"]==1) {
$yeni_sepet->sepete_ekle($_POST["urun"],$_POST["adet"]."-".$_POST["fiyat"]);
$yeni_sepet->sepeti_kaydet();
}

if ($_POST["durum"]==2) {
$yeni_sepet->sepetten_cikar($_POST["urun"],$_POST["adet"]);
$yeni_sepet->sepeti_kaydet();
}

if ($_POST["durum"]==3) {
$yeni_sepet->oturum_kapat();
}

if ($_POST["durum"]==4) {

$conn = mysql_connect("localhost", "root");
if (!$conn) {
echo "veritabanina ulasilamadi,kullaniciadi,sifre yada localhost bilgisi
yanlis olabilir: " . mysql_error();
exit;
}

if (!mysql_select_db("onurdyhdb")) {
echo "Veritabani adi dogru degil, yada yok: " . mysql_error();
exit;
}

if($_SESSION['kullaniciadi'] == '' || $_SESSION['uye'] == ''){
header("Location: giris.php");
exit;
}

$kullaniciadi=$_SESSION['kullaniciadi'];

$result1 = mysql_query("SELECT * FROM uyeler WHERE
kullaniciadi='{$kullaniciadi}'");

if (!$result1) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}

$row1 = mysql_fetch_assoc($result1);

$uyeid=$row1['id'];

$urunler = $yeni_sepet->sepeti_listele();
while (list($anahtar,$deger) = each($urunler)) {

$tutar=explode("-", $deger);
$result= mysql_query("INSERT INTO `sparis`(`uyeid`,`sparis`,`fiyat`,`adet`)
VALUES('{$uyeid}','{$anahtar}','{$tutar[1]}','{$tutar[0]}')") or
die(mysql_error());

}

if (!$result) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}else{
echo "bilgileriniz ve siparisleriniz alindi,en kisa zamnda sizinle kontak
kurup bilgileri dogruluyacagiz.Tesekkür ederiz.";
exit;
}
}

$urunler = $yeni_sepet->sepeti_listele();
$durum=0;
$sepet='<table border=1>';
$toplamtutar=0;

if($urunler){
while (list($anahtar,$deger) = each($urunler)) {

$tutar=explode("-", $deger);
$toplam=$tutar[0]*$tutar[1];
$sepet.= "<tr><td>Ürün ".$anahtar."</td><td>".$toplam." YTL ".$tutar[0].'
adet </td>
<td> <FORM method="POST" action="sepet1.php" method=post>
<INPUT type="hidden" name="urun" value="'.$anahtar.'">
<INPUT type="hidden" name="adet" size="9" value="'.$deger.'">
<input type=hidden name="durum" value=2>
<INPUT type="submit" value="Sepeten Sil">
</form></td></tr>';
$durum=1;
$toplamtutar +=$toplam;
}
}else{
echo "<h2>sepetiniz bos</h2>";
}

if($durum){
$bosalt= '<tr><td>&nbsp;</td><td><FORM method="POST" action="sepet1.php"
method=post>
<input type=hidden name="durum" value=3>
<INPUT type="submit" value="Sepeti bosalt">
</form></td><td><FORM method="POST" action="sepet1.php " method=post>
<input type=hidden name="durum" value=4>
<INPUT type="submit" value="Gönder">
</form></td></tr>';
$sepet.='<tr><td>Toplam Tutar:</td><td>'.$toplamtutar.'</td><td></td></tr>';

}
$sepet.=$bosalt;
$sepet.="</table>";
echo $sepet;
?>
Sorun şu: Ben her sepete urun ekledikce bayii kotasından ve urun stokundan
dusmesını istiyorum fakat sadece enson sipariş edilen urun için bu işelmleri
yapıyor o da su şekilde
hesap:
<?php
echo "<h2><font color=\"#66ccff\">daha önceki siparisleriniz</font></h2>";
//session_start();
$conn = mysql_connect("localhost", "root");
if (!$conn) {
echo "veritabanina ulasilamadi,kullaniciadi,sifre yada localhost bilgisi
yanlis olabilir: " . mysql_error();
exit;
}
if (!mysql_select_db("onurdyhdb")) {
echo "Veritabani adi dogru degil, yada yok: " . mysql_error();
exit;
}
if($_SESSION['kullaniciadi'] == '' || $_SESSION['uye'] == ''){
header("Location: giris.php");
exit;
}
$kullaniciadi=$_SESSION['kullaniciadi'];
$ress = mysql_query("SELECT * FROM uyeler WHERE
kullaniciadi='{$kullaniciadi}'");
if (!$ress) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}
$row1 = mysql_fetch_assoc($ress);
$uyeid=$row1['id'];
$sonuc = mysql_query("SELECT * FROM sparis WHERE uyeid='{$uyeid}'");
if (mysql_num_rows($sonuc) == 0) {
echo "<h2>Hiç siparisiniz yok.</h2>";
echo "Siparis vermek için lütfen <a href='sepet1.php'>Siparis sayfasi</a> ni
tiklayin.";
exit;
}
while ($row = mysql_fetch_assoc($sonuc)) {
echo $row['sparis'] . "- " . $row['fiyat'] . "- " . $row['adet']. "<br>\n";
// echo "tekrar siparis vermek için lütfen <a href='sepet1.php'>Siparis
sayfasi</a> ni tiklayin.";
$sip = $row['sparis'];
$fyt = $row['fiyat'];
$tane = $row['adet'];
/*
echo "siparis:" . $row['sparis'];
echo " fiyat:" . $row['fiyat'];
echo "adet" . $row['adet']."<br>\n";
*/
}
echo "<br>\n";
echo "Son";
echo "siparis: $sip ";
echo "fiyat: $fyt ";
echo "adet : $tane ";
                        ///////// update of stock.........
$eskistok = mysql_query ("select stok from urunler where urunadi = '$sip'");

if (!$eskistok)
{
echo "eskistok sorgu patlar.. " . mysql_error ();
exit;
}
while ($sorgu = mysql_fetch_assoc($eskistok))
{
echo "eski stok " . $sorgu['stok'] . "tane";
$eskiadt = $sorgu['stok'];
}
$yenistok = $eskiadt - $tane ;
echo "<br>\n";
echo " yenistok : $yenistok";
$updt = mysql_query ("UPDATE urunler SET stok='$yenistok' WHERE
stok='$eskiadt' and urunadi='$sip'");
                           ///////////// update of quota
..........
$byii = mysql_query ("select bayiino from uyeler where id = '$uyeid'");

    if (!$byii)
{
echo "byii sorgu patlar.. " . mysql_error ();
exit;
}
while ($srgbayii = mysql_fetch_assoc($byii))
{ echo "bayiino". $srgbayii['bayiino'];
  $byno = $srgbayii['bayiino'];
}
            
$byiikota = mysql_query ("select bayiikota from bayiiler where bayiino =
'$byno'");
    if (!$byiikota)
{
echo "byiikota sorgu patlar.. " . mysql_error ();
exit;
}
 while ($rsltbykota = mysql_fetch_assoc($byiikota))
  {
  echo "bayiikota" . $rsltbykota['bayiikota'];
  $eskikota = $rsltbykota['bayiikota'];
  }
$eder = ($fyt * $tane);
$yenikota = ($eskikota - $eder);
echo "eder $eder";
echo "<br>\n";
echo " yenikota : $yenikota";
$bykotupdt = mysql_query ("UPDATE bayiiler SET bayiikota='$yenikota' WHERE
bayiikota='$eskikota' and bayiino='$byno'");
                                /////////////////// buraya kadarrrrrrr

echo "tekrar siparis vermek için lütfen <a href='sepet1.php'>Siparis
sayfasi</a> ni tiklayin.";
mysql_free_result($sonuc);
mysql_close($conn);
?>
bunu sepete eklenen her urun için nasıl uyarlayabiliirim ??

-- 
Dyhonur 

------------------------------------------------------------------------------------
Bu E-Posta Sakarya Universitesi E-posta Sunucusu Araciligiyla Size Ulastirilmistir.

SAU >> BIDB >> Ar-Ge S.M. >> Sistem Yonetimi Servisi

BitDefender Antivirus Yazilimi Tarafindan Virus Taramasindan Gecirilmistir.

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.