justus Posted April 17, 2005 Report Share Posted April 17, 2005 select id, name, from tabula WHERE serija= $prefix + serijas_nr $prefix ir php variablis, kurš ir daļa no vajadzīgās vērtības serijas_nr lauks, sanaak ka jaaatlasa visi ieraksti kur serija= prefx vertiba kurai galaa ir serjas nr. kaa saadi savienot vaicaajumaa mainiigo un tabulas kolonnu ? Link to comment Share on other sites More sharing options...
Lynx Posted April 17, 2005 Report Share Posted April 17, 2005 Man šāds variants strādā: mysql_query('SELECT id FROM ships_'.$_GET['view'].' WHERE blabla'); Pec idejas šim jabūt tādam pašam: myqsl_query('select id, name, from tabula WHERE serija= '.$prefix.'serijas_nr'); Ja reiz runājam par apvienošanu, var apvienot šādu brīnumu? $result = query('SELECT id FROM armory'); while ($res = mysql_fetch_assoc($result)) { list($skaits) = mysql_fetch_row(query('SELECT `'.$res['id'].'` FROM ships_armory WHERE id = '.$now['id'].' ')); } Link to comment Share on other sites More sharing options...
Max_Payne Posted April 17, 2005 Report Share Posted April 17, 2005 (edited) To Lynx: Vai varētu, lūdzu, nedaudz sīkāk - ko Tu īsti gri bi ar to kodu panākt? Edited April 17, 2005 by Max_Payne Link to comment Share on other sites More sharing options...
Lynx Posted April 17, 2005 Report Share Posted April 17, 2005 Apvienot abus pieprasijumus vienā pieprasijumā izmanotojot Subqueries vai Joinus. Izmeiģinājos visādi, bet nesanāk. Pēc ilgākas taisīšanas uzlaboju smagi pieprasījumu(brīnos kā agrāk šis neienāca prātā pēc idejas vajadzētu būt atrākam jo viss tiek savākts ar 1nu pieprasijumu, lai arī nāk daži lieki ieraksti klāt, ātrāk ir par 18 pieprasijumiem, kas izvelk vienu lauku no db) $skaits = mysql_fetch_assoc(query('SELECT * FROM goods WHERE id = '.$now['id'].' ')); $result = query('SELECT id FROM goods'); while ($res = mysql_fetch_assoc($result)) { echo'blabla'.$skaits[''.$res['id'].''].'blabla'; } Link to comment Share on other sites More sharing options...
bubu Posted April 17, 2005 Report Share Posted April 17, 2005 Tev kautkāda dīvaina datubāzes struktūra. Tev jāselektē tās kolonnas, kuru nosaukumu ir citas tabulas datos? Dīvaini. Parasti jau darīta apmēram šādi (ja pareizi tevi saprotu): veido relāciju n-n, kur vienā tabulā glabā īpašību nosaukumus ar vērtībām, otrā - pašus objektus, bet starptabulā, kuram objektam piemīt konkrētā īpašība. goods (id, objvalue, cita_kolonna) types (id, name) good_types(type_id, good_id) SELECT name, objvalue FROM goods JOIN good_types ON goods.id=good_id JOIN types ON type_id=types.id WHERE cita_kolonn=$kautkas Link to comment Share on other sites More sharing options...
Lynx Posted April 17, 2005 Report Share Posted April 17, 2005 Nu datubāzes struktūra ir šāda: Tabulas nosaukums ar precēm: id,nosaukums,vel cita infa 1|prece1|vel kautkas 2|prece2|vel kautkas 3|blabla|vel kautkas Tālak ir tabula kurā atrodas šo preču daudzums un tabulu lauki ir nosaukti peec iepriekšējād tabuls id. id, 1, 2, 3, 4, 5, 6, 7 1|234|123|344|1|5|666| 2|234|123|344|1|5|666| 3|234|123|344|1|5|666| Kāpēc šāda struktūra? Laikam tapēc ka man šķiet loģiskāk ir ja vairāk ieraksti nekā datubāzes lauki. Jo katrs ieraksts preču daudzumam atbilst viena cilvēka īpašumā esošajām precēm un ja cilvēki ir 100, tad labāk imho ir 100 ieraksti nekā 100 dažādi lauku nosaukumi(Jānis, Pēteris, etc) un viens ieraksts. Link to comment Share on other sites More sharing options...
bubu Posted April 17, 2005 Report Share Posted April 17, 2005 Nu tas gan nav labi šādi darīt. Tāpēc, ka padomā, kas notiks, ja vajadzēs vēlvienu preci pielikt klāt? Tak jāmaina datubāzes struktūra būs, kas nepavisam nav labi. Loģiski būtu darīt, kā es jau iepriekš teicu: preces (id, nosaukums, cita infa) prechu_daudzumus (noliktavas_id, preces_id, daudzums) (cik saprotu tas prechu_daudzumus ir katrai tipa "noliktavai" savs) Link to comment Share on other sites More sharing options...
Lynx Posted April 17, 2005 Report Share Posted April 17, 2005 O, beidzot sapratu tavu ideju. Jo patiešām vienreiz smagi nācās pārkārtot daļu db. Un patiešām šis variants ir daudz loģiskāks. Paldies! Link to comment Share on other sites More sharing options...
Recommended Posts