Jump to content
php.lv forumi

SORT BY funkcija


anonīms

Recommended Posts

Tātad ir izveidota liste, kur ir dažādi dati un kurus vajadzētu sagrupēt pēc vairākiem datiem.

<select name="kartot_pec">
<option value="">vārtiem</option>
<option value="">piespēlēm</option>
<option value="">punktiem</option>
<option value="">uzvārdiem</option>
</select>

Galvenais, lai tikko kā izvēlas kādu no selecta datiem, tā lapa refresojas un nomainās querijā ORDER BY.

Nu prioritāte pagaidām ir, lai pēc select izvēles nav jāspiež ok vai kaut kādu submit pogu, bet viss notiek automātiski..

 

Ir kādi ieteikumi?

Link to comment
Share on other sites

To var izdarīt ar Javaskriptu. Uzliec tam select elementam onchange eventu, kurā pārlādē lapu ar uzstādot window.location ar pareizu GET parametru (tb kartot_pec=...). Vai alternatīvi, ja gribi padot šo vērtību caur POST parametriem, tad submito formu.

Link to comment
Share on other sites

Es ceru tā submitēšana nenotiek ar submit button...

Pašlaik pētu to onchange eventu..

 

 

Īsti nesaprotu, jo ar javascript reti strādāju.

Man pat nav skaidrs ko javascript kodā rakstīt, w3school atradu piemēru, bet tur ir ar input un īsti nezinu vai tajā kodā ir tas, kas nepieciešams man.

 

Tomēr kaut ko atradu.

 

<form>
<select ONCHANGE="location = this.options[this.selectedIndex].value;">
<option value="?sadala=statistika&kartot_pec=varti">vārtiem</option>
<option value="?sadala=statistika&kartot_pec=piespeles">">piespēlēm</option>
<option value="?sadala=statistika&kartot_pec=punkti">">punktiem</option>
<option value="?sadala=statistika&kartot_pec=uzvardi">">uzvārdiem</option>
</select>
</form>

 

un tad ar $_GET izveidošu, pēc kā order by, piemēram

 

ORDER BY '$_GET[kartot_pec]'

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

Ar submit pat nemēģināju.

Bet nu es sataisiju ar get. viss iet ideāli.

 

Vienīgi par selectu, pēc refresh viņš aizmet vienmēr uz pirmo, a kā varētu izveidot, lai selectā viņš stāv uz tā, kur ir gets?

(Tas pats, kas kad izvēlas vecumu caur selektu)

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

$sort_by = array(
//mysql_tabulas_kolonna => teksts
'varti'=>'vārtiem',
'piespeles'=>'piespēlēm',
'punkti'=>'punktiem', 
);
$sort = (isset($_POST['sort_by']) && array_key_exists($_POST['sort_by'], $sort_by)) ? $_POST['sort_by'] : 'varti';
?>
<form method="post" action="">
<select name="sort_by" onchange="form.submit();">
<?php
foreach($sort_by as $k=>$v) {
echo "<option".(($k==$sort)?" selected='selected'":"")." value='$k'>$v</option>";
};
?>
</select>
</form>
<?php
$sql = "SELECT * FROM blablaba ORDER BY $sort ASC";
$q = mysql_query($sql);
$i = 1;
if(mysql_num_rows($q)>0) {
while($r=mysql_fetch_array($q)) {
	echo $i++;
	//vēl viss pārējāis
};
};

Link to comment
Share on other sites

×
×
  • Create New...