Вопрос по массивам

Фанат

oncle terrible
Команда форума
а те, которые без такой строки - почему в кавыках?
 

zerkms

TDD infected
Команда форума
1. (цитата) далее мне нужно нарисовать на странице ячейки таблицы и залить туда данные. причем некоторые переменные я хочу записать в одну ячейку (например "название отеля (количество звезд))"
и? повторяю вопрос: почему сразу не выводить из массива?

2. без кавычек мне не записать в массиве такую строку - $название отеля ($количество звезд)
а) если тебе не записать такую строку - то зачем другие "$asd" пишутся в кавычках? за компанию?
б) вполне записать - "."
 

musicant

Новичок
*****
zerkms
насчет кавычек вы правы(как всегда).

zerkms
По поводу массива, вы меня запутали......
Что вы имеете ввиду?
 

zerkms

TDD infected
Команда форума
musicant
зачем писать:
$country_name=$row['country_name'];
или
$$val=mysql_real_escape_string($n'$val']);

присваивая некоей конкретной переменной значение ключа массива, если сразу можно оперирировать массивами?
 

musicant

Новичок
zerkms
если не сложно, "разверните" еще немного свою мысль.
вероятно вы имеете ввиду массив $row?
 

zerkms

TDD infected
Команда форума
да, весь $row
почему бы не работать данные непосредственно из него, без прокладок в виде $country_name
 

musicant

Новичок
zerkms
т.е. вместо всего этого нагромождения просто написать
print"<tr><td>$row['country_name']</td>...остальные ячейки...</tr>";
так?
 

musicant

Новичок
zerkms
Сделал, как советовал ***** в самом начале:

while ($row = mysql_fetch_assoc($result)) {
?>
<tr><td><?=$row['start_date']?></td><td><?=$row['country_name']?></td><td><?=$row['resort_name']?></td><td><?=$row['city_name']?></td>
<td><?=$row['hotname'] ."(".$row['stars'].")"?></td><td><?=$row['nights']?></td><td><?=$row['board_name']?></td>
<td><?=$row['RoomTypeName']?></td><td><?=$row['roomcat']?></td><td><?=$row['beds'] ."/". $row['extbeds']?></td>
<td><?=$row['adults'] ."/". $row['children']?></td><td><?=$row['value']."<br />".$row['curr_name']?></td></tr>
<?php
}
 

zerkms

TDD infected
Команда форума
ну или так.
хотя лично я предпочитаю конкатенацию в таких случаях

echo '<tr><td>' . $row['qwe'] . '</td></tr>';
...
 

Фанат

oncle terrible
Команда форума
$row['adults'] ."/". $row['children']?>
здесь неправильно.
вся идея в том, чтобы от РНР использовался только вывод переменной.
вдруг захочется вместо палки поставить что-то еще?

И каждую колонку лучше писать на своей строке - это гораздо лучше читается.

а еще вот тебе подарок на 23 февраля - [m]explode[/m]()
 

musicant

Новичок
Автор оригинала: *****
здесь неправильно.
вся идея в том, чтобы от РНР использовался только вывод переменной.
вдруг захочется вместо палки поставить что-то еще?
А как правильно?

Автор оригинала: *****
И каждую колонку лучше писать на своей строке - это гораздо лучше читается.
Да, я уже так и сделал.

Автор оригинала: *****
а еще вот тебе подарок на 23 февраля - [m]explode[/m]()
Спасибо за подарок :)
НО. просто вставить </td><td> с помощью explode() можно, но как же быть с теми самыми "/", "<br />" и т.д?
 

Фанат

oncle terrible
Команда форума
у меня было помутнение в голове
[m]extract[/m] я имел в виду.
А как правильно?
я же писал выше
td><?=$adults?> / <?=$children?></td>
РНР используется только для вывода переменных, а все остальные элементы оформления пишутся, как есть.

Это самый большой из двух недостатков РНР, как шаблонизатора - почему-то люди всегда хотят написать в шаблоне пхп код, хотя он там даром не нужен
 

musicant

Новичок
Автор оригинала: *****
[m]extract[/m] я имел в виду.
пойду изучать.

Автор оригинала: *****
я же писал выше
td><?=$adults?> / <?=$children?></td>
Да, точно.

-~{}~ 23.02.10 17:05:

*****
Имелось ввиду это?:
while ($row = mysql_fetch_assoc($result)) {
extract ($row, EXTR_OVERWRITE, "prefix"); ?>
<tr>
<td><?=$start_date?></td>
<td><?=$country_name?></td>
<td><?=$resort_name?></td>
<td><?=$city_name?></td>
<td><?=$hotname?> ( <?=$stars?> )</td>
<td><?=$nights?></td>
<td><?=$board_name?></td>
<td><?=$RoomTypeName?></td>
<td><?=$roomcat?></td>
<td><?=$beds?> / <?=$extbeds?></td>
<td><?=$adults?> / <?=$children?></td>
<td><?=$value?> <br /> <?=$curr_name?></td>
</tr>
<?php }
 

Фанат

oncle terrible
Команда форума
примерно, только скорее просто
extract ($row);
без лишних теложвижений.
функция делает именн то, что ты хотел изначально - создает переменные из массива :)
 

musicant

Новичок
*****
спасибо!
учиться,учиться и учиться... :)

-~{}~ 12.03.10 23:50:

Переустанавливал сервер и обновил PHP до версии 5.3.2
перестали работать конструкции вроде этой - <?=$start_date?>
в то время как <?php echo $start_date; ?> выдает нужную информацию

Хотел поискать ответ на php.net, но по какой фразе искать?
 
Сверху