[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: переменная внутри переменной, так что ли
gaserge
только начинаю скриптовать вот столкнулся с такой проблемой, вывожу значения таблицы мускула и неполучается сделать сортировку.

$show_cat = <<<HTML
<tr style="border-bottom:1px solid #000" onmouseout="out(this)" onmouseover="over(this);">
<td>

{$gb_select_login_result['gb_name']} [{$gb_select_login_result['gb_about']}]
</td><td>

{$gbsort_result['gb_n_something']}
</td><td>
{
$gbsort_result['gb_n_m1_2011']}
</td><td>
{
$gbsort_result['gb_n_m2_2011']}
</td><td>
{
$gbsort_result['gb_n_m3_2011']}
</td><td>
{
$gbsort_result['gb_n_m4_2011']}
</td>
</tr>

HTML;


в скрипте есть переменные $month и $year - в них назначается сортировка.
так вот я пробовал вписать (вместо жирного шрифта)

{$gbsort_result['gb_n_$month_$year]'}

но не получается выводит просто пустоту. сами переменные $month и $year отдельно в таблице вывести могу, вот только не получается "запихнуть" их в другую перменную. Обрыл огромную кучу статей так и не нашел, как правильно это записывается... буду премного благодарен за подсказку.



Спустя 16 минут, 2 секунды (24.01.2011 - 03:51) Invis1ble написал(а):
gaserge
Иди сюда и учись нормально кодить.

Спустя 5 минут, 5 секунд (24.01.2011 - 03:56) gaserge написал(а):
это значит что так выводить информацию в корне неправильно?

там и так сижу, учусь.

Спустя 5 минут, 40 секунд (24.01.2011 - 04:02) Invis1ble написал(а):
gaserge
Цитата
это значит что так выводить информацию в корне неправильно?

типа того.... вырвиглазный_код rolleyes.gif

Спустя 1 минута, 15 секунд (24.01.2011 - 04:03) Invis1ble написал(а):
начни с азов, а то ты сразу за мускул взялся, не разобравшись с нормальным оформлением кода...

Спустя 2 минуты, 24 секунды (24.01.2011 - 04:05) gaserge написал(а):
вопрос не по стилю кодирования. а по синтаксису

{$gbsort_result['gb_n_m1_2011]'}

как правильно реализовать?

{$gbsort_result['gb_n_$month_$year]'}

а в скрипте задаются нужные $month и $year

Спустя 11 минут, 3 секунды (24.01.2011 - 04:16) Invis1ble написал(а):
$gbsort_result['gb_n_' . $month . '_' . $year]

PS. А я тебе не столько про стиль кодирования говорю, сколько про синтаксис ) Со временем поймешь, о чем я.

Спустя 38 минут, 46 секунд (24.01.2011 - 04:55) gaserge написал(а):
понятно, спасибо! а я голову ломал, подбирал какие то скобки)) а все просто оказалось)

да уроки то я читаю, не сразу же все приходит.

Спустя 1 час, 44 минуты, 37 секунд (24.01.2011 - 06:40) gaserge написал(а):
написал и нашел решение)

Спустя 3 дня, 1 час, 2 минуты, 50 секунд (27.01.2011 - 07:42) gaserge написал(а):
с такой проблемкой еще столкнулся у меня есть массив:
    // создаем массив с данными
$stats = array (
1 => array (
'name' => '<br />Наименование 1: ',
'val' => $itemsort_result['row1']

),

2 => array (
'name' => '<br />Наименование 2: ',
'val' => $itemsort_result['row2']
),
....


я из него выбираю данные таким способом:

                // там где 0 - нафик с пляжа
$i = 0;
$i_sum = count($stats);

while ($i<$i_sum) {

$i++;
// отбор
foreach ($stats[$i] as $stats_res) {

if ($stats_res == '0') {
$stats_res = "отбор не пройден";
}
$show_items .= $stats_res;

}

}



$show_items .= <<<HTML
....


смысл такой если строка с наименованием = 0, она не проходит отбор, функцией if я смог заменить только при выводе само значение "val", но вообще меня интересует как заодно менять и "name" (само наименование). потому что хочу попробовать убрать строки где 0.

Спустя 7 часов, 32 минуты, 37 секунд (27.01.2011 - 15:15) PiratXXX написал(а):
Не совсем тебя понял...

тебе надо выкинуть тот массив в котором val==0?
если да то я сделал бы так:


foreach($stats as $k=>$v) {
if($v['val'] !== 0) {
$stats[$k] = $v;
}
}

// ну и тут массив stats уже отсортированный...

Спустя 12 часов, 33 минуты, 12 секунд (28.01.2011 - 03:48) gaserge написал(а):
красавчик навел верно) спасибо!
вот так получилось:
       // там где 0 - нафик с пляжа
// запускаем цикл для отбора данных

foreach ($stats as $k=>$v) {

if ($v['val'] == 0) {
$v['name'] = "";
$v['val'] = "";


}

$show_items .= $v['name'];
$show_items .= $v['val'];

}

Спустя 11 часов, 29 минут, 19 секунд (28.01.2011 - 15:18) gaserge написал(а):
Подскажите оправдано ли применение цикла foreach в данном примере? или есть что-то попроще?

Смысл такой, у меня есть форма где происходит сортировка, так я выбираю активное меню из списка.

1. массив
     // селекторы
$sel = array (
1 => array (
'name' => 'Раздел 1',
'val' => 'razd1',
'sel' => ''

),
2 => array (
'name' => 'Раздел 2',
'val' => 'razd2',
'sel' => ''
),
3 => array (
'name' => 'Раздел 3',
'val' => 'razd3',
'sel' => ''
),
//и т.д. порядка 10-15 пунктов к примеру


здесь само поле выбора раздела:
// задаем селектор раздела ($show_sel)
$sel_count = count($sel);
$show_sel = <<<HTML
<div style="float:left;"><form action="" method="get">
Раздел:
<select name="sortby" size="
{$sel_count}" style="font-weight: bold;text-align:center">
HTML;
// запускаем цикл для отбора выделенного раздела
foreach ($sel as $st) {

if ($st['val'] == $sortby) {
$st['sel'] = "selected";
}

$show_sel .= <<<HTML
<option value={$st['val']} {$st['sel']}>{$st['name']}</option>
HTML;
}

$show_sel .= <<<HTML
<input type="submit" class="buttons" value="Отсортировать" />
</select>
</form></div>

HTML;


P.S.: $sortby = $_GET['sortby']

echo $show_sel;

Довольното ки громозко, но работает, может кто нибудь подскажет вариант попроще?

Спустя 6 дней, 1 минута, 23 секунды (6.02.2011 - 15:19) gaserge написал(а):
объясните пожалуеста пример глуп?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.