Script Json ODBC drivers DB Access

di il
1 risposte

Script Json ODBC drivers DB Access

Buon giorno devo recuperare i dati da un database access connesso con ODCB(alla connessione ci sono arrivato) ora dovrei recuperare i dati però in Mysql facevo cosi:
get_product_details.php
<?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);
}
?>
come posso fare non usando query Mysql?

1 Risposte

  • Re: Script Json ODBC drivers DB Access

    Ci sono Riuscito facendoi cosi:
    <?php
    
    /* La query SQL, le parentesi quadrate sono
    necessarie solo quando i nomi dei campi presentano spazi */
    $query="select *from tabripa ORDER by Nbusta" ;
    
    /* 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["tabripa"] = array();
        
        while (!$rs->EOF) {
            // temp user array
            $product = array();
            $product["codice"] = $rs -> Fields["Nbusta"]->value;
            $product["costo"] = $rs -> Fields["costo"]->value;
    		$product["descrizione"] = $rs -> Fields["operazioni"]->value;
    		
           
    
    	    $rs -> MoveNext();
    
    
            // push single product into final response array
            array_push($response["tabripa"], $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() ;
    
    /* Pulizia dell’oggetto Recordset */
    //$rs->Release() ;
    //$rs= null ;
    
    
    
    ?>
    Ora pero ho un problema quando inserisco il campo Descrizione, da inserire sull'array quando vado a vederlo sul Browser non mi da nessun errore, e mi esce foglio bianco ho provato con i valori Int o double li estrae tranquillamente ma invece con alcuni campi che dovrebbero essere solo di testo(non lo so di preciso perche il database è fato in access vecchissimo)mi da questo problema cosa potrebbe essere?
Devi accedere o registrarti per scrivere nel forum
1 risposte