Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP + MySQL] Wyciąganie danych z użyciem WHERE podwójnie
Forum PHP.pl > Forum > PHP
proton
Witam

Mam do was pytranie jak wyciągnąć dane z podwójnym użyciem WHERE tylko że w jendym przypadku WHERE może być różne a w drugim równe coś tam. Przykład:

Aktualnie wygląda to tak:

  1. <?php
  2. "SELECT news_id, news_subject, news_cat, news_cat2, news_reads, news_datesta
    mp FROM "
    .$db_prefix."news WHERE news_cat='Buty' OR news_cat='Inne dodatki' OR news_cat='Patche' OR news_cat='Piłki' OR news_cat='Stadiony' OR news_cat='Twarze' ORDER BY news_id DESC LIMIT 10
  3. ?>


I wyciąga to dane gdzie news_cat jest równbe patche lub piłki lub stadiony itd. A ja do tego musze dopsiać że jeszcze jedne warunek aby wyciągał dane gdzie oprócz tego news_cat równego coś tam wyciągnął dane news_cat='PES2008', próbowałem tak:

  1. <?php
  2. "SELECT news_id, news_subject, news_cat, news_cat2, news_reads, news_datesta
    mp FROM "
    .$db_prefix."news WHERE news_cat='Buty' OR news_cat='Inne dodatki' OR news_cat='Patche' OR news_cat='Piłki' OR news_cat='Stadiony' OR news_cat='Twarze' AND news_cat2='PES2008' ORDER BY news_id DESC LIMIT 10
  3. ?>


Ale to nie działa.

Podsumowywując:

news_cat musi być równe albo patche, albo stadiony albo piłki albo coś tam jeszcze
news_cat2 msui być równe PES2008
sniezny_wilk
Może to pomoże smile.gif

  1. SELECT news_id, news_subject, news_cat, news_cat2, news_reads, news_datestamp FROM ".$db_prefix."news WHERE (news_cat='Buty' OR news_cat='Inne dodatki' OR news_cat='Patche' OR news_cat='Piłki' OR news_cat='Stadiony' OR news_cat='Twarze') AND news_cat2='PES2008' ORDER BY news_id DESC LIMIT 10


dwa nawiasy..

@Grzyw dokładnie to samo napisałem wcześniej smile.gif
Grzyw
Ale czemu ma nie działać? Dobrze robisz. Ewentualnie wsadź nawiasy, żeby nadać priorytet:
  1. <?php
  2. $sql = "SELECT news_id, news_subject, news_cat, news_cat2, news_reads, news_datesta
    mp FROM "
    .$db_prefix."news WHERE (news_cat='Buty' OR news_cat='Inne dodatki' OR news_cat='Patche' OR news_cat='Piłki' OR news_cat='Stadiony' OR news_cat='Twarze') AND news_cat2='PES2008' ORDER BY news_id DESC LIMIT 10
  3. ?>
proton
Ok, dzięki. Musiałem dodać nawias i zadziałało.
john_doe
Witam,
nie wiem czy robisz ok bo nie wiem czy dobrze zakumalem.
Twoje zapytanie zwróci wiersze z wart. news_cat określonymi i jednocześnie z wart news_cat2='PES2008' exclamation.gif!!
Jeśli tak .....
może lepiej w tej konwencji:
news_cat to VARCHARY i cat 2 pewnie tez

  1. SELECT news_id, news_subject, news_cat, news_cat2, news_reads, news_datestamp
  2.  
  3. FROM ".$db_prefix."news WHERE news_cat IN ( 'Buty', 'Inne dodatki', 'Patche', 'Piłki', 'Stadiony', 'Twarze') AND news_cat2 = 'PES2008'
  4.  
  5. ORDER BY news_id DESC LIMIT 10
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.