Jump to content
php.lv forumi

saveinot 2 gabalus vaicājumā


justus

Recommended Posts

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

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

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

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

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

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

×
×
  • Create New...