Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] Pomoc przy zapytaniu
Forum PHP.pl > Forum > PHP
propage
mam tabele products (produkt_id, cena) i promocja (promocja_id, produkt_id, cena), produkt może być na promocji ale nie musi, jak w jednym zapytaniu zwrócić cenę produktu (cenę promocyjna jeśli produkt jest na promocji, cene produktu jesli produktu nie ma na promocji)
Babcia@Stefa
Przekonstruuj tabele tak aby była tylko jedna smile.gif

- products:
produkt_id, cena, promocja, promocja_id

I wtedy konstruujesz zapytanie:
  1. SELECT * FROM products


Aby mieć wszystkie.

  1. SELECT * FROM products WHERE promocja != ''

Aby mieć wszystkie z promocją

  1. SELECT * FROM products WHERE promocja = ''

Aby mieć bez promocji.

  1. <?php
  2. $echo = '<table border="1" cellpadding="0" cellspacing="0"><tr><td>produkt_id</td><td>cena</td><td>promocja</td><td>promocja_id</td></table>';
  3. $sql = mysql_query('SELECT * FROM products');
  4. while($array = mysql_fetch_assoc($sql))
  5. {
  6.  $promocja_options = false;
  7.  if($array['promocja'] == null)
  8.  {
  9.  $array['promocja'] = 'Brak';
  10.  $promocja_options = 'colspan="2"';
  11.  $kolumna = '<td>' .$array['promocja_id']. '</td>';
  12.  }
  13.  $echo .= '<tr><td>' .$array['produkt_id']. '</td><td>' .$array['cena']. '</td><td ' .$promocja_options. '>' .$array['promocja']. '</td>' .$kolumna. '</tr>';
  14. }
  15. ?>


Pozdrawiam, WebNuLL
propage
chyba mnie nie do końca zrozumiałeś.

juz wiem jak to zrobic
if(s.status, s.specials_new_products_price, p.products_price) as products_price
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.