Как вывести значение value в данном случаи?
Артур Черешнюк

Например, если нам нужна функция выборки с БД для страницы контактов, то ее можно сделать так:

function the_name_contact($param) {
  $result = mysql_query("SELECT * FROM contacts");
  if ($param == "title") {
      while ($row = mysql_fetch_assoc($result))  {
        echo $row['name'];
        }
  }
  elseif ($param == "email") {
      while ($row = mysql_fetch_assoc($result))  {
        echo $row['email'];
        }
  }
  elseif ($param == "address") {
      while ($row = mysql_fetch_assoc($result))  {
        echo $row['address'];
        }
  }
};

функция ничего не возвращает. У нее есть параметр $param и если мне нужно отобразить определенное поле с БД в атрибуте value (это нужно для админки что бы было видно значение поля) или просто вывести в любой тег на сайте в нужном месте, то я могу записать так<?php the_name_contact('email'); ?> вызвать функцию с параметром email который равен полю email в БД.
А если мне нужно, например, нужна функция выборки С БД страницы со слайдером магазинов, где есть название и описание. Здесь уже немного иная структура:

$main_menu = get_stores();

  function get_stores() {
    $result = mysql_query("SELECT * FROM stores");
    while ($row = mysql_fetch_array($result)) {
      $count++; 
      $res_array[$count] = $row;
    }
    return $res_array;
  }

Этот скрипт я делал по примеру и здесь мне немного не понятно. Есть функция get_stores() в которой в цикле идет выборка. и здесь мы не объявляем функцию, а возвращаем значение, почему так? И не понятно зачем $count++; , в предыдущем скрипте инкремента не было, зачем он здесь? Это приравнение тоже не понятно$res_array[$count] = $row;
С этим закончили, теперь нужно в цикле вывести слайды, делаю я это через foreach.

<?php foreach ($our_stores as $stores): ?>
   <a href="portfolio.php?type=stores&id=<?=$stores['id'] ?>"><h3 class="title"><?= $stores['title']?></h3></a>
   <p class="desc">
   <?= $stores['address']?>
   </p>
<?php endforeach; ?>

Здесь на сайт все выводится с помощью переменной<?= $stores['title']?>которая массив и у нее индекс это поле с БД, здесь все хорошо. Но у меня есть форма в админке которая добавляет, редактирует и удаляет слайды. И проблема в том что я никак не могу вывести в поле value на странице редактирования слайда значение, типа как<?= $stores['title']?> но оно работает только в этом цикле foreach. А в админке foreach мне не нужен. Голову уже сломал, не могу понять как вывести value на странице редактирования слайда?
В первом примере с функцией the_name_contact() и параметром $param все просто, а здесь так не получается.

2 чел.