webForumDet fria alternativet

exclusiva värden?

PHPur PHP

5 svar · 211 visningar · startad av WiZzLeR

Medlem sedan juni 2002346 inlägg
Frågan#1

just nu har jag:

$result = mysql_query("SELECT * FROM configs WHERE config_id='0' OR config_id='" . $_GET['id'] . "' ORDER BY config_setting");
	while($row = mysql_fetch_array($result)) { 
	$config[] = array("id" => $row['config_id'], "rule" => $row['config_setting'], "value" => $row['config_value']);
	}

den kan vara så att jag har exclusiva värden för config_setting genom att definera config_serverid men config_setting kan fortfarande innehålla ett värde för gamla settingen. t.ex

| serverid | setting | värde |
| 0 | test | 33 |
| 1 | test | 13 |
| 0 |test2 | 23 |
| 0 |test3 | 42 |

om $_GET['id'] har värdet 1 så tar den ut test med värdet 13 istället för den med 33 och så tar den resterande "settings", test2, test3 eftersom det finns ingen test2 med serverid 1.

hur kan jag lösa mitt problem?

Medlem sedan juni 2002346 inlägg
#2

ingen?

Medlem sedan juli 2001225 inlägg
#3

Ja med din sql-sats så tar den ju med allt, du vill ta ut antingen 0 eller 1 men i din tabell så finns ju 0 och 1 och databasen slänger med allt.

Kolla innan:

if (isset($_GET['id']))
$config_id = $_GET['id'];
else
$config_id = 0;

$result = mysql_query("SELECT * FROM configs WHERE config_id='". $config_id ."' ORDER BY config_setting");
Medlem sedan juni 2002346 inlägg
#4

det där kommer inte fungera ju... den kommer bara ta antingen 0:orna eller det som är definerat i $_GET['id']...

men jag har löst det med sql strängen jag hade.
$config[$row['config_setting']] = array("id" => $row['config_id'], "value" => $row['config_value']);

fast jag vill fortfarande veta om det går att göra det i sql strängen. =)

Medlem sedan juli 2001225 inlägg
#5

Jag förstår inte va du vill ta ut då, ska den inte välja mellan 0 och det värden som anges i $_get['ID'] ?

Medlem sedan juni 2002346 inlägg
#6

nope. som jag sa innan

| serverid | setting | value |
| 0 | test | 33 |
| 1 | test | 13 |
| 0 |test2 | 23 |
| 0 |test3 | 42 |

det finns två som har samma värde för setting dvs "test" men båda har olika "values", 33 och 13. jag vill prioritera det som står i $_GET['id'] och skippa om det finns redan en med "value" 0.

om $_GET['id'] är = 1 så ska den plocka ut följande:

| 1 | test | 13 |
| 0 |test2 | 23 |
| 0 |test3 | 42 |

om ID är 2 så plockar den ut följande:

| 0 | test | 33 |
| 0 |test2 | 23 |
| 0 |test3 | 42 |

get it?

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