Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Подскажите как извлечь данные из MySql при отсутствии переменных?

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-49] 

 
 автор: Lotanaen   (06.05.2011 в 09:44)   письмо автору
 
   для: sega_z   (05.05.2011 в 17:33)
 

да просто добавить в скрипт
$where[] = "podrazd='Легковые автомобили'";
для удобства чтения сразу после $where = array();

  Ответить  
 
 автор: sega_z   (05.05.2011 в 18:38)   письмо автору
 
   для: sega_z   (05.05.2011 в 17:33)
 

Я просто забыл изначально сказать об этом условии WHERE podrazd='Легковые автомобили', и думаю почему выводятся все данные.

  Ответить  
 
 автор: sega_z   (05.05.2011 в 18:01)   письмо автору
 
   для: Lotanaen   (05.05.2011 в 17:56)
 

Блин, вот я раньше не подумал об этом!!! Теперь это действующая база данных с 7000 записей и в поле varchar (250) есть и только цифры и только буквы и буквы с цифрами.

А что будет, если просто изменить тип???
Самое главное, чтобы остались только цифры!

  Ответить  
 
 автор: Lotanaen   (05.05.2011 в 17:56)   письмо автору
 
   для: sega_z   (05.05.2011 в 17:37)
 

для корректной смены типа я бы поступил следующим образом:
-создал в таблице новое поле типа int
-небольшой скрипт для переноса из поля varchar в поле int
-удаляем старое поле varchar
- переименовываем поле int

  Ответить  
 
 автор: sega_z   (05.05.2011 в 17:37)   письмо автору
 
   для: Lotanaen   (05.05.2011 в 17:33)
 

А вообще возможно ли сделать отбор цифр в поле varchar (250) или нет?
И удалится ли информация из поля, если я изменю тип varchar (250) на тип "int"?

  Ответить  
 
 автор: Lotanaen   (05.05.2011 в 17:33)   письмо автору
 
   для: sega_z   (05.05.2011 в 17:29)
 

условие будет работать, но цифры будут восприниматься как символы, а не числа

  Ответить  
 
 автор: sega_z   (05.05.2011 в 17:33)   письмо автору
 
   для: Lotanaen   (05.05.2011 в 17:18)
 

Никак не могу придумать, как в этот код:


$where = array();
if(!empty($tip)) $where[] = "tip='$tip'";
if(!empty($marka)) $where[] = "marka='$marka'";
if(!empty($model)) $where[] = "model='$model'";
if(!empty($dvizhok)) $where[] = "dvizhok='$dvizhok'";
if(!empty($year)) $where[] = "year='$year'";
if(!empty($probeg)) $where[] = "probeg<='$probeg'";
if(!empty($ruly)) $where[] = "ruly='$ruly'";
if(!empty($korobka)) $where[] = "korobka='$korobka'";
if(!empty($region)) $where[] = "region='$region'";
if(!empty($gorod)) $where[] = "gorod='$gorod'";

//Постраничная навигация!
//Задаём число текстовых блоков на странице
$num = 20;
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];

if(!empty($where)) 

$query = "SELECT COUNT(*) FROM doska WHERE ".implode(" AND ", $where); 

else 

$query = "SELECT COUNT(*) FROM doska"; 
}
$result00 = mysql_query($query, $db);

$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total =  intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
  if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
if(!empty($where))
{
$query1 = "SELECT * FROM doska WHERE ".implode(" AND ", $where)." ORDER BY id DESC LIMIT $start, $num";
}
else
{
$query1 = "SELECT * FROM doska ORDER BY id DESC LIMIT $start, $num";
}
$result = mysql_query($query1, $db);


Вставить условие для всех существующих переменных:

WHERE podrazd='Легковые автомобили'

  Ответить  
 
 автор: sega_z   (05.05.2011 в 17:29)   письмо автору
 
   для: sega_z   (05.05.2011 в 17:25)
 

А может ли это условие работать на числах в поле varchar (250)?

  Ответить  
 
 автор: sega_z   (05.05.2011 в 17:25)   письмо автору
 
   для: Lotanaen   (05.05.2011 в 17:18)
 

Сейчас попробую...

  Ответить  
 
 автор: Lotanaen   (05.05.2011 в 17:18)   письмо автору
 
   для: sega_z   (05.05.2011 в 17:00)
 

if(!empty($model)) $where[] = "model<='$model'";

  Ответить  

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-49] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования