[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: sql запрос
2fed
такая проблема... мне нужно вытащить данные из БД, логика примерно такая

$q = mysql_query("SELECT id, name, add_date, lv FROM `news` WHERE lv='2' AND lv='3'");


код не верный... ео можно ли как-то сделать чтобы оно вытаскивало данные при lv = 2 и lv = 3? или может есть альернативный вариант?



Спустя 13 минут, 27 секунд (11.02.2012 - 19:39) dadli написал(а):
так ?
$q = mysql_query("SELECT id, name, add_date, lv FROM `news` WHERE lv IN(2,3) ");

Спустя 1 минута, 59 секунд (11.02.2012 - 19:41) 2fed написал(а):
благодарю

Спустя 1 минута, 31 секунда (11.02.2012 - 19:42) 2fed написал(а):
хм... не помогает(

Спустя 1 минута, 29 секунд (11.02.2012 - 19:44) dadli написал(а):
а что видает ?

Спустя 36 секунд (11.02.2012 - 19:44) 2fed написал(а):
если через страницу - то ничего, если через пхп май админ то это - MySQL вернула пустой результат (т.е. ноль строк). ( запрос занял 0.0004 сек. )

Спустя 2 минуты, 51 секунда (11.02.2012 - 19:47) dadli написал(а):
в таблице точно есть строки, где lv ровно 2 и 3 ?

Спустя 1 минута, 1 секунда (11.02.2012 - 19:48) 2fed написал(а):
добавил запись в БД с lv = 2 , выводит только ей, а с lv = 3 не хочет, причём если поставить IN(3,2) всё равно только lv=2 выводит

Спустя 2 минуты, 45 секунд (11.02.2012 - 19:51) dadli написал(а):
несколко раз перечитал ваш перви пост и как я понял, ви хотите виташить из таблиц те строки, когда lv ровно 2 или lv ровно 3
я прав ?

Спустя 1 минута, 11 секунд (11.02.2012 - 19:52) 2fed написал(а):
ага

Спустя 1 минута, 26 секунд (11.02.2012 - 19:54) dadli написал(а):
а у вас есть в таблице такая строка, когда поле lv = 3
?

Спустя 41 секунда (11.02.2012 - 19:54) 2fed написал(а):
сначала была строка только со значением lv=3 - ничего не выводило, добавил строку с lv=2, выводит только её

Спустя 2 минуты, 14 секунд (11.02.2012 - 19:57) dadli написал(а):
покажите вес код, то есть запрос и еше код, по которим виведите данние

Спустя 1 минута, 59 секунд (11.02.2012 - 19:59) 2fed написал(а):
<?php
$ulevel = 2;

if($ulevel == 1)
{
$q = mysql_query("SELECT id, name, add_date, lv FROM `news`");
}
elseif($ulevel == 2)
{
$q = mysql_query("SELECT id, name, add_date, lv FROM `news` WHERE lv='2' AND lv IN(2,3)");
}
else
{
$q = mysql_query("SELECT id, name, add_date, lv FROM `news` WHERE lv='3'");
}
$num = 1;
while($res = mysql_fetch_array($q))
{
echo "<tr>
<td width='50px'>["
.$num."]</td>
<td><a href='view.php?id="
.$res['id']."'>".$res['name']."</a></td>
<td>"
.$res['add_date']."</td>
<td>"
.$res['lv']. "</td>";
$num++;
}
?>

Спустя 4 минуты, 16 секунд (11.02.2012 - 20:03) dadli написал(а):
копируите код, котори я написал в первом посте smile.gif

Спустя 1 минута, 24 секунды (11.02.2012 - 20:04) 2fed написал(а):
ай блин, затупил... не всё стёр)) ща проверю

Спустя 35 секунд (11.02.2012 - 20:05) 2fed написал(а):
всё работает, спасибо большое)

Спустя 1 минута, 48 секунд (11.02.2012 - 20:07) dadli написал(а):
незачто smile.gif

Спустя 3 часа, 23 минуты, 17 секунд (11.02.2012 - 23:30) 2fed написал(а):
dadli, можете помочь упростить данный код?) потипу того как вы тогда мне подсказали...

$query4 = mysql_query("SELECT COUNT(id) FROM `news` WHERE lv='".$ulevel."'");
$query5 = mysql_query("SELECT COUNT(id) FROM `files` WHERE lv='".$ulevel."'");
$query6 = mysql_query("SELECT COUNT(id) FROM `texts` WHERE lv='".$ulevel."'");

$count4 = mysql_result($query4, 0);
$count5 = mysql_result($query5, 0);
$count6 = mysql_result($query6, 0);

$query = $count4 + $count5 + $count6;


чтобы было примерно так:

$query = mysql_query("SELECT COUNT(id) FROM НУЖНЫЕ ТАБЛИЦЫ WHERE lv='".$ulevel."'");

$query = mysql_result($query, 0);

Спустя 13 часов, 24 минуты, 42 секунды (12.02.2012 - 12:55) dadli написал(а):
SELECT SUM(suma) FROM
(SELECT COUNT(id) AS suma FROM `news` WHERE lv='".$ulevel."'
UNION ALL
SELECT
COUNT(id) AS suma FROM `files` WHERE lv='".$ulevel."'
UNION ALL
SELECT
COUNT(id) AS suma FROM `texts` WHERE lv='".$ulevel."'
) AS t


так?

Спустя 1 час, 52 минуты, 20 секунд (12.02.2012 - 14:47) 2fed написал(а):
хм.... а можете пояснить, что значит t в конце?

Спустя 3 минуты, 57 секунд (12.02.2012 - 14:51) nugle написал(а):
AS - это присваивание другого имени для простоты использования

Спустя 1 час, 45 минут, 58 секунд (12.02.2012 - 16:37) 2fed написал(а):
благодарю, помогло)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.