Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Woocommerce SQL päring märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
tarmo66
HV vaatleja

liitunud: 13.10.2008



Autoriseeritud ID-kaardiga

sõnum 05.05.2021 13:48 Woocommerce SQL päring vasta tsitaadiga

Äkki mõni SQL'i guru näitab õiges suunas?

Ühe välja (eesnime) valimiseks on päring

$wpdb->get_var( "SELECT meta_value FROM $wpdb->usermeta WHERE user_id = "4" AND meta_key = 'billing_first_name'" );


Milline oleks päring mitme välja korraga valimiseks? Tulemus võiks siis olla assotsiatiivne massiiv (associative array).

Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 11
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
matis
HV kasutaja
matis

liitunud: 12.04.2004




sõnum 05.05.2021 21:28 vasta tsitaadiga


SELECT bfn.meta_value AS billing_first_name,
       bln.meta_value AS billing_last_name,
       bco.meta_value AS billing_company
FROM   wp_usermeta bfn
       LEFT JOIN wp_usermeta bln
              ON bln.user_id = bfn.user_id
                 AND bln.meta_key = 'billing_last_name'
       LEFT JOIN wp_usermeta bco
              ON bco.user_id = bfn.user_id
                 AND bln.meta_key = 'billing_company'
WHERE  bfn.user_id = '4'
       AND bfn.meta_key = 'billing_first_name' 

_________________
https://www.e-abi.ee/ - Pangalingid, Smartposti, Post24 moodulid, Järelmaksumoodulid. Magento, Prestahop, Wordpress. Aktsepteerin Bitcoini!
Soovid lisada oma tooteid HinnaVaatlusesse? https://www.e-abi.ee/magento/kasulikud/product-exporter-and-multi-product-feed-generator-hinnavaatlus.html
Kommentaarid: 59 loe/lisa Kasutajad arvavad:  :: 1 :: 1 :: 55
tagasi üles
vaata kasutaja infot saada privaatsõnum
tarmo66
HV vaatleja

liitunud: 13.10.2008



Autoriseeritud ID-kaardiga

sõnum 06.05.2021 14:35 vasta tsitaadiga

Vabandan ebatäpse ülesande püstituse eest, aga neid välju on seal rohkem (20). Ükshaaval LEFT JOIN'imine ei anna olulist võitu iga välja kohta eraldi päringu tegemise ees.
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 11
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 06.05.2021 15:31 vasta tsitaadiga

Google arvab, et võibolla saad siit idee
https://stackoverflow.com/questions/1854043/display-results-from-a-query-with-php-wordpress

ehk see get_var ei ole vist kõige mõistlikum kui rohkem kui üks rida huvi pakub.
Selle et mitu rida üheks kokku panna teeks ma pigem koodis, SQL selliste asjade tegemiseks väga mugav pole kuna pole väga mõeldud sel moel andmete pärimiseks.
Kommentaarid: 61 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 50
tagasi üles
vaata kasutaja infot saada privaatsõnum
matis
HV kasutaja
matis

liitunud: 12.04.2004




sõnum 06.05.2021 20:02 vasta tsitaadiga

tarmo66 kirjutas:
Vabandan ebatäpse ülesande püstituse eest, aga neid välju on seal rohkem (20). Ükshaaval LEFT JOIN'imine ei anna olulist võitu iga välja kohta eraldi päringu tegemise ees.


Ega sellise andmestruktuuriga ei saagi mingit ajalist võitu. On kas LEFT JOIN või siis mitmerealine SQL päring, mille siis koodis teed üheks assoc arrayks.

Magentol on täpselt sama keberniit ja seal on lahenduseks vahetabelid nagu "catalog_category_flat" ja "catalog_product_flat". Frontend pärib kõik oma andmed sealt ning jah, sedasi on tõepoolest palju kiirem, eriti kui tabelis on suur hulk andmeid.

WooCommerce võttis analoogse lähenemise ja oma 3.6 versioonis tegi analoogsed vahetabelid:
https://developer.woocommerce.com/2019/04/01/performance-improvements-in-3-6/

Kui aga andmeid väga hullult pole, siis ajab JOIN asja ära. Kui andmeid on palju ja kiirust vaja, siis tuleb hakata flat tabeleid tegema.....

_________________
https://www.e-abi.ee/ - Pangalingid, Smartposti, Post24 moodulid, Järelmaksumoodulid. Magento, Prestahop, Wordpress. Aktsepteerin Bitcoini!
Soovid lisada oma tooteid HinnaVaatlusesse? https://www.e-abi.ee/magento/kasulikud/product-exporter-and-multi-product-feed-generator-hinnavaatlus.html
Kommentaarid: 59 loe/lisa Kasutajad arvavad:  :: 1 :: 1 :: 55
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 06.05.2021 20:22 vasta tsitaadiga

Flat tabel on..... nii nagu on. Jõudluses saab võidu, aga andmete terviklikkusega on risk. Riski saab maandada kui ei torgi neid tabeleid koodis üldse vaid teed kõik triggerite abil.... see aga kaotab jälle mingis osas paindlikuse kuna selline struktuur paindlikuse mõttes ju ongi et ei peaks iga lisaväljaga baasi struktuuri, koodi ja kõike muud torkima.
Aga igaks juhuks olgu öeldud, et pole ma nende frameworkidega kokku puutunud. Räägin puhtalt baasi disainist.
Kommentaarid: 61 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 50
tagasi üles
vaata kasutaja infot saada privaatsõnum
matis
HV kasutaja
matis

liitunud: 12.04.2004




sõnum 06.05.2021 21:13 vasta tsitaadiga

napoleon kirjutas:
Flat tabel on..... nii nagu on. Jõudluses saab võidu, aga andmete terviklikkusega on risk. Riski saab maandada kui ei torgi neid tabeleid koodis üldse vaid teed kõik triggerite abil.... see aga kaotab jälle mingis osas paindlikuse kuna selline struktuur paindlikuse mõttes ju ongi et ei peaks iga lisaväljaga baasi struktuuri, koodi ja kõike muud torkima.
Aga igaks juhuks olgu öeldud, et pole ma nende frameworkidega kokku puutunud. Räägin puhtalt baasi disainist.


Jah, see on tõsi, et flat tabeli abil pole andmed terviklikud. Kuid selleks on eraldi indekseerijad, mis siis uuendavad andmeid regulaarsete intervallide tagant ja tavaliselt on see ok, et kui adminis midagi muuta, siis jõuab frontendi muudatus 1-15 minuti jooksul. Vahest kui indekseerija ei tööta, siis võivad andmed jääda mitmeks päevaks ebakorrektseteks.

_________________
https://www.e-abi.ee/ - Pangalingid, Smartposti, Post24 moodulid, Järelmaksumoodulid. Magento, Prestahop, Wordpress. Aktsepteerin Bitcoini!
Soovid lisada oma tooteid HinnaVaatlusesse? https://www.e-abi.ee/magento/kasulikud/product-exporter-and-multi-product-feed-generator-hinnavaatlus.html
Kommentaarid: 59 loe/lisa Kasutajad arvavad:  :: 1 :: 1 :: 55
tagasi üles
vaata kasutaja infot saada privaatsõnum
tarmo66
HV vaatleja

liitunud: 13.10.2008



Autoriseeritud ID-kaardiga

sõnum 07.05.2021 18:40 vasta tsitaadiga

Aitüma vastajatele, minu poolest võib teema lõpetatuks lugeda.
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 11
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Woocommerce SQL päring
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.