2014-12-09 41 views
0

首先,我想告訴你,我沒有興趣與PHP框架,如phpillow解決方案PHP-ON-沙發下垂或相似。我想創建一個連接到CouchDB 專有與cURL在PHP文件中,如下例所示。CouchDB與PHP(使用cURL),但如何?

1例:

<?php 

// Get a list of databases 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'http://localhost:5984/_all_dbs'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-type: application/json', 
    'Accept: */*' 
)); 

$response = curl_exec($ch); 

curl_close($ch); 

echo $response; 

?> 

示例2:

<?php 

// Get a document 'customer' from specific db 'customers' 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'http://localhost:5984/customers/customer'); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-type: application/json', 
    'Accept: */*' 
)); 

curl_setopt($ch, CURLOPT_USERPWD, 'myDBusername:myDBpass'); 

$response = curl_exec($ch); 

curl_close($ch); 

echo $response; 
?> 

我知道什麼事這麼遠嗎?我知道如何在PHP文件中使用cURL創建CRUD(創建,讀取,更新,刪除),以上例子。我知道如何從命令提示符使用cURL。

我向你問到什麼?我問你以下幾點:

  1. 如何使用cURL在PHP文件中使用CouchDB視圖創建(複雜)搜索?

  2. 如何使用HTML表單中的一些輸入信息創建複雜搜索?

+2

請問*爲什麼*你不」不想使用現有的庫?這當然會有它的優勢。 – Biffen 2014-12-09 12:40:08

+0

雖然我不是Couch專家,但cURL用於發出HTTP請求。它不用於創建視圖。您需要以某種方式從您的CRUD請求中呈現HTML。 – 2014-12-09 13:29:14

+1

我正處於學習階段,我想知道當我提出一些疑問時究竟發生了什麼。 – Pajsije 2014-12-09 13:34:39

回答

1

來查詢CouchDB的視圖,你做一個GET請求來樣/ $ DB/_design/$ DDOC/_view/$ VIEW,其中$ DB是數據庫名稱的URL,$ DDOC是你的設計文檔名稱和$ VIEW是您的視圖的名稱。然後,根據您希望視圖返回的信息類型,將諸如「key」,「startkey」,「endkey」,「sort」等各種參數添加到URL中。

見CouchDB的在http://wiki.apache.org/couchdb/HTTP_view_API#Querying_Options

文件要做到這一點,在PHP捲曲,所有你需要做的是設置正確的查詢網址和方法:

curl_setopt($ch, CURLOPT_URL, "http://localhost:5984/$DB/_design/$DDOC/_view/$VIEW"); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); 
curl_setopt($ch, CURLOPT_USERPWD, 'myDBusername:myDBpass'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch); 
curl_close($ch); 
echo $response; 
+0

感謝您的快速回復。如果你舉一個具體的例子,這將是一件好事。 例如: '' – Pajsije 2014-12-10 07:56:26

+0

例如: ' ' – Pajsije 2014-12-10 08:15:12

+0

我遇到了一個問題,我在查詢中添加了'key = value'並且得到了無效的json錯誤。經過高低搜索,我發現你需要爲查詢添加%22value%22。這似乎工作。 – leekei 2015-10-08 19:08:04