2011-11-14 2 views
-3

Я пытаюсь установить переменные $ upkeep_1, $ upkeep_2 и т. Д., Используя цикл. У меня есть этот код:Имя переменной PHP включает переменную

$sql_result2 = mysql_query("SELECT * FROM houses_db", $db); 
while ($rs2 = mysql_fetch_array($sql_result2)) { 
    $upkeep_{$rs2[type]} = (int) $rs2[upkeep]; 
    } 

echo $upkeep_3 . "<br>"; 

$ RS2 [тип] является поле номера, начиная с одного и идти до 8.

Этот код не выводит ничего, хотя, несмотря на $ RS [содержание] является 3000 . Что я делаю не так?

+3

Начните с давая переменных значимые имена – breiti

+0

чу о Уиллисе говорит – user1022585

ответ

4

Почему бы не использовать массив?

$sql_result2 = mysql_query("SELECT * FROM houses_db", $db); 
while ($rs2 = mysql_fetch_array($sql_result2)) { 
    $upkeep[$rs2['type']] = (int) $rs2['upkeep']; 
} 

echo $upkeep[3] . "<br>"; 
+0

конечно. Спасибо – user1022585

0

Вы уверены, что хотите это сделать? Вы знаете о массивах :)?

Во всяком случае попробовать что-то вроде этого:

$sql_result2 = mysql_query("SELECT * FROM houses_db", $db); 
while ($rs2 = mysql_fetch_array($sql_result2)) { 
    eval("$upkeep_".$rs2[type]." = (int) ".$rs2[upkeep].""); 
} 

echo $upkeep_3 . "<br>"; 
+3

О, мой бог, eval –

+0

Существует то, о чем проблема, о которой вы спрашивали/нуждались/нуждались на вашей странице, на странице – abcde123483

+0

НИЧЕГО не нравится в вашем ответе. –

Смежные вопросы