Connessione PHP /database

di il
12 risposte

Connessione PHP /database

Ciao a tutti,sto realizzando un app che si deve collegare a un database Mysql e ricevere dei dati.Il mio problema e':

la richiesta dei dati la posso fare con PHP dove eseguo una specifica query e mi restituisce i dati dal db,però poi come faccio a inviare i dati estrapolati all'applicazione?

Vi ringrazio per l'attenzione

12 Risposte

  • Re: Connessione PHP /database

    Webservices.

    Ti fai una paginetta php che esegue determinate query sul db, prendendo eventualmente dei parametri di input dall' app (che sostanzialmente fa una semplice richiesta http con dei parametri in get o in post). PHP esegue la query su db, ottiene i dati e poi deve fare un ultima cosa: Stampare i dati formattati in JSON (è un esempio, ci sono anche altri modi). Dalla tua app poi ti parsi quel JSON e ottieni i tuoi dati
  • Re: Connessione PHP /database

    Ciao,allora mi sono informato un po sulla questione, mi sono bloccato a questo punto che mi e poco chiaro:
     dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 
    . Da quello che ho capito riguarda i thread, peró mi potresti aiutare a capire meglio
  • Re: Connessione PHP /database

    E' una funzione di una libreria che si chiama GDC, in pratica ti permette di effettuare una chiamata asincrona.
    Se tu ad esempio facessi una chiamata ad un webservice normalmente, in attesa della risposta l' app sarebbe bloccata. Se però la chiamata la fai all' interno di questo blocco di codice, allora viene eseguito in un altro thread, senza utilizzare il main thread che cosi è libero di gestire l' interfaccia.
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
         NSData* responseData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@""]];
    });
    //Resto del codice
    

    Edit: GDC è un insieme di servizi, il nome della libreria che implementa questi servizi in realtà è libdispatch.
    Grand Central Dispatch
  • Re: Connessione PHP /database

    A ho capito.
    Guarda allora mi blocco perchè praticamente nella pagina PHP io ritorno il valore booleano true o false e lo parso in json,solo che poi in xcode non so come trattarlo,non riesco a capire se
    
    
    NSJSONSerialization JSONObjectWithData
    
    ritorna una stringa,un dizionario, un array.
    Ho un pò di confusione in merito.
    MI potresti aiutare?
  • Re: Connessione PHP /database

    Allora, se il tuo servizio ritorna un array di valori allora quel metodo ritornerà un NSArray, se il tuo servizio ritorna un dizionario allora il valore di ritorno sarà un NSDictionary. Dipende dal JSON che stampi dal tuo file php.

    Se continui ad avere difficoltà posta il JSON e vediamo un pò che succede.
  • Re: Connessione PHP /database

    Allora io in pratica devo eseguire una query sul database e poi devo ritornare un booleano.
    Ecco il codice PHP per capirci meglio:
    
    
    $email=$_POST['email'];
    $pw=$_POST['pw'];
    $flag=false;
    $dati_json=NULL;
    
    $query="insert into utenti(email,pw) values('$email','$pw')";
    
    
    if(mysql_query($query))
    {
      $flag=true;//andato a buon fine
      $dati_json=json_encode($flag); 
      //echo $dati_json;
    
    }
    else
    {
      $flag=false;//andato male
      $dati_json=json_encode($flag); 
     // echo $dati_json;
    
    }
    
    
    
    Dalla parte client,devo prelevare il valore cioè true o false, e in base a quest'ultimi fare determinate cose
  • Re: Connessione PHP /database

    Mi scrivi l' output di questa pagina php?? cioè quello che stampa a video con l' echo (che non va commentato)?
  • Re: Connessione PHP /database

    Ho provato mi visualizza True o False
  • Re: Connessione PHP /database

    E' normale?
  • Re: Connessione PHP /database

    È normale perchè il tuo servizio ritorna solo quello. Comunque per comodità/convenzione ti conviene sempre stamparti un array formattato in json, ad esempio con chiave "flag" e il valore.
     json_encode(array("flag"=>$flag))
    poi ti prendi il tuo NSArray da xcode.
  • Re: Connessione PHP /database

    Scusa senti mi potresti far vedere la parte client che sto andando in confusione.cioe perchè io non dovrei ritornare piu valori ma solo uno che è o true o false in base all'esito della query
  • Re: Connessione PHP /database

Devi accedere o registrarti per scrivere nel forum
12 risposte