За последние 24 часа нас посетил 54201 программист и 1724 робота. Сейчас ищут 824 программиста ...

Как вывести из класса переменную

Тема в разделе "PHP для новичков", создана пользователем viphost, 10 апр 2012.

  1. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Подскажите вобщем есть класс
    К примеру:
    Код (Text):
    1.  
    2. class Dot extends Sql {
    3.         function return() {
    4.           $res = $this->res() ; // тут запрос
    5.              while ($value = mysql_fetch_assoc($res)) {
    6.                 $id = $value['id'] ;
    7.                 $name = $value['name'] ;
    8.                 $name2 = $value['name2'] ;
    9.             }  
    10.        }
    Как вывести значение только $id или $name и вобще правильно ли я делаю, то что определяю переменные в while?
     
  2. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Куда вывести? Просто через echo - у тебя в цикле выведет все id. Если ты там, например, кучу статей выбираешь и выводишь только их id.
    Смотря какой запрос к бд и из этого делать выводы - нужен ли там цикл.
     
  3. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    нужно на страницу вывести запись, точнее по всех странице раскидать содержание поля, дергаю ее гетом
    а на страницу вывести что то тип того:
    А такой вариант не подходит
    Код (Text):
    1. <? $obj = new Dot(); echo $obj->return();?>
    так как выведет все содержимое функции класса
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я может че не понимаю, вполне не исключаю, т.к. я болею и очень туплю.

    но как по мне, это всё надо на помойку отнести и переделать с учетом текущих нужд.
     
  5. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Да все правильно, на помойку, только я не пойму как вывести. Я кстати тоже болею, форточка открыта была, надуло жутко ))
    Вот другой класс скажем, проще
    Код (Text):
    1. class New {
    2. function return() {
    3. $name = "название";
    4. $name2 = "название 2";
    5. }
    6. }
    7.  
    8. Как мне выдернуть из функции переменную, только одну из двух?
     
  6. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Возвращай все в массиве, а там пользуйся той, что нужна :)
    Ну, или если тебе всегда за пределами этой функции будет нужна только одна из этих переменных - то её и возвращай из функции.
     
  7. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Что ты на баламутил тут...
    Иди учи ООП...
     
  8. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    да нужно вернуть одну какую то переменную, но не указывать в функции что
    Код (Text):
    1. echo $name = "название";
    просто получится так что у меня в функции будет html код на пол страницы
    А как? =)
    Это и делаю, но мой мозг не в состоянии принять всю необходимую информацию сразу ))
     
  9. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Код (PHP):
    1. <?php
    2. class MyClass {
    3.     function myreturn() {
    4.         $name = "название";
    5.         $name2 = "название 2";
    6.         return($name2);
    7.     }
    8. }
    9. $obj = new MyClass();
    10. echo($obj->myreturn());
    11. ?>
     
  10. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    это я понимаю, так вывести могу, а если понадобится вывести другую переменную? или сразу две в разных участках страницы.
    Сейчас более подробно опишу с html кодом
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    братиш, ты о массивах ченить слыхал? =)
     
  12. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ну тогда возвращай обе в массиве, а используй ту, которая нужна в данном месте :) Или можешь передавать в функцию свою номер нужной переменной, которую вернуть.

    Код (PHP):
    1. <?php
    2. class MyClass {
    3.     function myreturn($num) {
    4.         $name1 = "название";
    5.         $name2 = "название 2";
    6.         return(${'name' . $num});
    7.     }
    8. }
    9. $obj = new MyClass();
    10. echo($obj->myreturn(1));
    11. echo('<br />...<br />');
    12. echo($obj->myreturn(2));
    13. ?>
    Добавлено спустя 43 секунды:
    PS. Но мне второй вариант как-то не нравится...
     
  13. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    ОМГ, а о массивах я и не подумал. Мозг = false
    Вобщем все понятно, ща все будет работать =)
    Спасибо, помогли =)
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нет проблем, че, обращайся

    при чем ты в случае ошибки можешь вернуть фалс и сравнить уже там что если вернули === false (это с проверкой типа) то проблема. иначе - патроним массив.
     
  15. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    ага, так и сделаю.
    Ток надо отдохнуть, а то уже видать совсем не соображаю.