Имя переменной PHP включает переменную - PullRequest
0 голосов
/ 14 ноября 2011

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

$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 [upkeep] равен 3000. Что я делаю не так?

Ответы [ 2 ]

4 голосов
/ 14 ноября 2011

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

$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 голосов
/ 14 ноября 2011

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

В любом случае попробуйте что-то вроде этого:

$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>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...