2013-12-16 4 views
1

Edit ** Ok позволяет увидеть, если я могу сделать это ясно :) жаль не объяснить должным образом.Лучший способ отображения результатов во время цикла

У меня есть ниже в то время как цикл, надеялся, кто мог бы сказать мне, что лучший способ отображения результатов, мне это нужно, чтобы показать имя цвета (редактировать и размер как ключ массива, который я затем взорвется позже, чтобы разделить цвет и размер *), а затем значение со входа. Результаты отправляются на следующую страницу через сообщение.

<?php 

$colour_result = mysqli_query($con,"SELECT colour_variation.*, colours.* FROM colour_variation INNER JOIN colours ON colour_variation.colour_id=colours.colour_id WHERE product_code='$recordID'"); 
while($colour_row = mysqli_fetch_array($colour_result)) 
    { 
?> 
<tr><td valign="middle"><img src="resources/images/colours/<?php echo $colour_row['colour_image']; ?>" width="35" height="35"></td><td width="100"><?php echo $colour_row['colour_name']; ?> 
<center><?php if($colour_row['colour_name'] !== '') { echo('<input type="hidden" size="20" name="' . $colour_row['colour_name'] . '" placeholder="Qty">'); 
    } else { echo(''); } ?> </center></td> 

    <td><center><?php if($colour_row['s'] !== '') { echo('<input type="text" size="2" name="s[]" placeholder="Qty">'); 
    } else { echo(''); } ?> </center></td> 

    </tr> 
    <?php } ?> 
</table> 


<?php } ?> 

Я хотел бы быть в состоянии сделать что-то вроде имени = «$ colour_row [„colour_name“]. '_s []» , но проблема в том, что я не знаю, что все цвета имена будут.

На минуту у меня есть это: имя = "хз []" как массив и отображается так:

$arr_s = $_POST['s']; 

foreach ($arr_s as $key => $value) { 
    echo "<tr><td>$key</td><td>$value</td></tr>\n"; 
} 

или:

$arr_s = $_POST['s']; 

echo 'Small:'; 
print_r(array_filter($arr_s)); 

, но это не дает мне colour_name - только позиция в массиве.

На второй странице я хочу массив, чтобы отобразить все не пустые значения, как так: цвет имя: S: входное значение

* В качестве альтернативы: у меня есть имя цвета как скрытое поле, если я может отображать имя цвета, затем s: значение; m: значение; l: значение; и т.д., пропускающие пустые значения. затем следующая строка отображает следующее название цвета, за которым следуют размеры и т. д.

Надеюсь, я объяснил немного лучше.

Благодаря V много

+0

Попробуйте использовать! = Вместо! == – Dev

ответ

0

Здесь

$arr_s = array(
"red" => "#f00", 
"blue" => "#00f", 
); 

foreach ($arr_s as $key => $value) { 
    echo "<tr><td>$key</td><td>$value</td></tr>\n"; 
} 

производит

<tr><td>red</td><td>#f00</td></tr> 
<tr><td>blue</td><td>#00f</td></tr> 

Можете ли вы показать выход var_dump($colour_row)?

+0

Благодарю вас, я уже смог отобразить вывод массива, однако главная проблема заключается в том, что, как показано в размещенном коде, каждое имя формы составлено из записей из mysql name = "s_". $ colour_row ['colour_name']. '". я могу сделать все шоу в длинном списке. но я хочу, чтобы иметь возможность использовать имя цвета, а затем перечислять размеры и значения – MsKazza

+0

Извините, я не понимаю, что вы имеете в виду ... – MarcoS

+0

каждый элемент формы: echo (' '); имеет массив для размера, который я теперь могу получить для отображения на следующей странице, успешно с array_filter, чтобы избавиться от пустых значений, однако в качестве ключа для каждого значения мне нужно указать $ colour_row ['colour_name'], чтобы показать вместо просто 0, 1, 2 и т. д. – MsKazza

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