Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: SMARTY:проблема вывода данных всего массива в цикле проблема в синтаксисе.
Форумы портала PHP.SU » PHP » Программирование на PHP » SMARTY:проблема вывода данных всего массива в цикле проблема в синтаксисе.

Страниц (2): [1] 2 »
 

1. Lola - 25 Июля, 2007 - 14:29:52 - перейти к сообщению
Немогу сообразить куда что прописать, как только уже не пробовала , ему ничего не нравиться:
не могу понять куда добавлять переменную name ="num" из {section} во время вывода на экран
-->мне нужно вывести в таблице информацию o переменных массива $user при разных меняюшихся id.

php-code:
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql=sprintf("SELECT
  3.                    id as n_id ...
  4.              FROM
  5.                    users
  6.             ");
  7.                        
  8.                         $result=mysql_query($sql) or die(mysql_error());
  9.                         $num=mysql_num_rows($result);
  10. while ($row=mysql_fetch_assoc($result))
  11. {
  12.         $user=array(  "id"   => $row['n_id']...     );
  13. }
  14. $smarty->assign("user",$user);
  15.          
  16.  

template:
PHP:
скопировать код в буфер обмена
  1.  
  2. {section name="num" loop=$user.id}
  3. <tr>
  4.    <td bordercolor="#006400" border="1" bgcolor="#B0E2FF" >
  5.         {$user[num].id}
  6.   </td>...
  7. <tr>
  8. {/section}
  9.  

//.............................. ................................ ...........//
пробовала :
php : $smarty->assign("id",$row['n_id']);
tpl: {section name="num" loop=$id}
{$id[num]}
{/section}

HE выводит
выводит лишь пустую таблицу ne vidit peremennie
при попытке
{$user.id[num]}
не все значения толко -->он просто делает издевательские веши -->буквы sm.вложенный фаил --> ну вообше -то так и должно быть но это так лишь забавная попытка разобраться куда сунуть name="num"

где-то что-то упускаю не вижу --> МОЖЕТ КТО УВИДЕТ???

//.............................. ................................ .........//

Заранее спасибо
2. evgenijj - 25 Июля, 2007 - 15:19:25 - перейти к сообщению
Медитируй над вот этой строкой - до просветления
$user=array( "id" => $row['n_id']... );
3. Lola - 25 Июля, 2007 - 16:24:45 - перейти к сообщению
evgenijj пишет:
Медитируй над вот этой строкой - до просветления
$user=array( "id" => $row['n_id']... );

Нахмурился
блин этот смарти --> дело в $smarty->assign() и $smarty->append()
для вывода всех элементов лучше использовать $smarty->append()...hm
я так и думала маленькая гадость где-нибудь......
до сих пор не могу уловить и запомнить разницу между $smarty->assign() и $smarty->append() и на этом каждый раз застреваюНедовольство, огорчение
главное вроде получила ,что хотела спасибо за УлыбкавдохновениеУлыбка
4. evgenijj - 25 Июля, 2007 - 16:56:51 - перейти к сообщению
Lola пишет:
evgenijj пишет:
Медитируй над вот этой строкой - до просветления
$user=array( "id" => $row['n_id']... );

блин этот смарти --> дело в $smarty->assign() и $smarty->append()

Блин, не в коня корм. Вот ты мне расскажи, какой смысл в этой конструкции
PHP:
скопировать код в буфер обмена
  1.  
  2.  while ($row=mysql_fetch_assoc($result))
  3.  {
  4.          $user = $row;
  5.  }
  6.  

При каждой итерации в переменную $user записывается новое значение, ЗАТИРАЯ записанное ранее.
5. Lola - 25 Июля, 2007 - 17:28:58 - перейти к сообщению
evgenijj пишет:
Lola пишет:
evgenijj пишет:
Медитируй над вот этой строкой - до просветления
$user=array( "id" => $row['n_id']... );

блин этот смарти --> дело в $smarty->assign() и $smarty->append()

Блин, не в коня корм. Вот ты мне расскажи, какой смысл в этой конструкции
PHP:
скопировать код в буфер обмена
  1.  
  2.  while ($row=mysql_fetch_assoc($result))
  3.  {
  4.          $user = $row;
  5.  }
  6.  

При каждой итерации в переменную $user записывается новое значение, ЗАТИРАЯ записанное ранее.


да я теряю предыдущее значение а $smarty->append() дает всегда предыдущее значениe...
вы имеете ввиду что я получила не то что нужно...
ах да ето всего лиш вывод текста а как я нужый id возьму
хмм да опять я вернулась к ассоц. массиву опять алиасы ну не понимаю...
а ето нужно понять потому что мне ето всегда нужно...
i kajdyjj raz tormoz na etom
как мне каждый раз быть?
Ведь я так и буду получать последнее значение т.к. предыдушее каждый раз "стирается" при прогоне в цикле нового ряда


6. evgenijj - 25 Июля, 2007 - 20:40:16 - перейти к сообщению
Lola пишет:

Ведь я так и буду получать последнее значение т.к. предыдушее каждый раз "стирается" при прогоне в цикле нового ряда

PHP:
скопировать код в буфер обмена
  1.  
  2.   while ($row=mysql_fetch_assoc($result))  
  3.   {  
  4.           $user[] = $row;  
  5.   }
  6.  

Учи мат. часть
7. Lola - 26 Июля, 2007 - 11:36:06 - перейти к сообщению
evgenijj пишет:
Lola пишет:

Ведь я так и буду получать последнее значение т.к. предыдушее каждый раз "стирается" при прогоне в цикле нового ряда

PHP:
скопировать код в буфер обмена
  1.  
  2.   while ($row=mysql_fetch_assoc($result))  
  3.   {  
  4.           $user[] = $row;  
  5.   }
  6.  

Учи мат. часть



Здравствуйте Евгений .
1.Я разобрала разницу м/у assign и append-->выполяняет Слияние (конкатенация) как.array_merge() (PHP) но сохраняя при этом ключи.
2.Но я прочитала раздел-массивы и :
[]-->присваивает числовые индексы ???
т.е. я буду закидывать значение по разным индексам массива $user[] каждый ряд $row
а раньше он просто закидывал и опять в тот же индекс $user -->поэтому данные затирались...
................................ ................................ ................................ ........................
НО если это так--> опять вопрос как вывести со смарти? не получется,
да и даже консоль ничего не выводит а ведь должна
хотя бы показать результат запроса --> массив $user???
................................ ................................ ................................ ........................
подскажите,пожалуйста ,в том направлении топаю или нет.
если нет ->опять буду искать-->должна же все-таки додуматься...
Заранее большое спасибо
8. evgenijj - 26 Июля, 2007 - 13:59:36 - перейти к сообщению
http://smarty.php.net/manual/ru/...tion.section.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $sql = "SELECT  id, name, email FROM  users";            
  4. $result = mysql_query($sql) or die(mysql_error());
  5.  
  6. while ($row=mysql_fetch_assoc($result))  
  7. {  
  8.   $users[] = $row;  
  9. }
  10. $smarty->assign('users',$users );
  11. ?>
  12.  
  13. {*
  14.    выводим результат запроса к БД в таблицу
  15. *}
  16. <table>
  17. <tr><th>&nbsp;</th><th>Name</th><th>Email</th></tr>
  18. {section name=co loop=$users}
  19.   <tr>
  20.     <td><a href="view.php?id={$users[co].id}">view<a></td>
  21.     <td>{$users[co].name}</td>
  22.     <td>{$users[co].email}</td>
  23.   <tr>
  24. {/section}
  25. </table>
  26.  
9. Lola - 26 Июля, 2007 - 15:27:02 - перейти к сообщению
evgenijj пишет:
http://smarty.php.net/manual/ru/...tion.section.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $sql = "SELECT  id, name, email FROM  users";            
  4. $result = mysql_query($sql) or die(mysql_error());
  5.  
  6. while ($row=mysql_fetch_assoc($result))  
  7. {  
  8.   $users[] = $row;  
  9. }
  10. $smarty->assign('users',$users );
  11. ?>
  12.  
  13. {*
  14.    выводим результат запроса к БД в таблицу
  15. *}
  16. <table>
  17. <tr><th>&nbsp;</th><th>Name</th><th>Email</th></tr>
  18. {section name=co loop=$users}
  19.   <tr>
  20.     <td><a href="view.php?id={$users[co].id}">view<a></td>
  21.     <td>{$users[co].name}</td>
  22.     <td>{$users[co].email}</td>
  23.   <tr>
  24. {/section}
  25. </table>
  26.  



................................ .....
Сапсибо но я уже нашла ошибкуУлыбка
не хотелось писать она очень глупая --> забрыла убрать алиасы
Спасибо ,ЕВГЕНИЙ ,ЧТО помогаете таким новичкам как я Улыбка
10. evgenijj - 26 Июля, 2007 - 15:41:24 - перейти к сообщению
Блин, разговор двух ненормальных. Я уже начинаю сомневаться - в своем ли я уме. Какие алиасы?! Ты о чем вообще? Твоя проблемы была в неправильном сохранении массива $users. Приложенная к твоему сообщению картинка об этом говорит вполне однозначно. А ты тут такую ахинею несешь - волосы дыбом встают.
11. Lola - 26 Июля, 2007 - 15:44:15 - перейти к сообщению
evgenijj пишет:
Блин, разговор двух ненормальных. Я уже начинаю сомневаться - в своем ли я уме. Какие алиасы?! Ты о чем вообще? Твоя проблемы была в неправильном сохранении массива $users. Приложенная к твоему сообщению картинка об этом говорит вполне однозначно. А ты тут такую ахинею несешь - волосы дыбом встают.


я знаю !!! просто алиасы были со старого кода и сохранились а о них я забыла --> не увидела:
старый код--> начинала с начала чтобы все просмотреть по пути
вот-так ... успокойтесь и не волнуйтесь Улыбка ....
я болше так не буду Улыбка
--> поэтому не хотела говорить об этой ошибке Недовольство, огорчение ведь это действительно не в тему и ГЛУПО!!! SORRY
12. evgenijj - 26 Июля, 2007 - 15:49:03 - перейти к сообщению
Lola пишет:

я знаю !!! просто алиасы были со старого кода и сохранились а о них я забыла --> не увидела:
старый код--> начинала с начала чтобы все просмотреть по пути

Слова вроде русские - а в предложения не складываются. Что знаешь? Какой старый код? Ты хоть что-нибудь поняла, из того что я тебе объяснял? Что такое алиасы? Что посмотреть, по какому пути???!!! Ты о чем вообще?

P.S. Завязывать надо общение с начинающими программистами - дак и в дурдом угодить недолго.
13. Lola - 26 Июля, 2007 - 15:56:23 - перейти к сообщению
evgenijj пишет:
Lola пишет:

я знаю !!! просто алиасы были со старого кода и сохранились а о них я забыла --> не увидела:
старый код--> начинала с начала чтобы все просмотреть по пути

Слова вроде русские - а в предложения не складываются. Что знаешь? Какой старый код? Ты хоть что-нибудь поняла, из того что я тебе объяснял? Что такое алиасы? Что посмотреть, по какому пути???!!! Ты о чем вообще?

P.S. Завязывать надо общение с начинающими программистами - дак и в дурдом угодить недолго.

Я все прекрасно поняла суть ошибки при выводе массива $users всех значений в чем у меня была проблема( not user --> but $user[]) и вы обьяснили я поняла. и сделала а об алиасах забудьте...Вы подсказали и написали я сделала и получилось .Улыбка
P.S:.....не надо так говорить до дурдома вам далеко поверьте - просто вы меня не поняли-
И ВЫ ОЧЕНь НУЖНЫ НЕ НАДО ЗАВЯЗЫВАТь .... ХОРОШО ? ПОЖАЛУЙСТА!!!!
14. Zeta-johns - 26 Июля, 2007 - 17:19:48 - перейти к сообщению
Цитата:
дак и в дурдом угодить недолго.


лучше уж так - чем никак! Ха-ха
15. kamikadze - 26 Июля, 2007 - 23:24:29 - перейти к сообщению
ЧТО ТАКОЙ АЛИАСЫ И С ЧЕМ ИХ ЕДЯТ?

 

Powered by ExBB FM 1.0 RC1