rebuilder Posted May 2, 2011 Report Share Posted May 2, 2011 Sveiki, ir tāda teorētiski vienkārša, problēma, bet netieku galā. Respektīvi ir tā ir SQL pieprasījums, apmēram šāds: $sql = mysql_query(" SELECT * FROM items as items LEFT JOIN items_details as items_details ON items.id=items_details.id_item LEFT JOIN items_browser_support as items_browser_support ON items.id=items_browser_support.item_id WHERE theme_link='$opened_themes_link' "); Tas ko vēlos panākt, ka pie konkrētās atvērtās item, kur nolasu info no tabulas items_browser_support, tiktu izvadīti visi dati, kas ir pie attiecīgā item_id. Respektīvi tabula "items_browser_support" izskatās apmēram šādi id item_id browser 1 2 IE 2 2 FF ...utt... Tad nu kā to pareizi nolasīt lai man izvada visus datus kas ir pie attiecīgā item_id. Pagaidām lai arī ko es mēģinātu var dabūt tikai pirmo vai pēdējo ierakstu. Kaut kā šķiet, ka doma jau nepareiza pašā pieprasījumā, varbūt arī kļūdos. Quote Link to comment Share on other sites More sharing options...
Rincewind Posted May 2, 2011 Report Share Posted May 2, 2011 Nesaprotami noformulēts jautājums. Selekts vajadzīgs pēc items_browser_support.item_id? Tad pieliec kverijam klāt "WHERE items_browser_support.item_id = 2" Quote Link to comment Share on other sites More sharing options...
rebuilder Posted May 2, 2011 Author Report Share Posted May 2, 2011 Nemāku pat citādāk pastāstīt. Nu man tagad tiek selektoti dati no items_browser_support, bet kā izvadīt visus browserus? Man pašlaik izvada tikai vainu pirmo vai pēdējo sarakstā. Teorētiski cikls vajadzīgs, bet kā to pareizi realizēt? Jo pašai ziņai jau man to ciklu nevajag. Quote Link to comment Share on other sites More sharing options...
Rincewind Posted May 2, 2011 Report Share Posted May 2, 2011 Varbūt pārcelt browser support uz items_details tabulu? Katram iedot savu int(1) lauku un miers. Quote Link to comment Share on other sites More sharing options...
rebuilder Posted May 2, 2011 Author Report Share Posted May 2, 2011 (edited) Teorētiski arī var tā, bet nu gribētu zināt kā šo varētu atrisināt šādā veidā. Pie tam šādā veidā daudz vieglāk būs pēc tam papildināt to padarīšanu ar kādu jaunu browseri utt. Edited May 2, 2011 by rebuilder Quote Link to comment Share on other sites More sharing options...
Rincewind Posted May 2, 2011 Report Share Posted May 2, 2011 Teorētiski arī var tā, bet nu gribētu zināt kā šo varētu atrisināt šādā veidā. Pie tam šādā veidā daudz vieglāk būs pēc tam papildināt to padarīšanu ar kādu jaunu browseri utt. Daudz vieglāk tas ir kā? Jauna lauka pievienošana ar default vērtību 0 aizņem sekundes. Kverijā kļūdas neredzu, jāselektējas visam. Pamēģini joinot pa vienai, skaties kas notiek. Quote Link to comment Share on other sites More sharing options...
xPtv45z Posted May 2, 2011 Report Share Posted May 2, 2011 Tu ciklu nemāki uzrakstīt vai kas tev īsti par problēmu? Quote Link to comment Share on other sites More sharing options...
rebuilder Posted May 2, 2011 Author Report Share Posted May 2, 2011 (edited) Vieglāk domāju ar to, ka ja iznāk jauns browsera versija, man nav jāveido jauns lauks tabulā! Nu neuzskatu to par prātīgu rīcību, katru reizi vērt vaļa un apdeitot tabulas laukus. Tā jau viss tiek selektots, kļūdu nav, vienkārši kā pie izvadīšanas darīt? $row = mysql_fetch_object($sql); echo $row->theme_title; //db sim ir tikai viena vērtība echo $row->browser; // db var būt n skaits vērtību, un šādi loģiski tiek izvadīta tikai viena, bet vajag lai izvada visas. Edited May 2, 2011 by rebuilder Quote Link to comment Share on other sites More sharing options...
Rincewind Posted May 2, 2011 Report Share Posted May 2, 2011 Apskaties kādā formātā tev sql datus atpakaļ dod. Katram browserim ir sava rinda. itema id 1, itema detaļas 1, browseris 1 itema id 1, itema detaļas 1, browseris 2 Ja negribi atsevišķu lauku katram tad ar php rezultāti vispirms jāapstrādā (php vai sql ciklā). Starp citu kapēc detaļas no itema ir nodalītas. Vai tad neselektēsies vienmēr kopā? Quote Link to comment Share on other sites More sharing options...
rebuilder Posted May 2, 2011 Author Report Share Posted May 2, 2011 Vot par to ciklu es arī runāju, kā būtu pareizāk to darīt. Quote Link to comment Share on other sites More sharing options...
Rincewind Posted May 2, 2011 Report Share Posted May 2, 2011 Kaut kā ta: $current_item = 0 while($row = mysql_fetch_object($sql){ if($row->item==$current_item){ echo $row->browser; }else{ echo $row->theme_title; echo $row->browser; $current_item = $row->item'; } } Quote Link to comment Share on other sites More sharing options...
rebuilder Posted May 2, 2011 Author Report Share Posted May 2, 2011 (edited) Atkal pārsteidz vienkāršības fakts. Katrā ziņā liels paldies, tas ir tas ko domāju. Updated: Jautājums priekšdienām, ja man radīsies vairākas šāda tipa tabulas, tad no pārējām infu atlasīt pēc tā paša veida? Vienkārši gribas iztikt ar pēc iespējas mazāk pieprasījumiem, bet laikam te pārāk daudz gribu :D Edited May 2, 2011 by rebuilder Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.