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 :: Версия для печати :: Помогите с выводом массива
Форумы портала PHP.SU » » Вопросы новичков » Помогите с выводом массива

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

1. Okolot - 28 Марта, 2015 - 15:47:29 - перейти к сообщению
Читаю базу

PHP:
скопировать код в буфер обмена
  1.  
  2. $query_art = "
  3.         SELECT
  4.         a.alias AS art_alies,
  5.         a.name AS art_name,
  6.         a.descript AS art_descript
  7.         FROM articles a
  8.         WHERE a.id_group = 2000112773
  9.        ";


Создаю массив

PHP:
скопировать код в буфер обмена
  1.  
  2. while ($row_art = mysql_fetch_array($res_art))
  3.         {
  4.         $art[$k][art_alies] = $row_art['art_alies'];
  5.         $art[$k][art_name] = $row_art['art_name'];
  6.         $art[$k][art_descript] = $row_art['art_descript'];
  7.         $k++;
  8.         }
  9. print_r ($art);
  10.  


Сразуже проверяю наличие (заполняется правильно)

Печатаю
PHP:
скопировать код в буфер обмена
  1.  
  2. for ($x=0; $x<$k; $x++)
  3. {
  4.         echo "<br><br>$art[$x][art_alies] ++ $art[$x][art_name] ++ $art[$x][art_descript]";
  5. }


Получаю хрень

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. Array[art_alies] ++ Array[art_name] ++ Array[art_descript]
  3.  
  4. Array[art_alies] ++ Array[art_name] ++ Array[art_descript]
  5.  
  6. Array[art_alies] ++ Array[art_name] ++ Array[art_descript]


Как вывести в формате
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. значение ++ значение ++ значение
  3.  
2. Faraon-san - 28 Марта, 2015 - 16:04:25 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $query_art = "SELECT a.alias AS art_alies, a.name AS art_name, a.descript AS art_descript FROM articles as a WHERE a.id_group = 2000112773";
  2.  
  3. while ($row_art = mysql_fetch_array($res_art))
  4. {
  5.         $art[$k]['art_alies'] = $row_art['art_alies'];
  6.         $art[$k]['art_name'] = $row_art['art_name'];
  7.         $art[$k]['art_descript'] = $row_art['art_descript'];
  8.         $k++;
  9. }
  10.  
  11.  
  12. foreach($art as $value){
  13.          echo "<br><br>{$value['art_alies']} ++ {$value['art_name']} ++ {$value['art_descript']}";
  14. }
3. Okolot - 28 Марта, 2015 - 16:22:20 - перейти к сообщению
Faraon-san Гранд мерси.

А зачем вот так делать?


я без {} сделал...
4. Faraon-san - 28 Марта, 2015 - 16:48:59 - перейти к сообщению
это экранирование переменных, если строка обернута в двойные кавычки, то можно вот так экранировать переменные, если одинарные то нужно выносить за пределы строки.
пример:
PHP:
скопировать код в буфер обмена
  1.  echo '<br><br>'.$value['art_alies'].' ++ '.$value['art_name'].' ++ '.$value['art_descript'].'';
5. Ts.Saltan - 28 Марта, 2015 - 16:49:28 - перейти к сообщению
дурной тон писать переменные в кавычках
PHP:
скопировать код в буфер обмена
  1. "<br><br>".$art[$x]["art_alies"]." ++ ".$art[$x]["art_name"]." ++ ".$art[$x]["art_descript"]
6. LIME - 28 Марта, 2015 - 17:45:15 - перейти к сообщению

Ts.Saltan пишет:
дурной тон писать переменные в кавычках


Нажмите для увеличения


 

Powered by ExBB FM 1.0 RC1