Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158

    Json Database MS access

    Ciao a tutti scusate la mia ignoranza devo estrarre i dati da un database Ms Access sto cercando di capirne qualcosa ,sto facendo un web server Php ho trovato come fare la connessione al db ora devo far si di passare i dati letti a una app android ho trovato uno script ma lavora con mysql

    codice:
    <?php
    
    $con = mysql_connect("localhost","root","password");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    mysql_select_db("TestDatabase", $con);
    
    
    $result = mysql_query("SELECT * FROM Customer");
    
    
    while($row = mysql_fetch_assoc($result))
      {
    	$output[]=$row;
      }
    
    
    print(json_encode($output));
    
    
    mysql_close($con);
    
    
    
    
    ?>
    sto tentando di fare cosi ma non funziona

    codice:
    <?php
    
    require_once ("config.php");
    
    
    $cn = new COM("ADODB.Connection") or die("Cannot start ADO");
    $cn->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Jet OLEDB:Database Password=gmpa;Data Source=C:\Users\Paolo\Dropbox\Programmazione\c#\dati.mdb;");
    $rs = $cn->execute("SELECT * FROM ".DBTBL);
    //$numFields = $rs->Fields->count;
    
    
    //$result = mysql_query("SELECT * FROM ".DBTBL);
    
    
    while($row = array($rs))
      {
    	$output[]=$row;
      }
    
    
    print(json_encode($output));
    
    
    
    
    ?>
    non ho capito bene come fare il ciclo while qualcuno potrebbe aiutarmi?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Codice PHP:
    while ($row mysql_fetch_object($rs)){
    $arr = array("$rs->tuonomecampo1","$rs->tuonomecampo2""$rs->tuonomecampo3","$rs->etc...");

    }
    $json json_encode($arr); 
    oput sarà
    ["campo1","campo2","campo3","etc.."]




    P.S. non sono sicuro che usando execute apri il recordset forse devi usare mysql_query
    Ultima modifica di cavicchiandrea; 30-07-2014 a 17:50
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158
    ma funziona anche se ho stabilito la connessione tramite OLEDB? e non tramite MYSQL?
    Ultima modifica di Nio74; 30-07-2014 a 18:06

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    mi sa che i recordset di access si scorrono con un
    Codice PHP:
    while(!$rs->EOF

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Ops... e come dice clasku, ma credo che dovrai comunque aprire il recordset per scorrerlo (non sono sicuro access non lo uso da 4 anni e comunque non con php)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158
    lo so che mi direte di usare un DB diverso ma devo collegarmi a un db esistente e vecchio,e non mio.

    Ho provato cosi :
    codice:
    <?php
    
    require_once ("config.php");
    
    
    $cn = new COM("ADODB.Connection") or die("Cannot start ADO");
    $cn->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Jet OLEDB:Database Password=gmpa;Data Source=C:\Users\Paolo\Dropbox\Programmazione\c#\dati.mdb;");
    $rs = $cn->execute("SELECT * FROM ".DBTBL);
    
    
    
    
    while($row = !$rs->EOF)
      {
    	$output[]=$row;
      }
    
    
    print(json_encode($output));
    
    
    
    
    ?>
    ed ottengo un errore di memoria
    codice:
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 24 bytes) in C:\xampp\htdocs\prova\getAll.php on line 10
    ho googlato un po e ho inserito questa riga
    codice:
    ini_set('memory_limit', '-1');
    ma adirittura non mi carica la pagina.

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Prova a fare una query con limite di risultati (tipo i primi 100)... Ora non mi ricordo come si fa in access

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.