Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Estrapolare dati

  1. #1

    Estrapolare dati

    Salve a tutti vi prego di aiutarmi per questo dilemma che non riesco a risolvere...
    Sono riuscito a prelevare alcuni dati dalla tabella wp_users usando la funzione get_users e mettendoli in un array in questo modo :
    Codice PHP:
    $users_data get_users( array( 'fields' => array( 'user_email''display_name''user_nicename' ) ) );
    // Nessun problema quindi a processarli successivamente 
    Ho creato uno script che me li esporta in CSV e non mi da nessun problema!
    Il problema nasce quando devo prelevare dati diversi da quella tabella esempio (userò sempre wp_users ma la tabella sarà diversa):
    Codice PHP:
    $sql " SELECT ID,user_login,user_email,display_name FROM 'wp_users' " ;
    $datiquery$wpdb-> prepare array ............
    // non riesco a capire come popolare l'array 
    Ho letto in giro che non si può usare la funzione mysql_fetch_assoc .. Non so davvero come proseguire le ho provate tutte !

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, la connessione al db è già esistente di per se e per tanto potresti usare quel che vuoi. Detto ciò, senza inventare l'acqua calda giustamente in WP hai già quel che ti serve.
    codice:
    $dati = $wpdb->get_results("select * from wp_users");
    print_r($dati);
    Così con una qualsiasi query puoi prendere tutti i dati che vuoi.
    QUI ci sono tutti gli esempi.

    Le funzioni prepare() e quant'altro sono metodi di WP pensati per evitare attacchi indesiderati ovviamente. Vanno a controlloare la tipologia dei dati usati/passati per la costruzione delle query.

  3. #3
    Grazie mille per l'aiuto m4rko80 , se posso approfittare, dato che non riesco a creare un array dopo la costruzione della query , potresti dirmi come fare? Nell'esempio sopra ho indicizzato l'array con un altro metodo.. usando
    codice:
    $users_data = get_users( array( 'fields' => array(
    Ho visto e rivisto gli esempi sul link che hai messo ma non riesco a mandare in output il risultato, ne a collegarlo alla generazione finale del CSV. Dovrei prelevare solo 3 colonne all'interno di una tabella , inserirle in un array e costruire come ho fatto sopra un CSV.
    Se mi aiuti (ancora) te ne sarò immensamente grato.. sto da giorni a provare e riprovare

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Forse non ho ben capito cosa devi fare con al seconda query. Nell'esempio QUI è semplicissimo ed è come nella prima query che hai usato per estrarre user_email, user_nicename e display_name. Nella seconda cosa ti serve? Cambiano solo i campi da quel che vedo nel tuo esempio. Quindo lo stesso metodo con indicato altri campi.

  5. #5
    Ti spiego subito scusami se non sono stato preciso . Nel primo esempio utilizzo get_users il quale suppongo che preleva dati direttamente dalla tabella wp_users. La tabella invece che a me adesso interessa si chiama wp_bp_activity (flusso d'attività di buddypress) . Dovrei prelevare ad esempio 3 campi: user_id, type, last_activity. Dato che sopra ho costruito l'array utilizzando get_users e mettendogli i campi con 'fields' seguendo proprio l'esempio sulla pagina che hai linkato , come faccio a costruirlo usando la funzione prepare () o altro non potendo , giustamente, utilizzare get_users ?
    Esempio
    codice:
    $dati = $wpdb->get_results("select * from wp_users");
    A questo punto qua mi servirebbe un array per poter poi stampare il CSV. O altro metodo chiaramente non sono un esperto in PHP quindi accetto tutti i consigli
    Ultima modifica di vincenzo46; 14-11-2017 a 10:04

  6. #6
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ok, se non c'è un metodo per questa estrazione(non conosco il plugin) puoi usare l'esempio della prima risposta.
    Ovunque in WP puoi usare $wpdb che contiene la connessione al db.

    codice:
    global $wbdp;
    $select = "SELECT campo1, campo2 FROM " . $wpdb->prefix . "_bp_activity";
    $result = $wpdb->get_results($select);
    In $result se tutto ok avrai i tuoi dati o l'errore nel caso dovessa capitare qualcosa. La struttura delle risposta sarà forse appena diversa da quella di get_users() ma avrai i tuoi dati.
    Ovviamente la query la dovrai personalizzare in base alle tue necessità.

  7. #7
    Grazie mille m4rko80 !!! Finalmente , funziona! Era proprio quello nell'ultima riga che non sapevo come fare ma come al solito l'ingegno non ha fine!
    Si può per favore mettere un "risolto" ? Poi se volete posso postare il codice per costruire il CSV se a qualcuno serve ?

  8. #8
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Non ho idea per il "risolto"

Tag per questa discussione

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.