PHP etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
PHP etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

19 Haziran 2013 Çarşamba

MongoDB de PHP ile Kayıt Listeleme

merhaba. Önceki derste mongolab a kayıt ekleme işlemi yapmıştık.

Şimdi ise tüm kayıtları listeleyeceğiz.


Liste fonksiyonu:

function listItem($collection) {
       $cursor = $collection->find();
       return $cursor;
 }



list.php sayfası:

if($_REQUEST) {
   
    include "db.php";
   
    $db = new DB();
    $collection = $db->connectDB();
    $array = $db->listItem($collection);
   
    foreach ($array as $k => $v) {
      if(is_array($v)) {
        foreach ($v as $key => $val) {
            if(is_array($val)) {
                echo $key."<br />";
                foreach ($val as $kk => $vv) {
                    echo "&emsp;".$kk. ' : '. $vv.'<br />';
                }
            } else
          echo $key. ' : '. $val.'<br />';   
        }
      }
      else echo ' - - - - '. $k. ' - '. $v;
      echo "<br /><br />";
    }   
}



ve html sayfası:

<form action="list.php" method="post">
     <input type="submit" name="listele" value="Kayıtları Listele" />
</form>



4 Haziran 2013 Salı

MongoDB de PHP ile Kayıt Ekleme

Bir önce dersimizde mongolab.com dan bahsetmiştik ve veritabanı oluşturmuştuk.

Bu dersimizde ise PHP ile Mongolab.com da oluşturduğumuz MongoDB veritabanına  veri kaydedeceğiz.

Sayfaları oluşturmaya başlayabiliriz.

db.php sayfamız:

<?php

    class DB {
       
        private $dbusername =""; // Veritabanı kullanıcı adı
        private $dbpass = "";   // Veritabanı şifresi
        private $dbname = "";  // Veritabanı adı
        private $dbcollection= "";  // Collection adı
       
        function connectDB() {
            $url = "mongodb://".$this->dbusername.":".$this->dbpass."@ds027348.mongolab.com:27348/".$this->dbname;
            //echo $url;
            try {
                $conn = new Mongo($url);
                $dbbname = $conn->selectDB($this->dbname);
                $collection = $dbbname->selectCollection($this->dbcollection);
               
                return $collection;
            } catch(MongoConnectionException $e) {
                die ("Baglanti kurulamadi".$e->getMessage());
            }
        }
        

    // Ekleme Fonksiyonu
        function addItem(array $arr, $collection) {
            $result = $collection->insert($arr);
           
            if($result) {
                echo "Eklendi";
            } else {
                echo "bir sorun olustu";
            }
        }
    }
?>




Şimdi de form sayfasını hazırlayalım.

<form action="insert.php" method="post">
                   
                    <table>
                        <tr>
                            <td>Ad</td>
                            <td>:</td>
                            <td><input type="text" name="ad" /></td>
                        </tr>
                        <tr>
                            <td>Soyad</td>
                            <td>:</td>
                            <td><input type="text" name="soyad" /></td>
                        </tr>
                        <tr>
                            <td>Doğum Tarihi</td>
                            <td>:</td>
                            <td><input type="text" name="dogum_tarihi" /></td>
                        </tr>
                        <tr>
                            <td>Cinsiyet</td>
                            <td>:</td>
                            <td>
                                <input type="radio" name="cinsiyet" value="E" /> Erkek
                                <input type="radio" name="cinsiyet" value="K" /> Kadın
                                <input type="radio" name="cinsiyet" value="EC" /> Eşcinsel
                            </td>
                        </tr>
                        <tr>
                            <td>Ülke</td>
                            <td>:</td>
                            <td>
                                <select name="ulke">
                                    <option value="TR">Türkiye</option>
                                    <option value="DE">Almanya</option>
                                    <option value="FR">Fransa</option>
                                    <option value="CA">Kanada</option>
                                </select>
                            </td>
                        </tr>
                        <tr>
                            <td>Hobiler</td>
                            <td>:</td>
                            <td>
                                <input type="checkbox" name="hobi[]" value="Yüzmek" /> Yüzmek
                                <input type="checkbox" name="hobi[]" value="Kitap okumak" /> Kitap Okumak
                                <input type="checkbox" name="hobi[]" value="Dans Etmek" /> Dans Etmek
                                <input type="checkbox" name="hobi[]" value="Gitar Çalmak" /> Gitar Çalmak
                            </td>
                        </tr>
                        <tr>
                            <td></td>
                            <td></td>
                            <td>
                                <input type="submit" name="kaydet" value="Kaydet" />
                            </td>
                        </tr>
                    </table>
                   
                </form>




ve insert.php sayfamız:

$ad= $_POST['ad'];
    $soyad= $_POST['soyad'];
    $dogum_tarihi= $_POST['dogum_tarihi'];
    $cinsiyet= $_POST['cinsiyet'];
    $ulke= $_POST['ulke'];
    $hobi = implode(",", $_POST['hobi']);
   
    $document = array ("names:" => array ( "first" => $ad, "soyad" => $soyad), "dogum_tarihi" => $dogum_tarihi, "cinsiyet" => $cinsiyet, "ulke" => $ulke, "hobi" => $hobi );

    include "db.php";
   
    $db = new DB();
   
    $collection = $db->connectDB();
      
    $db->addItem($document, $collection);












3 Haziran 2013 Pazartesi

XAMPP PHP ye MongoDB kurulumu


https://github.com/mongodb/mongo-php-driver/downloads

Buradan güncel sürümünü indiriniz. Ben php_mongo-1.3.2RC1.zip sürümünü indirmiştim.

İndirdiğiniz zip i açın ve  php_mongo-1.3.2RC1-5.4-vc9.dll dosyasını c:/xampp/php/ext  içine kopyalayın.

php.ini dosyasını açıp  extension=php_mongo-1.3.2RC1-5.4-vc9.dll satırını ekleyin.

Daha sonra apache servisini yeniden başlatın.

Localhostu çalıştırıp phpinfo() yu açtığınızda görünmesi gerekiyor.






Eğer görünmüyorsa farklı bir dll dosyası deneyiniz. Ben windows 7 64bit sürümünde denemiştim.

Test etmek için de;

- mongodb yi başlatın. 

- php dosyanızı şu şekilde ayarlayın.

<?php
   
    $connection = new Mongo();
   
    if($connection) {
        echo "baglandi";
    } else {
        echo "baglanilamadi!";
    }
   
?>