За последние 24 часа нас посетили 17593 программиста и 1729 роботов. Сейчас ищут 1415 программистов ...

Запрос в запросе

Тема в разделе "MySQL", создана пользователем Иван Деперо, 24 янв 2017.

Метки:
  1. Иван Деперо

    Иван Деперо Новичок

    С нами с:
    14 дек 2016
    Сообщения:
    12
    Симпатии:
    0
    Допустим есть таблица (tovar) в ней хранятся данные о товаре среди данных есть столбец (pap) где хранится номер папки допустим 102, 103, 104 ... и есть таблица (pap_tov) папки где хранится информация о том что 102 это "камеры", 103 "жесткие диски", 104 это "мониторы".

    Так вот хочется сделать запрос чтобы выгружалось название папки и под ними товары которые отмечены как содержимое этой папки затем следующие и ее содержимое. Подскажите пожалуйста форму запроса?
     
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    join, sub query
     
  3. Иван Деперо

    Иван Деперо Новичок

    С нами с:
    14 дек 2016
    Сообщения:
    12
    Симпатии:
    0
    Облазил весь интернет но не как не пойму как продзпрос работает и какой должен быть алгоритм написания запроса в моем случаи и как потом его выгрузить везде информация урывками и только запросы без PHP
     
  4. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Так ты на PHP если нужно формируешь текстовый SQL запрос. По этому первым делом надо вручную его сделать, чтобы потом уже знать что формировать.
    Ты по какой книге изучаешь MySQL? Посмотрю содержание и подскажу какие главы читать.
     
  5. Иван Деперо

    Иван Деперо Новичок

    С нами с:
    14 дек 2016
    Сообщения:
    12
    Симпатии:
    0
  6. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @Иван Деперо надо книги по MySQL для начинающих читать. Когда уже сможешь SQL запросы писать нужные тебе, вот теперь можно будет к PHP переходить.
    Потому что, грубо говоря для работы с MySQL в PHP нужно понимать 10 функций кроме основ PHP и это более менее на первое время будет достаточно.
    В документации вообще есть готовый код, просто подставляй свой SQL https://secure.php.net/manual/ru/mysqli-result.fetch-assoc.php
     
  7. Иван Деперо

    Иван Деперо Новичок

    С нами с:
    14 дек 2016
    Сообщения:
    12
    Симпатии:
    0
    Посоветуйте, что по читать
     
  8. Иван Деперо

    Иван Деперо Новичок

    С нами с:
    14 дек 2016
    Сообщения:
    12
    Симпатии:
    0
    Код (Text):
    1. <?
    2. /*Подключение к БД*/
    3. include '../keybd.php';
    4. /*Запись данных в название папок*/
    5. $query="SELECT * FROM tovari_brend ORDER by bid";
    6. if ($result = $mysqli->query($query)) {
    7.  
    8.  
    9.     /* извлечение название  */
    10.     while ($row = $result->fetch_assoc()) {
    11.  
    12.             $bnom="$row[bnom]";
    13.             $bbend="$row[bbend]";
    14.             $bid="$row[bid]";
    15.             if ($row[bvid]==1) {$co="44c8f5"; $bvid="$row[bvid]"; $tere='0';} elseif ($row[bvid]==2) {$co="939598"; $bvid="$row[bvid]"; $tere='10';} elseif ($row[bvid]==3) {$co="a7a9ac"; $bvid="$row[bvid]"; $tere='20';} elseif ($row[bvid]==4) {$co="bcbec0"; $bvid="$row[bvid]"; $tere='30';} else {$co="d1d3d4"; $bvid="$row[bvid]"; $tere='40';}
    16.            
    17.         echo '<tr>
    18.         <td colspan="13" style="background-color:#'.$co.'">'.$bbend.'</td>
    19.         </tr>
    20.        
    21. ';
    22. include '../keybd.php';
    23. /*Запись данных в БД*/
    24. $query="SELECT * FROM tovari_ras WHERE pap IN ('$bnom') ORDER by id ";
    25.  
    26. if ($result = $mysqli->query($query)) {
    27.  
    28.  
    29.     /* извлечение ассоциативного массива */
    30.     while ($row = $result->fetch_assoc()) {
    31.  
    32.             $id="$row[id]";
    33.             $ar="$row[ar]";
    34.             $ard="$row[ard]";
    35.             $name="$row[name]";
    36.             $brend="$row[brend]";
    37.             $opi="$row[opi]";
    38.             $pol_opi="$row[pol_opi]";
    39.             $doc="$row[doc]";
    40.             $teh="$row[teh]";
    41.             $roz="$row[roz]";
    42.             $opt="$row[opt]";
    43.             $url="$row[url]";
    44.             $pap_ro="$row[pap_ro]";
    45.             $pap="$row[pap]";
    46.             $kol="$row[kol]";
    47.             $volu="$row[volu]";
    48.             $bdata="$row[bdata]";
    49.         echo '
    50.         <tr>
    51.     <td><p>'.$id.'</p></td>
    52.     <td><p>'.$name.'</p></td>
    53.     <td><p>'.$ar.'</p></td>
    54.      <td><img src="http://security.intant.kz/satu/miniVse/'.$ar.'.png" width="70px"/></td>
    55.     <td><p>'.$opi.'</p></td>
    56.     <td><p>'.$brend.'</p></td>
    57.     <td><p>'.$pap_ro.'</p></td>
    58.     <td><p>'.$pap.'</p></td>
    59.     <td><p>'.$volu.'</p></td>
    60.     <td><p>'.$roz.'</p></td>
    61.       <td><p>'.$opt.'</p></td>
    62.     <td><p>'.$ard.'</p></td>
    63.     <td><p>'.$bdata.'</p></td>
    64.   </tr>
    65. ';
    66. }
    67. }
    68. }
    69. }
    70. ?>
    вот как я решил решить эту задачу но тут получается запрос внутри цикла и он выдает только 1 результат
    --- Добавлено ---
    http://security.intant.kz/promo/new/pages/815.php
    --- Добавлено ---
    это результат