RISOLTO Wordpress $wpdb->get_results ottenere resource

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
eaghezzi
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 725
Iscrizione: martedì 21 luglio 2009, 10:27
Desktop: Lubuntu
Distribuzione: Ubuntu 14.04.1 LTS i686
Sesso: Maschile
Località: Valleambrosia

RISOLTO Wordpress $wpdb->get_results ottenere resource

Messaggio da eaghezzi »

la funzione wordpress $wpdb->get_results
ritorna sempre un array generando un carico elevato
è possibile avere in ritorno un resource e ciclare facendo il fetch una riga alla volta ?
Ultima modifica di eaghezzi il giovedì 4 giugno 2015, 5:15, modificato 1 volta in totale.
Avatar utente
cortinico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 477
Iscrizione: venerdì 15 maggio 2015, 16:49
Desktop: Unity
Distribuzione: Ubuntu 15.04 amd64
Sesso: Maschile
Località: Pisa
Contatti:

Re: Wordpress $wpdb->get_results ottenere resource

Messaggio da cortinico »

Puoi utilizzare $wpdb->get_row per ottenere una riga alla volta. Fai delle query filtrate sull'ID che vuoi ottenere, e ad ogni giro gli chiedi un ID nuovo:
https://codex.wordpress.org/it:Riferimento_classi/wpdb
"Look wide, and even when you think you are looking wide – look wider still!"
http://ncorti.com
Avatar utente
eaghezzi
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 725
Iscrizione: martedì 21 luglio 2009, 10:27
Desktop: Lubuntu
Distribuzione: Ubuntu 14.04.1 LTS i686
Sesso: Maschile
Località: Valleambrosia

Re: Wordpress $wpdb->get_results ottenere resource

Messaggio da eaghezzi »

se fosse così semplice avrei fatto una select filtrata per id

ho bisogno l'elenco dei post ordinati e filtrati
che io sappia si può fare solo con l'accesso diretto al db senza usare wpdb

mi sembra strano che data una query 'generale' non ci sia modo di fare il fetch un record alla volta.
Avatar utente
cortinico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 477
Iscrizione: venerdì 15 maggio 2015, 16:49
Desktop: Unity
Distribuzione: Ubuntu 15.04 amd64
Sesso: Maschile
Località: Pisa
Contatti:

Re: Wordpress $wpdb->get_results ottenere resource

Messaggio da cortinico »

Puoi provare ad usare un oggetto WP_Query: https://codex.wordpress.org/it:Riferime ... i/WP_Query
Comunque penso che per quanto riguarda quello che vuoi fare tu questo non ti possa essere di aiuto, ho provato a dare un'occhiata veloce al codice e vengono comunque caricati tutti i risultati appena si invoca il costruttore e mantenuti in un array associativo.
"Look wide, and even when you think you are looking wide – look wider still!"
http://ncorti.com
Avatar utente
eaghezzi
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 725
Iscrizione: martedì 21 luglio 2009, 10:27
Desktop: Lubuntu
Distribuzione: Ubuntu 14.04.1 LTS i686
Sesso: Maschile
Località: Valleambrosia

Re: Wordpress $wpdb->get_results ottenere resource

Messaggio da eaghezzi »

grazie del contributo se può interessarti ho risolto così

dal mio plugin utilizzando le costanti definite in wp-config apro una nuova connessione al db eseguo la query senza utilizzare wpdb
e nella pagina eseguo il classico ciclo row=fetch ...
non è bello ma funziona bene e non carica il server.
Avatar utente
cortinico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 477
Iscrizione: venerdì 15 maggio 2015, 16:49
Desktop: Unity
Distribuzione: Ubuntu 15.04 amd64
Sesso: Maschile
Località: Pisa
Contatti:

Re: Wordpress $wpdb->get_results ottenere resource

Messaggio da cortinico »

eaghezzi [url=http://forum.ubuntu-it.org/viewtopic.php?p=4765036#p4765036][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:grazie del contributo se può interessarti ho risolto così

dal mio plugin utilizzando le costanti definite in wp-config apro una nuova connessione al db eseguo la query senza utilizzare wpdb
e nella pagina eseguo il classico ciclo row=fetch ...
non è bello ma funziona bene e non carica il server.
Grazie della segnalazione ;)
"Look wide, and even when you think you are looking wide – look wider still!"
http://ncorti.com
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Wordpress $wpdb->get_results ottenere resource

Messaggio da Zoff »

È possibile farlo anche con wpdb:

Codice: Seleziona tutto

<?php

$count = $wpdb->get_var('SELECT COUNT(*) FROM tabella WHERE condizione');
for( $i=0; $i<$count; $i++){
    $row = $wpdb->get_row('query', ARRAY_A, $i);
    //Use $row
}
Oppure:

Codice: Seleziona tutto

<?php

$i=0;
while( $row = $wpdb->get_row('QUERY', ARRAY_A, $i++) ){
    //Use $row
}
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
cortinico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 477
Iscrizione: venerdì 15 maggio 2015, 16:49
Desktop: Unity
Distribuzione: Ubuntu 15.04 amd64
Sesso: Maschile
Località: Pisa
Contatti:

Re: Wordpress $wpdb->get_results ottenere resource

Messaggio da cortinico »

Zoff [url=http://forum.ubuntu-it.org/viewtopic.php?p=4765238#p4765238][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:È possibile farlo anche con wpdb:

Codice: Seleziona tutto

<?php

$count = $wpdb->get_var('SELECT COUNT(*) FROM tabella WHERE condizione');
for( $i=0; $i<$count; $i++){
    $row = $wpdb->get_row('query', ARRAY_A, $i);
    //Use $row
}
Oppure:

Codice: Seleziona tutto

<?php

$i=0;
while( $row = $wpdb->get_row('QUERY', ARRAY_A, $i++) ){
    //Use $row
}
+1 :D
Soluzioni molto eleganti entrambi
"Look wide, and even when you think you are looking wide – look wider still!"
http://ncorti.com
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti