Şimdi Ara

PHP YARDIM

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
10
Cevap
0
Favori
1.028
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba.Php konusunda fazla profesyönel değilim.Öğrenme aşamasındayım ve bir konuda yardımlarınıza ihtiyacım var.Şimdi bir kod yazmam gerekiyor.İçeriği şöyle olucak bir sayfa içerisinde ürünler olucak kategori şeklinde.O kategori içerisindeki ürünler checkbox şeklinde olması lazım veya listboxda olabilir buradan ürünleri seçicem hemen yanındaki textbox içerisine adet miktarını giricem altındada bir buton veya link olucak sepete ekle şekilinde.Sepete eklenen ürünleri aynı sayfada bir alana eklemem gerekiyor örnek olarak 5 adet notebook seçtim sepette alt alta listelenicek bunlar farklı bir ürün eklersem onun altına gelicek 5 notebook 2 oem parçası gibi.Bunlar veritabanına eklenmicek cookie veya sessionla çerez olarak orada tutsa yeter.Bana bunun mantığı anlatılsa yeter veya örnek olarak ufak bir uygulama hazır varsa veya yazabilirseniz çok memnun olurum.Mantığı anladıkdan sonra ben onu kendimce geliştiririmde bir örneğe ihtiyacım var.Yardımlarınızı bekliyorum şimdiden teşekkür ederim.







  • Tam olarak ne anlatmaya çalışıyorsun anlamış değilim.

    Ürünlerini neden listbox şekinde listeliyorsun ki ?
    Neyse istediğin şey şu şekilde olur.

    Tabloların var olduğunu var sayıyorum.



     
    <?php

    if($_POST['kontrol'] ==1) {

    $_SESSION['urunid'] = $_POST['ekle'];
    $_SESSION['adet'] = $_POST['adet'];

    //bu şekilde session alabilirsin ancak sepet sisteminde muhakkak veritabanına veri işlemen lazım ki hangi üründen kaç adet eklendiğini bulabilesin.

    ?>
    <form action="" method="post" >
    <select name="ekle">
    <?php
    $urunsorgula = mysql_query("SELECT * FROM urunler ORDER BY id ");
    while($sorgu = mysql_fetch_array($urunsorgula)){

    $adi = $sorgu['adi'];
    $id = $sorgu['id'];

    ?>
    <option value="<?php echo $id; ?>"><?php echo $adi; ?></option>

    <?php } ?>
    </select>

    <input type="text" name="adet" value="" />
    <input type="hidden" name="kontrol" value="1" />
    <input type="submit" name="submit" value="Sepete ekle" />
    </form>






    sepet.php


     
    <?php
    $id = $_SESSION['urunid'];
    $adet = $_SESSION['adet'];
    $urunsorgula = mysql_query("SELECT * FROM urunler WHERE id="$id" LIMIT $adet");
    while($sorgu = mysql_fetch_array($urunsorgula)){

    $adi = $sorgu['adi'];


    ?>


    <?php echo $adi; ?> <?php echo $adet; ?>


    <?php } ?>




    Bu şekilde kullanabilirsin ancak bu sistem sadece 1 adet ürün için geçerli olacaktır. session ile birden fazla ürünü seçemezsin seçebilsen bile bunun için muazzam derecede kod bilgisine sahip olma gerekiyor.

    Örneğin id değeri 1 olan ürün eklendiğinde adeti belirlendiğinde session normal şekilde alınır. fakat id değeri 2 olan bir ürün eklenmek istendiğinde


    if($_POST['ekle'] != $_SESSION['urunid']) {

    şekilnde bir yapı kullanman gerekiyor ancak bu yapı da geçerli bir yapı değildir. çünkü session['urunid'] değeri gelen i değeriyle değişecektir.
    Bu noktada session ile birden fazla ürünü tutmazsın.

    Yapaman gereken şu olacaktır. urunler tablona "alici" "adet" ve "durum" adında stunlar eklemen gerekiyor. böyle bir sistemde üyelik sistemi şarttır. ya da geçici üyelik sistemi.

    Sepete eklenmeyen ürünlerin durum değeri 1 olsun üye session değerimiz kullanici olsun





     
    <?php

    if($kontrol == 1) {
    $kim = $_SESSION['kullanici']
    $adet = $_POST['adet'];
    $urunid = $_POST'ekle'];

    if(empty($urunid)) {
    else "Urun Boş Olamaz";
    } else {
    $guncelle = mysql_query("UPDATE urunler SET alici='$kim', adet='$adet', durum='2' WHERE id='$urunid' ");

    }

    ?>


    <form action="" method="post" >
    <select name="ekle">
    <?php
    $urunsorgula = mysql_query("SELECT * FROM urunler ORDER BY id ");
    while($sorgu = mysql_fetch_array($urunsorgula)){

    $adi = $sorgu['adi'];
    $id = $sorgu['id'];

    ?>
    <option value="<?php echo $id; ?>"><?php echo $adi; ?></option>

    <?php } ?>
    </select>

    <input type="text" name="adet" value="" />
    <input type="hidden" name="kontrol" value="1" />
    <input type="submit" name="submit" value="Sepete ekle" />
    </form>




    sepet.php

     
    <?php

    $urunsorgula = mysql_query("SELECT * FROM urunler WHERE alici='$kim' AND durum='2' ");
    while($sorgu = mysql_fetch_array($urunsorgula)){

    $adi = $sorgu['adi'];
    $adet = $sorgu['adet'];
    ?>

    <php echo $adi; ?> <?php echo $adet; ?>

    <?php } ?>




  • Yeni konu açmak istemedim. Localhostta düzgün çalışan dropdown, sunucuya atınca neden çalışmaz ? Veritabanı bağlantıları vs doğru ama içini doldurmuyor dropdownlistin.
  • cllyldrm kullanıcısına yanıt
    Birçok sebebi olabilir. 1.si veritabanı bağlantı kodlarını kontrol et ve çalıştığına tam emin ol.

    2. si dropdown da ki while döngüsünün yapısından kaynaklı olabilir. bir post değeri alınıp buna göre while çekiliyorsa ya da get ile çekiliyorsa bu kısımlar kontrol edilmelidir.

    bunu kontrol etmek için shile döngüsünün bağlı olduğu msyql_query kodunda

    $vericek = mysql_query("SELECT * FROM tabloadi WHERE id='1' ");

    bu şeilde veri çekmeye çalış. yani id dğeri 1 olanı seçip listeleyecektir. eğer bu çelışırsa sorun sorgu kodundadır. değilse sorun veritabanı bağlantısındadır.
  • quote:

    Orijinalden alıntı: aksoydesign

    Birçok sebebi olabilir. 1.si veritabanı bağlantı kodlarını kontrol et ve çalıştığına tam emin ol.

    2. si dropdown da ki while döngüsünün yapısından kaynaklı olabilir. bir post değeri alınıp buna göre while çekiliyorsa ya da get ile çekiliyorsa bu kısımlar kontrol edilmelidir.

    bunu kontrol etmek için shile döngüsünün bağlı olduğu msyql_query kodunda

    $vericek = mysql_query("SELECT * FROM tabloadi WHERE id='1' ");

    bu şeilde veri çekmeye çalış. yani id dğeri 1 olanı seçip listeleyecektir. eğer bu çelışırsa sorun sorgu kodundadır. değilse sorun veritabanı bağlantısındadır.



    Localhostta herşey düzgün çalışıyor, fakat alanadı aldığım sunucuda çalışmıyor. Belki sunucu bedava olduğu için olabilir.

    Veritabanı bağlantılarım doğru. Üye girişi vs gibi yerler çalışıyor. Çünkü.

    Sorgularda olduğunu düşünmüyorum sorunun, yoksa localhostta çalışmaz.




  • Hocam öncelikle verdiğin bilgiler için teşekkür ederim . Ozaman şöyle bir sorum olucak listboox ve checkboxa eklemek istediğim verileri veritabanından çekebilirmiyim varsa bunun içinde bir örnek gösterebilirmisin ?
  • <select name="kategori" id="select"><option value="0">- Seçiniz -</option> 
    <?php
    include "dbayar.php";
    $kat_sorgu = mysql_query("SELECT * FROM kategoriler");
    while($dongu = mysql_fetch_array($kat_sorgu))
    {
    echo "<option value='".$dongu["kat_id"]."'>".$dongu["baslik"]."</option>";
    }

    ?>
  • agaccavdiran A kullanıcısına yanıt
    Zaten sana verdiğim kodlarda listbox ile veri çekme ve listelemeyi gösterdim. Neyi soruyorsun halen anlamadım
    Ayrıca KazuYA18 Konuyu okumadan elindeki kodu paylaşmanın mantığı nedir ?
    Konuya ilgilendiğin içi mi yazdın yoksa yazmış olasın diyemi yazdın ?
  • quote:

    Orijinalden alıntı: aksoydesign

    Zaten sana verdiğim kodlarda listbox ile veri çekme ve listelemeyi gösterdim. Neyi soruyorsun halen anlamadım
    Ayrıca KazuYA18 Konuyu okumadan elindeki kodu paylaşmanın mantığı nedir ?
    Konuya ilgilendiğin içi mi yazdın yoksa yazmış olasın diyemi yazdın ?


    Çok teşekkür ederim aksoy hocam yardımlarınız için sağolun
  • agaccavdiran A kullanıcısına yanıt
     
    <?php
    class db
    {
    public function urunEkle($urunadi,$detay,$fiyat,$kategori,$uid)
    {
    $this->adminKontrol();
    $this->baglan();
    $sql="insert into urunler (urun_adi,detay,fiyat,kategori_id,urun_id)
    values ('$urunadi','$detay','$fiyat','$kategori','$uid')";
    mysql_query($sql) or die(mysql_error());
    $this->kopar();
    }
    public function urunGuncelle($urunid,$urunadi,$detay,$fiyat,$kategori)
    {
    $this->adminKontrol();
    $this->baglan();
    $sql="Update urunler SET urun_adi='$urunadi',detay='$detay',fiyat='$fiyat',kategori_id='$kategori'
    where urun_id=$urunid";
    mysql_query($sql) or die("Sorgu Hatalı");
    $this->kopar();
    }
    public function urunSil($urunid)
    {
    $this->adminKontrol();
    $this->baglan();
    $sql="DELETE from urunler where urun_id=$urunid";
    mysql_query($sql) or die("Sorgu Hatalı");
    $this->kopar();
    }
    public function ListeleSayfalama($tablo,$kosul,$ilk,$sayfakayit)
    {
    $this->baglan();
    $sql="Select * from $tablo where $kosul Limit $ilk,$sayfakayit";
    //echo $sql;
    $veriler= mysql_query($sql)or die ("Sayfalama Sorgu Hatalı");
    $this->kopar();
    return $veriler;
    }
    public function sepeteekle($urunid,$adet,$musteri)
    {

    $urunliste= $this->ListeleKosullu("urunler", "urun_id=$urunid");
    $urunkayit= mysql_fetch_array($urunliste);
    $toplamtutar=$urunkayit["fiyat"]*$adet;

    $musteriliste= $this->ListeleKosullu("ogrenci", "kullanici_adi='$musteri'");
    $musterikayit= mysql_fetch_array($musteriliste);
    $musteriid=$musterikayit["ogrenci_no"];
    $sql="insert into sepet (urun_id,ogrenci_no,musteri,adet,tutar)values ('$urunid','$musteriid','$musteri','$adet','$toplamtutar')";
    $this->baglan();
    mysql_query($sql) or die(mysql_error());
    $this->kopar();
    }
    }
    ?>


    Yukarıda database classımız var.. ilgili ürün işlemlerinin yapıldıgı.. ürün ekleme silme güncelleme listeleme gibi...

     
    <?php
    $urun_id = @$_POST["urun_id"];
    $musteri = @$_SESSION["user"];
    $sql = mysql_query("Select * from sepet where urun_id = '$urun_id' and musteri = '$musteri'");
    $varmi = mysql_num_rows($sql);
    if(isset($_POST['submit']))
    {
    if($varmi>=1)
    {
    echo"<center><font size=+2 color = '#FF0000'>Bu ürün sepetinizde bulunmaktadır.</font></center>";
    }
    else
    {
    $vt->sepeteekle(@$_POST["urun_id"],@$_POST["adet"],@$_SESSION["user"]);
    }
    }
    ?>
    <h4><strong><p align="left">KATEGORİLER</p></strong></h4>
    <script language="javascript" type="text/javascript" >
    function jumpto(x){

    if (document.form1.jumpmenu.value != "null") {
    document.location.href = x
    }
    }
    </script>
    <form name="form1">
    <select name="jumpmenu" onChange="jumpto(document.form1.jumpmenu.options[document.form1.jumpmenu.options.selectedIndex].value)">
    <option> Ürün Kategorileri</option>
    <option name "secim0" value = "urunler.php">Tüm ürünler</option>
    <option name "secim1" value = "urunler.php?kid=1">Teknolojik ürünler</option>
    <option name "secim2" value = "urunler.php?kid=2">Giyim</option>
    <option name "secim3" value = "urunler.php?kid=3">Kitap</option>
    <option name "secim4" value="urunler.php?kid=4">Ev Eşyası</option>
    </select>
    </form>

    </div>
    <div id="page">
    <div id="content2">
    <div class="post">
    <p>
    <table border="1" align="center" width="90%">
    <?php
    $sid=@$_GET["sid"];
    if ($sid=="" || $sid<1) {
    $sid=1;
    }
    $sayfakayit=5;
    $kid=@$_GET["kid"];
    if ($kid=="" )
    {

    $sart="1";
    }
    else
    {
    $sart="kategori_id=".$kid;
    }

    $kayitliste=$vt->ListeleKosullu("urunler",$sart);
    $toplamkayit= mysql_num_rows($kayitliste);
    $ilkkayit=($sid-1)*$sayfakayit;
    $liste=$vt->ListeleSayfalama("urunler",$sart,$ilkkayit,$sayfakayit);

    while ($kayit = mysql_fetch_array($liste))
    {
    echo "<tr>
    <td>";
    $resimliste=$vt->Listelekosullu("urunler","urun_id=".$kayit["urun_id"]);
    if (mysql_num_rows($resimliste)==0)
    {
    $resim_ismi="resimyok.jpg";
    } else
    {
    $resim_ismi=$kayit['urun_id'].".jpg";
    }
    echo "<img src = 'resimler/$resim_ismi' width = '100' height = '100'/>";
    echo "</td>
    <td><strong>".$kayit["urun_adi"]."</strong><br>
    ".$kayit["detay"]."<br>".$kayit["fiyat"]." TL
    </td>
    <td>";?>
    <center><form action="urunler.php" method="POST">
    <input name="urun_id" type="hidden" value="<?php echo $kayit["urun_id"];?>"/>
    <input name="adet" type="text" value="1"/>
    <input name="submit" type="submit" value="Sepete Ekle"/>
    </form>


    <?php echo "</td>

    </tr>";
    }
    ?>
    <tr>
    <td colspan="3" align="center">SAYFA
    <?php
    $sayfa=1;
    while ((($sayfa-1)*$sayfakayit)<$toplamkayit) {
    if ($sayfa==$sid) {
    echo " $sayfa ";
    } else {
    echo "<a href='urunler.php?"."&sid=$sayfa'> $sayfa </a>";
    }
    $sayfa++;
    }
    ?>



    Yukarıdaki php kodu urunler.php nin en önemli kısmıdır. Ürünlerin listelenmesi ve kategorize edilmesini sağlar...


     
    <?php
    if(isset($_POST['submit1']))
    {

    $urun_no = @$_POST['urun_no'];
    if(empty($urun_no))
    {}
    else
    {
    $sql = "Delete from sepet where urun_id = $urun_no";
    mysql_query($sql) or die("Sorgu hatali");
    }
    }
    if(isset($_POST['submit2']))
    {

    $urun_no = @$_POST['urun_no'];
    $_SESSION["urun_id"] = $urun_no;
    if(empty($urun_no))
    {

    }
    else
    {
    $sql = "Select urun_id from sepet where urun_id = $urun_no";
    $kayit = mysql_query($sql);
    if(mysql_num_rows($kayit)>=1)
    {
    //echo"<br><br><center><font size=+2>Alışveriş başarıyla tamamlanmıştır.</font></center>";
    header("Location:siparis.php");
    }
    else
    {
    echo"<br><br><center><font size=+2>Böyle bir ürün yoktur.</font></center>";
    }
    }
    }
    ?>

    <div id="page">
    <div id="content2">
    <div class="post">
    <p>
    <table border="1" align="center" width="90%">
    <?php

    $sid=@$_GET["sid"];
    if ($sid=="" || $sid<1)
    {
    $sid=1;
    }
    $sayfakayit=5;
    $sart = "1";
    $user = @$_SESSION["user"];
    $sql = "Select * from sepet where musteri='$user'";
    $kayit = mysql_query($sql);
    $toplamkayit = mysql_num_rows($kayit);
    $ilkkayit=($sid-1)*$sayfakayit;
    $sql2="Select * from sepet where musteri = '$user' Limit $ilkkayit,$sayfakayit";
    $kayitliste = mysql_query($sql2);
    $sayfa=1;
    echo"<center><strong>ÜRÜN SEPETİ</strong></center>";
    while($liste = mysql_fetch_array($kayitliste))
    {
    $resim_ismi=$liste['urun_id'].".jpg";
    echo "</td>
    <td><strong>"."<img src = 'resimler/$resim_ismi' width = '100' height = '100'/>"."<br>".$liste["urun_adi"]."</strong><br>
    "."<br><strong>Fiyat </strong>".$liste["tutar"]."TL"."<br><strong>Ürün no </strong>".$liste["urun_id"]."<br><strong>Ürün adedi </strong>".$liste["adet"]."<p><input type='checkbox' name='onay'>Onay</p>".
    "</td>
    <td>";
    }
    ?>
    <center><form action="sepet.php" method="POST">

    <p><h5>Ürün no<h5><input type = 'text' name ='urun_no'></p>
    <input name="submit1" type="submit" value="Listeden Kaldır"/>
    <input name="submit2" type="submit" value="Alışverişi Yap"/>
    </form>
    <tr>

    <td colspan="3" align="center">SAYFA
    <?php

    while ((($sayfa-1)*$sayfakayit)<$toplamkayit)
    {
    if ($sayfa==$sid)
    {
    echo " $sayfa ";
    } else
    {
    echo "<a href='sepet.php?"."&sid=$sayfa'> $sayfa </a>";
    }
    $sayfa++;
    }
    ?>


    Yukarıdaki kod kısmı ise sepet kısmıdır.. Sepete eklediğiniz ürünler listelenir. İlgi ürünle alakalı sipariş verebilirisiniz.



    < Bu mesaj bu kişi tarafından değiştirildi mehfatitem -- 31 Mayıs 2014; 7:30:54 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.