Ciao a tutti sto tentando di leggere 1 record dalla mia app "richiedendo un tag nominato "pid" con uno script Php con Driver OLEDB(devo leggerlo su un DB Microsoft ACCESS) per leggerli tutti ho realizzato questo e funziona:
codice:
<?php
/* La query SQL, */
$query="select *from tabripa" ;
/* I parametri di connessione */
$path= "D:/OneDrive/Programmazione/Android/" ;
$db_name= "dati.mdb" ;
$dsource=$path.$db_name ;
$cn_string="Provider=Microsoft.Jet.OLEDB.4.0;" ;
$cn_string.="Data Source=$dsource;" ;
$cn_string.="Jet OLEDB:Database Password=gmpa";
$response = array();
/* La connessione */
if (!file_exists($dsource) ){
die("Il database non esiste") ;
}
$cn= new COM("ADODB.Connection");
$cn->open($cn_string) ;
/* Istanziamo un oggetto Recordset
e inviamo la query attraverso
il metodo Open() */
$rs= new COM("ADODB.Recordset") ;
$rs->Open($query,$cn) ;
/* Ciclo per recuperare i valori dal recordset
EOF= tutto il set di dati è stato esaminato
e il cursore è giunto in fondo */
if (!$rs->EOF) {
// looping through all results
// products node
$response["products"] = array();
while (!$rs->EOF) {
// temp user array
$product = array();
$product["pid"] = $rs -> Fields["Nbusta"]->value;
$product["name"] = $rs -> Fields["Nome"]->value;
$product["price"] = $rs -> Fields["costo"]->value;
$product["description"] = $rs -> Fields["riparatore"]->value;
// $product["created_at"] = $row["created_at"];
// $product["updated_at"] = $row["updated_at"];
$rs -> MoveNext();
// push single product into final response array
array_push($response["products"], $product);
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
// no products found
$response["success"] = 0;
$response["message"] = "No products found";
// echo no users JSON
echo json_encode($response);
}
/* Chiusura Recordset (da non farsi nelle query di comando) */
$rs->Close() ;
?>
Ora devo fare l'equivalente di questo script MYSQL però in OLEDB:
codice:
<?php
/*
* Following code will get single product details
* A product is identified by product id (pid)
*/
// array for JSON response
$response = array();
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// check for post data
if (isset($_GET["pid"])) {
$pid = $_GET['pid'];
// get a product from products table
$result = mysql_query("SELECT *FROM products WHERE pid = $pid");
if (!empty($result)) {
// check for empty result
if (mysql_num_rows($result) > 0) {
$result = mysql_fetch_array($result);
$product = array();
$product["pid"] = $result["pid"];
$product["name"] = $result["name"];
$product["price"] = $result["price"];
$product["description"] = $result["description"];
// $product["created_at"] = $result["created_at"];
// $product["updated_at"] = $result["updated_at"];
// success
$response["success"] = 1;
// user node
$response["product"] = array();
array_push($response["product"], $product);
// echoing JSON response
echo json_encode($response);
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no users JSON
echo json_encode($response);
}
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no users JSON
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
HO provato a fare cosi ma credo sia sbagliato:
[code]
<?php
/* La query SQL, */
/* I parametri di connessione */
$path= "D:/OneDrive/Programmazione/Android/" ;
$db_name= "dati.mdb" ;
$dsource=$path.$db_name ;
$cn_string="Provider=Microsoft.Jet.OLEDB.4.0;" ;
$cn_string.="Data Source=$dsource;" ;
$cn_string.="Jet OLEDB
atabase Password=gmpa";
$response = array();
/* La connessione */
if (!file_exists($dsource) ){
die("Il database non esiste") ;
}
$cn= new COM("ADODB.Connection");
$cn->open($cn_string) ;
/* Istanziamo un oggetto Recordset
e inviamo la query attraverso
il metodo Open() */
$rs= new COM("ADODB.Recordset") ;
if (isset($_GET["Nbusta"])) {
$pid = $_GET['Nbusta'];
$query="select *FROM tabripa WHERE Nbusta = $pid " ;
// get a product from products table
$result = $rs->Open($query,$cn) ;
/* Ciclo per recuperare i valori dal recordset
EOF= tutto il set di dati è stato esaminato
e il cursore è giunto in fondo */
if (!empty($result)) {
// check for empty result
if ($result->EOF) {
while (!$result->EOF)
// temp user array
$product = array();
$product["pid"] = $result -> Fields["Nbusta"]->value;
$product["name"] = $result -> Fields["Nome"]->value;
$product["price"] = $result -> Fields["costo"]->value;
$product["description"] = $result -> Fields["riparatore"]->value;
// $product["created_at"] = $row["created_at"];
// $product["updated_at"] = $row["updated_at"];
$results -> MoveNext();
// push single product into final response array
array_push($response["products"], $product);
// echoing JSON response
echo json_encode($response);
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no users JSON
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
/* Chiusura Recordset (da non farsi nelle query di comando) */
$rs->Close() ;
/* Pulizia dell’oggetto Recordset */
//$rs->Release() ;
//$rs= null ;
}
?>
[code]
Vi ringrazio in anticipo non sono un esperto si Php ho solo un po di basi,vado al Lavo ro Buona giornata a tutti.