webForumDet fria alternativet

sortera resultat

5 svar · 348 visningar · startad av st0ffe

st0ffeMedlem sedan mars 200218 inlägg
#1

jag har denna koden:

$result = mysql_query("SELECT * FROM produkt WHERE ny = 1");
$i = 0;
	while($data = mysql_fetch_array($result))
	{
		$id = $data[id];
		$artistid = $data[artistid];
		$skivbid = $data[skivbid];
		$typid = $data[typid];
		$formatid = $data[formatid];
		$prisid = $data[prisid];
		
		$titel = $data[titel];		
		$beskrivning = $data[beskrivning];
		$katnr = $data[katnr];
		$ny = $data[ny];

        	
        	$result2 = mysql_query("SELECT artist FROM artist WHERE id = '$artistid'");
		while($data2 = mysql_fetch_array($result2))
		{
        		$artist = $data2[artist];
        	}
		
		if ($katnr == null){
        		$result3 = mysql_query("SELECT skivb FROM skivb WHERE id = '$skivbid'");
			while($data3 = mysql_fetch_array($result3))
			{
        		$katnr = $data3[skivb];
        		}
        	}
        	
        	$result4 = mysql_query("SELECT typ FROM typ WHERE id = '$typid'");
		while($data4 = mysql_fetch_array($result4))
		{
        		$typ = $data4[typ];
        	}
        	
        	$result5 = mysql_query("SELECT format FROM formatet WHERE id = '$formatid'");
		while($data5 = mysql_fetch_array($result5))
		{
        		$format = $data5[format];
        	}
        	
		$result6 = mysql_query("SELECT pris FROM pris WHERE id = '$prisid'");
		while($data6 = mysql_fetch_array($result6))
		{
        		$pris = $data6[pris];
        	} 	
        	
        	//$beskrivning = nl2br($beskrivning);
        	$beskrivning = urlencode($beskrivning); 
          	print("&id".$i."=".$id);
          	print("&titel".$i."=".$titel);
        	print("&beskrivning".$i."=".$beskrivning); 
        	print("&katnr".$i."=".$katnr);
        	print("&ny".$i."=".$ny);
        	print("&artist".$i."=".$artist);
         	print("&typ".$i."=".$typ);
		print("&format".$i."=".$format);
		print("&pris".$i."=".$pris);  	
		
	        $i++;
	}

Jag vill nu sortera resultaten efter artistens namn. Hur gör man?

ThACRoWMedlem sedan dec. 2001314 inlägg
#2

Hm, din kod ser onödigt komplicerad ut. Jag tror du skulle kunna smälla ihop 75% i en enda SQL-fråga. Fast jag är lite trött just nu, så jag orkar inte tänka :x

aztekMedlem sedan feb. 200277 inlägg
#3

Borde det inte gå med ORDER BY $artist i SQL frågan?

st0ffeMedlem sedan mars 200218 inlägg
#4

aztek skrev:

Borde det inte gå med ORDER BY $artist i SQL frågan?

det gör det kanske men artistnamnet är i en annan tabell. antar att man kanske ska använda innerjoin men jag kan inte det. är det någon som kan hjälpa?

st0ffeMedlem sedan mars 200218 inlägg
#5

eh... löste det själv. fortfarande onödigt komplicerad kod säkert men men..

HermanMedlem sedan maj 2001431 inlägg
#6

ysh!

SELECT * FROM produkt INNER JOIN artist ON produkt.artistid = artist.id WHERE produkt.ny = 1

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)