За последние 24 часа нас посетили 18198 программистов и 1700 роботов. Сейчас ищут 1545 программистов ...

вывести записи из бд

Тема в разделе "PHP для новичков", создана пользователем hust0, 30 дек 2016.

  1. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    я один чтоли такое проделал ?
    Через print_r($rows); выводит
    Код (Text):
    1. Array (
    2. [news_id] => 1
    3. [status] => 1
    4. [image] =>
    5.    [image_size] => 0
    6.    [date_added] => 2016-05-15
    7.    [viewed] => 103
    8.    [news_to_category_id] => 117
    9.    [news_category_id] => 1 )
    10.  
    11.    Array ( [0] => Array
    12.              ( [news_id] => 1
    13.                 [status] => 1
    14.                  [image] =>
    15.                     [image_size] => 0
    16.                     [date_added] => 2016-05-15
    17.                      [viewed] => 103
    18.                      [news_to_category_id] =>117
    19.                      [news_category_id] => 1 )
    20.          [1] => Array
    21.                ( [news_id] => 1
    22.                   [status] => 1
    23.                   [image] => data/m145x145.jpg
    24.                   [image_size] => 0
    25.                   [date_added] => 2016-09-22
    26.                   [viewed] => 33
    27.                   [news_to_category_id] => 117
    28.                   [news_category_id] => 1 )
    29.         [2] => Array (
    30.                   [news_id] => 1
    31.                   [status] => 1
    32.                   [image] => data/n145x145.jpg
    33.                   [image_size] => 0
    34.                   [date_added] => 2016-09-17
    35.                   [viewed] => 45
    36.                   [news_to_category_id] => 117
    37.                   [news_category_id] => 1 )
    38.         [3] => Array (
    39.                   [news_id] => 1
    40.                   [status] => 1
    41.                   [image] => data/admin-ajax.php.jpg
    42.                   [image_size] => 0
    43.                   [date_added] => 2016-09-24
    44.                   [viewed] => 57
    45.                   [news_to_category_id] => 117
    46.                   [news_category_id] => 1 )
    а теперь то что я увидел
    1. image не массив а строка
    2. не во всех записях есть image

    соответсвенно $rows['image'] верно - но не для всех записей

    и надо делать так
    PHP:
    1. if (isset($rows['image']) and ($rows['image']!='') )
    2.    {echo $rows['image'];}
    3.         else
    4.        { echo "а вот нету тут нифига";}
    PS смотрю 1 глазом - второй спит - кавычки , точки с запятыми , и скобки - скорей всего где то ошибся - пыха подскажет
     
  2. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Код (Text):
    1.  $result = $this->db->query("SELECT * FROM oc_news INNER JOIN oc_news_to_category WHERE oc_news_to_category.news_id = '1';");
    2.  
    3. foreach ($result as $rows)
    4. {
    5. if (isset($rows['image']) and ($rows['image']!='') ) {echo $rows['image'];} else { echo "а вот нету тут нифига";}
    6.  
    7. }
    выводит
    data/m145x145.jpgа вот нету тут нифигаа вот нету тут нифига
     
  3. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    ну и ??? че не устраивает - хотел же image - получил .. чего не так ?
     
  4. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    А как из array вывести все ссылки image?
     
  5. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    тебе картинку прям надо на экран ?
    PHP:
    1. if (isset($rows['image']) and ($rows['image']!='') ) {echo  "<img src=\"". $rows['image']."\">";} else { echo "а вот нету тут нифига";}
    так чтоли должно быть .. блин глаза в кучу уже ( мелкую укладывали сами чуть не уснули)
    --- Добавлено ---
    какой к черту array - где ты его на экране видишь ?
    data/m145x145.jpg

    это он по твоему что вывел ?

    а теперь расписываю

    PHP:
    1.  $result = $this->db->query("SELECT * FROM oc_news INNER JOIN oc_news_to_category WHERE oc_news_to_category.news_id = '1';"); //НАЙДЕНО 3 ЗАПИСИ
    2. foreach ($result as $rows) //3 РАЗА ПРОГОНЯЕТСЯ ФОРЫЧ
    3. {
    4. if (isset($rows['image']) and ($rows['image']!='') ) {echo $rows['image'];} else { echo "а вот нету тут нифига";}  //1 ЗАПИСЬ С ИМЕНЕМ КАРТИНКИ И 2 ПУСТЫЕ
    5. }
     
  6. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Да но у меня там 8 записей, а выводит только 1...а надо чтобы все выводил
     
  7. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ничё, надо привыкать, чтоб завтра не заснуть)
     
  8. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    А вот сейчас я всех вас удивлю

    сделай вот так
    PHP:
    1. $result=$this->db->query("SELECT count(*) as cnt FROM oc_news INNER JOIN oc_news_to_category WHERE oc_news_to_category.news_id = '1';");
    2.  
    3. die ("количество найденных записей :". $result["cnt"] );
    --- Добавлено ---
    жду какую цифру он выдаст
     
  9. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Fatal error: Cannot use object of type stdClass as array in C:\AppServ\www\catalog\view\theme\default\template\common\column_right.tpl on line 15
    :D
     
  10. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    PHP:
    1. $result=$this->db->query("SELECT count(*) as cnt FROM oc_news INNER JOIN oc_news_to_category WHERE oc_news_to_category.news_id = '1';");
    2.  
    3. die ("количество найденных записей :". $result->cnt );
    че вот такое чтоли он хочет
     
  11. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Notice: Undefined property: stdClass::$cnt in C:\AppServ\www\catalog\view\theme\default\template\common\column_right.tpl on line 16количество найденных записей :
     
  12. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    line 15 это как я понял выпало на die ....

     
  13. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Верно
     
  14. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    а еще это ..
    а почему меня начало смущать то что мы работаем в шаблоне ?
    template\common\column_right.tpl
     
  15. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    движок OpenCart 1.5.5
     
  16. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    ай да ладно ..
    PHP:
    1. $result=$this->db->query("SELECT count(*) as cnt FROM oc_news INNER JOIN oc_news_to_category WHERE oc_news_to_category.news_id = '1';");
    2. foreach ($result as $rows)
    3. {
    4.  echo $rows['cnt'];
    5. }
    --- Добавлено ---
    стремачный он какойто
     
  17. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Тю, а я по code-igniter искал.
     
  18. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    8Notice: Undefined index: cnt in C:\AppServ\www\catalog\view\theme\default\template\common\column_right.tpl on line 17
     
  19. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    ОЙ ОЙ
    это вот чего же тут написано а я не проверял
    Код (Text):
    1.  
    2. SELECT count(*) as cnt FROM oc_news INNER JOIN oc_news_to_category WHERE oc_news_to_category.news_id = '1';");
    3.  
    4. должно то быть  вот так
    5.  
    6. SELECT count(*) as cnt FROM oc_news INNER JOIN oc_news_to_category ON oc_news.news_id=   oc_news_to_category.news_id  WHERE oc_news_to_category.news_id = '1';");
    --- Добавлено ---
    джоин то сделать сделали - а какие поля с чем не указали .. ай яй яй
     
  20. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    1Notice: Undefined index: cnt in C:\AppServ\www\catalog\view\theme\default\template\common\column_right.tpl on line 17
     
  21. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    вот ушлепок а не движок - ведь есть же столбец сами видите

    PHP:
    1. $result=$this->db->query("SELECT count(*) as cnt FROM oc_news INNER JOIN oc_news_to_category WHERE oc_news_to_category.news_id = '1';");
    2. foreach ($result as $rows)
    3. {
    4. var_dump ( $rows )
    5. }
     
  22. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    С джоином я помогал. Ни разу раньше с ним не работал) Нашёл пример просто и скопировал.
     
  23. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    если открыть потом как исходный код то вывод на экран будет очень красивый
     
  24. hust0

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

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Теперь пишет
    array(1) { ["cnt"]=> string(1) "8" } array(1) { [0]=> array(1) { ["cnt"]=> string(1) "8" } } int(1)
    что это значит?
     
  25. Slavka

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

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    по идее он вообше не должен был запуститься =) какойто волшебный движок ..