Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]ASC oraz DESC w jednym zapytaniu SQL
Forum PHP.pl > Forum > Przedszkole
tenloginjestzajety
Witam
czy można zoptymalizować ten kod, zrobić jedno zapytanie SQL?
  1. $querydesc = mysql_query("SELECT * FROM `rewievs` WHERE `tag` = '$tag' AND `ver` = '1' ORDER BY `id` DESC");
  2. $rowdesc = mysql_fetch_assoc($querydesc);
  3. $descdata = date('j.m.Y', $rowdesc['time']);
  4. $queryasc = mysql_query("SELECT * FROM `rewievs` WHERE `tag` = '$tag' AND `ver` = '1' ORDER BY `id` ASC");
  5. $posts = mysql_num_rows($queryasc);
  6. $rowasc = mysql_fetch_assoc($queryasc);


Pozdrawiam

Ps. próbuje z JOIN, ale nie pobiera.

  1. $query = mysql_query("SELECT * FROM `rewievs` INNER JOIN `answer` WHERE `tag` LIKE '$tag' ON `tag` LIKE '$tag'");



udało mi się połączyć dwie tabele jednak nadal mam problem jak zrobić tutaj tag = '$tag'

  1. $query = mysql_query("SELECT * FROM `rewievs` INNER JOIN `answer` ON answer.tag = rewievs.tag");
nospor
Jesli chcesz pobrac tylko czas i jesli dla malego id odpowiada maly czas a dla duzego id odpowiada duzy czas, to wystarczy min() i max()

Jesli nie to UNION
tenloginjestzajety
  1. <?php
  2. $query = mysql_query("SELECT `time` FROM `answer` WHERE `tag` = '$tag' UNION SELECT `time` FROM `rewievs` WHERE `tag` = '$tag'");
  3. while($row = mysql_fetch_assoc($query)){
  4. $data = date('j.m.Y', $row['time']);
  5. echo $data.'<br />';
  6. }
  7. ?>


działa tylko nie wiem czy można wrzucić wyniki do tablicy ( daty ) i wybrać najstarszą oraz najnowszą.
nospor
Jedno zapytanie miales sortowac asc drugie desc...teraz tego nie robisz wiec co oczekujesz?? Dodatkowo kazde zapytanie ma pobierac tylko jeden rekord - LIMIT 1.

Poza tym widze ze pobierasz tylko TIME wiec czemu nie uzyjesz poprostu jednego zapytania z MIN i MAX jak ci na poczatku pisalem?
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-2024 Invision Power Services, Inc.