X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Диапазон данных
Снежа
Снежа
Topic Starter сообщение 16.7.2009, 12:26; Ответить: Снежа
Сообщение #1


Прочитав уроки академии Шаг я наткнулась на "диапазоны" и у меня возник вопрос к следующему фрагменту кода:
Select Name, Pages From Books Where Pages Between 200 And 600;

Здесь мы выбираем имя и кол-во страниц книг с диапазоном от 200 до 600 страниц, но если это будут переменные и там ничего не введут - как сделать так, чтоб тогда диапазон не указывался?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
сообщение 16.7.2009, 12:31; Ответить: FordogeN
Сообщение #2


ээ... нифига себе)
ну я думаю нужно в ПХП предварительно создать переменные с минимальным и максимальным значением, которые подргужаются еси параметры не указаны


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
v1ex
v1ex
сообщение 16.7.2009, 12:32; Ответить: v1ex
Сообщение #3


Если на PHP пишешь, то проверить наличие переменных, и если они существуют добавить в конец запроса "Where Pages Between 200 And 600". Т.е.
$sql = "Select Name, Pages From Books";
if (!empty($from) && !empty($to))
{
  $sql .= " Where Pages Between 200 And 600";
}


FordogeN, в твоем случае нельзя будет вывести все записи :)


Поблагодарили: (0)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
НЕПЛОХОЙ
НЕПЛОХОЙ
сообщение 16.7.2009, 12:33; Ответить: НЕПЛОХОЙ
Сообщение #4


<?php
if(isset($_POST['nachalo']) && isset($_POST['konec'])){
$sql = "Select Name, Pages From Books Where Pages Between ".$_POST['nachalo']." And ".$_POST['konec'];
}
else {
$sql = "Select Name, Pages From Books";
}
$query = mysql_query($sql) or die('ошибка');
...


ну у v1x'а лучше код))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
v1ex
v1ex
сообщение 16.7.2009, 12:34; Ответить: v1ex
Сообщение #5


Евгений, Много букф :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Снежа
Снежа
Topic Starter сообщение 16.7.2009, 12:46; Ответить: Снежа
Сообщение #6


v1ex, Не совсем понимаю как это использовать в таком коде.
if(isset($_GET['name']))
{
if(($name = checkSearch($_GET['name'])) !== false)
{
$sql = mysql_query("Select Name, Pages From Books Where Pages Between 200 And 600;");
if(mysql_num_rows($sql) == 0)
{
echo "По вашему запросу ничего не найдено!";
} else {
while($array = mysql_fetch_array($sql))
{
// Вывод результатов
}
}
}
}

Вот так, что ли?
if(isset($_GET['name']))
{
if(($name = checkSearch($_GET['name'])) !== false)
{
$query = "Select Name, Pages From Books";
if (!empty($from) && !empty($to))
{
$query += " Where Pages Between 200 And 600";
}

$sql = mysql_query("$query;");
if(mysql_num_rows($sql) == 0)
{
echo "По вашему запросу ничего не найдено!";
} else {
while($array = mysql_fetch_array($sql))
{
// Вывод результатов
}
}
}
}

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
сообщение 16.7.2009, 13:00; Ответить: FordogeN
Сообщение #7


v1ex, я полагаю нужно так переменные проставить
$sql = "Select Name, Pages From Books";
if (!empty($from) && !empty($to))
{
  $sql += " Where Pages Between $from And $to";
}

И как написала Снежа - $sql это переменная в которой хранится запрос (в ее случае $query). В общем эту переменную нужно вставить как обычный SQL запрос?


--------------------


Поблагодарили: (0)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
v1ex
v1ex
сообщение 16.7.2009, 13:01; Ответить: v1ex
Сообщение #8


FordogeN, ой, да :) Переменные забыл вставить :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
сообщение 16.7.2009, 13:10; Ответить: FordogeN
Сообщение #9


С кем не бывает. Вечерком надо будет код за тестить.
Будет хорошим дополнением к поиску по интернет-магазину :)


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 20.7.2009, 23:33; Ответить: ZiTosS
Сообщение #10


v1ex, Поизвращаемся над кодом
$sql = "Select Name, Pages From Books";
if (!empty($from) && !empty($to))
{
  $sql .= " Where Pages Between 200 And 600";
}


думаю так можно написать:
$sql = "SELECT Name, Pages FROM Books";
$sql .= isset($from, $to) ? " WHERE Pages BETWEEN 200 and 600" : "";


или так:
$sql = "SELECT Name, Pages FROM Books";
if(isset($from, $to)) $sql .= " WHERE Pages BETWEEN 200 and 600";


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Интеграция спортивных данных API. Коэффициенты БК, Live результаты
14 yaroslav89 6628 13.3.2024, 23:16
автор: spoyer_ru
Открытая тема (нет новых ответов) ГОРЯЧИЕ FOREX|CRYPTO ЛИДЫ. БАЗЫ ДАННЫХ
[Чарджбек|Рекавери|Возврат]
9 Leado 3801 9.2.2024, 16:04
автор: baza0013
Открытая тема (нет новых ответов) Базы данных, различной тематики, выкладываем тут.
Делимся, обмениваемся, заказываем, парсим.
12 InfoObmen 15182 4.9.2022, 2:32
автор: Галецкая
Открытая тема (нет новых ответов) Сбор Данных Услуг И Специалистов Яндекс.Услуги
2 zkalinin 2351 26.5.2022, 17:10
автор: zkalinin
Открытая тема (нет новых ответов) Услуги парсинга данных: товаров, описаний, цен, отзывов. Короткие сроки.
0 Defaz_mw 967 9.1.2019, 2:00
автор: Defaz_mw


 



RSS Текстовая версия Сейчас: 28.3.2024, 23:09
Дизайн