Jump to content
php.lv forumi

kverijs + WHERE + odziņa


anonīms

Recommended Posts

Lieta tāda, ka tiek veidota komandas profila lapa, kur arī ir pēdējās spēles.

Attiecīgi no tabulas 'rezultati' tiek savāktas dati par tām komandas_id, kas sakrīt ar komandas id ($_GET['id'])

$pedeejaas_speeles = mysql_query("SELECT km1, km1_rez, km2, km2_rez FROM rezultati WHERE km1 = '$komanda[0]' OR km2 = '$komanda[0]' ORDER BY id DESC LIMIT 5");

 

$komanda['0'] ir komandas_id

km1 // komandas1 id

km2 // komandas2 id

 

Izvelku es šādi:

<tr><td>".$komandas_tags1['1']." vs. ".$komandas_tags2['1']."</td></tr>

 

$komandas_tags ir ņemts no komandām, lai no id iegūtu nosaukumu...

iznākumā viss strādā, bet ir sajaukts, piem.

izvēlētās komandas nosaukums ir PHP, tad izvelkot ir

PHP vs. HTML

CSS vs. XHTML

PHP vs. JAVA

PHP vs. AJAX

AJAX vs. PHP

 

Gribu izveidot, lai šī komanda vienmēr ir sākumā:

 

PHP vs. HTML

PHP vs. CSS

PHP vs. AJAX

...

 

Kā to varētu panākt?

Edited by anonīms
Link to comment
Share on other sites

Tu neesi pareizi sapratis, ORDER BY man vajag id, bet no db gribu, lai vienmēr izvēlēlētā id vienmēr būtu pirmā nevis otrā

 

'km1_kollona' vs. 'km2_kollona'

ir pašlaik, bet vēlos, lai vienmēr izvēlētā id būtu pirmā, lai būtu

 

'km1_kollona' vs. 'km2_kollona'

'km2_kollona' vs. 'km1_kollona'

'km1_kollona' vs. 'km2_kollona'

'km2_kollona' vs. 'km1_kollona'

'km1_kollona' vs. 'km2_kollona'

Link to comment
Share on other sites

Ieliec savu kveriju kā izejas avotu kverijam kurš sakārto otreiz.

SELECT * FROM (SELECT km1, km1_rez, km2, km2_rez FROM rezultati WHERE km1 = '$komanda[0]' OR km2 = '$komanda[0]' ORDER BY id DESC LIMIT 5 ) as t ORDER BY km1

Link to comment
Share on other sites

Nez ar ko codez tavs ir labāks par prastu ORDER BY id, km1 ?

 

Tu neesi pareizi sapratis, ORDER BY man vajag id, bet no db gribu, lai vienmēr izvēlēlētā id vienmēr būtu pirmā nevis otrā

Tādā gadījumā pieliec klāt to papildus kārtošanas kritēriju:

SELECT *, IF(km1==$selected, 0, 1) AS kewl_order FROM blah ORDER BY kewl_order, id

Link to comment
Share on other sites

Nezinu vai labāks, bet savādāks noteikti. Protams varbūt tas nav tas, ko vajag topika autoram, bet sapratu tā.

Ja būs dati:

a b

1 S

2 B

3 F

4 A

5 G

6 C

 

Tad kverijs:

SELECT * FROM t1 ORDER BY a,b LIMIT 5  ;

1, 'S'

2, 'B'

3, 'F'

4, 'A'

5, 'G'

 

vai

SELECT * FROM t1 ORDER BY b,a LIMIT 5  ;

4, 'A'

2, 'B'

6, 'C'

3, 'F'

5, 'G'

 

 

Bet vajadzīgi ta pirmie 5 id, taču pēctam sakārtoti pēc alfabēta.

SELECT * FROM (SELECT * FROM t1 ORDER BY a LIMIT 5  ) as t ORDER BY b;

4, 'A'

2, 'B'

3, 'F'

5, 'G'

1, 'S'

Edited by codez
Link to comment
Share on other sites

×
×
  • Create New...