За последние 24 часа нас посетили 22511 программистов и 1192 робота. Сейчас ищут 675 программистов ...

Как вывести из БД определённую ячейку по ID?

Тема в разделе "MySQL", создана пользователем petyann, 28 мар 2022.

Метки:
  1. petyann

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

    С нами с:
    8 июл 2015
    Сообщения:
    30
    Симпатии:
    0
    Как вывести из БД определённую ячейку по ID?
    Делаю так:

    $query = mysqli_query($link, "SELECT price, quantity FROM oc_product WHERE product_id IN (1,2,3,4,5)") or die(mysqli_error($link));

    while($result = mysqli_fetch_assoc($query)){
    echo $result['price'] . '&nbsp';
    echo $result['quantity']. '<br>';
    }

    Но тогда выводятся только значения price и quantity по первому ID (product_id = 1), и всё:
    17900.0000 16

    А как вывести price и quantity только по какому-то одному ID, например по product_id=3?
     
    #1 petyann, 28 мар 2022
    Последнее редактирование: 28 мар 2022
  2. petyann

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

    С нами с:
    8 июл 2015
    Сообщения:
    30
    Симпатии:
    0
    На данный момент решение сделал через switch:

    $query = mysqli_query($link, "SELECT product_id, price, quantity FROM oc_product WHERE product_id IN (251, 55)") or die(mysqli_error($link));

    while($result = mysqli_fetch_assoc($query)){
    $product_id = $result['product_id'];

    switch ($product_id) {
    case 1:
    $a=$result['price'];
    $a1=$result['quantity'];
    break;
    case '2':
    $b=$result['price'];
    $b1=$result['quantity'];
    break;
    case '3':
    $c=$result['price'];
    $c1=$result['quantity'];
    break;
    case '4':
    $d=$result['price'];
    $d1=$result['quantity'];
    break;
    case '5':
    $e=$result['price'];
    $e1=$result['quantity'];
    break;
    }

    echo ($a) . '&nbsp'; echo ($a1) . '<br>';
    echo ($b) . '&nbsp'; echo ($b1) . '<br>';
    echo ($c) . '&nbsp'; echo ($c1) . '<br>';
    echo ($d) . '&nbsp'; echo ($d1) . '<br>';
    echo ($e) . '&nbsp'; echo ($e1) . '<br>';


    }
     
  3. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Код (Text):
    1. SELECT product_id, price, quantity FROM oc_product WHERE product_id IN (1,2,3,4,5)
    PHP:
    1. if($result['product_id'] == 1)
    2. {
    3. echo $result['price'] . '&nbsp';
    4. echo $result['quantity']. '<br>';
    5. }
     
  4. Slava Rozhnev

    Slava Rozhnev Новичок

    С нами с:
    6 сен 2021
    Сообщения:
    87
    Симпатии:
    26
    Адрес:
    https://phpize.online
    PHP:
    1. <?php
    2. $link = &$mysqli;
    3. // берем данные из бфзы
    4. $query = mysqli_query(
    5.     $link,
    6.     "SELECT product_id, price, quantity FROM oc_product WHERE product_id IN (1,2,3,4,5)"
    7. ) or die(mysqli_error($link));
    8.  
    9. // помещаем в массив
    10. while($row = mysqli_fetch_assoc($query)){
    11.     $products[$row['product_id']] = $row;
    12. }
    13.  
    14. // показываем нужный элемент из массива , например 3
    15.     "id: %d, price: %d, quantity: %d",
    16.     $products[3]['product_id'],
    17.     $products[3]['price'],
    18.     $products[3]['quantity']
    19. );
    Test PHP online
     
  5. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    может ТС нужно было просто по ид получить данные, а не массив тягать?
    тогда достаточно изменить условие, например
     
  6. Павел Голубцов

    Павел Голубцов Активный пользователь

    С нами с:
    4 мар 2019
    Сообщения:
    183
    Симпатии:
    4
    если надо вывести по id думаю надо обратится по id и запросить или все данные или данные по фильтру это уже дело 3е.
    Деградируем id есть как же данные взять то оно вот лежит )