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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: выбор по длине строки
 
 автор: lilu   (13.09.2005 в 12:21)   письмо автору
 
 

Каждому столбцу задаётся длина(размер)поля в соответствии с типом!
Например, в таблице есть поле REST типом varchar(50)! Понятно что не в каждой записи это поле заполнено 50-ю символами!

Подскажите как будет выглядеть запрос если надо выбрать из таблицы записи только те у кот. поле REST заполнено 10 и менее символами не смотря но то что максимальное значение поля 50?

   
 
 автор: cheops   (13.09.2005 в 14:38)   письмо автору
 
   для: lilu   (13.09.2005 в 12:21)
 

Запрос будет выглядеть следующим образом
SELECT * FROM tbl WHERE LENGTH(REST) <= 10

   
 
 автор: lilu   (13.09.2005 в 15:37)   письмо автору
 
   для: cheops   (13.09.2005 в 14:38)
 

Спасибо всё работает, тогда ещё вопрос!
Переменная $rez содержит результат выборки:
$rez=mysql_query("SELECT * FROM tbl WHERE LENGTH(REST) <= 10 ");
Как мне этот результат поместить в специально созданную для этого таблицу!
А точнее что неверно в коде

$query1 = "SELECT * FROM karbel WHERE LENGTH(UKAZ) <= 10 ";
$rez=mysql_query($query1);
while ($data=mysql_fetch_array($rez)) 

$qins=mysql("ivcfull", "INSERT INTO newivc ( 
                          KOD, 
                          login, 
                          DATA, 
                       )VALUES (                 
                          '".$data['KOD']."', 
                          '".$data['UKAZ']."', 
                          '".$data['DATA']."' 
                          );"); 
}

   
 
 автор: napTu3aH   (13.09.2005 в 15:50)   письмо автору
 
   для: lilu   (13.09.2005 в 15:37)
 

приведите таблицу, в которую вы хотите занести результаты выборки

   
 
 автор: lilu   (13.09.2005 в 15:52)   письмо автору
 
   для: napTu3aH   (13.09.2005 в 15:50)
 

Я привела выше весь код

   
 
 автор: napTu3aH   (13.09.2005 в 16:09)   письмо автору
 
   для: lilu   (13.09.2005 в 15:37)
 

Извините, у меня не сразу обновился форум
может все дело в кавычках?

$query1 = "SELECT * FROM karbel WHERE LENGTH(UKAZ) <= 10 "; 
$rez=mysql_query($query1); 
while ($data=mysql_fetch_array($rez)) 

$qins=mysql("ivcfull", "INSERT INTO newivc ( 
                          KOD, 
                          login, 
                          DATA, 
                       )VALUES (                  
                          '.$data[KOD].', 
                          '.$data[UKAZ].', 
                          '.$data[DATA].' 
                          )"); 
}

   
 
 автор: lilu   (13.09.2005 в 16:21)   письмо автору
 
   для: napTu3aH   (13.09.2005 в 16:09)
 

нет не в кавычках
я даже не знаю что и думать!!!! И где тут что не так?

   
 
 автор: napTu3aH   (13.09.2005 в 16:30)   письмо автору
 
   для: lilu   (13.09.2005 в 16:21)
 

Попробуйте заменить занос в новую таблицу на эту конструкцию, что выводит в браузер?

$sql="INSERT INTO newivc ( 
                          KOD, 
                          login, 
                          DATA, 
                       )VALUES (                   
                          '.$data[KOD].', 
                          '.$data[UKAZ].', 
                          '.$data[DATA].' 
                          )";
echo "$sql<br>";

   
 
 автор: lilu   (13.09.2005 в 17:06)   письмо автору
 
   для: napTu3aH   (13.09.2005 в 16:30)
 

выводит всё правильно!
Но вот в таблицу данные не заносятся!

   
 
 автор: napTu3aH   (13.09.2005 в 17:18)   письмо автору
 
   для: lilu   (13.09.2005 в 17:06)
 

вместо

echo "$sql<br>"

напишите

mysql_query($sql);


А у вас в самом первом варианте, что делает эта строка?
$qins=mysql("ivcfull", 

   
 
 автор: lilu   (13.09.2005 в 18:06)   письмо автору
 
   для: napTu3aH   (13.09.2005 в 17:18)
 

написала сразу же
а последняя строка объядиняет выбор базы и ф-цию mysql_query! вроде бы!
И как вы предложили тоже не работет! Чудеса!

   
 
 автор: napTu3aH   (13.09.2005 в 18:10)   письмо автору
 
   для: lilu   (13.09.2005 в 18:06)
 

Попробуйте как сказал Локи, вернуть двойные кавычки

   
 
 автор: Loki   (13.09.2005 в 17:53)   письмо автору
 
   для: napTu3aH   (13.09.2005 в 16:30)
 

Перед точками двойные кавычки потеряны:

$sql="INSERT INTO newivc ( 
                          KOD, 
                          login, 
                          DATA, 
                       )VALUES (                    
                          '".$data[KOD]."', 
                          '".$data[UKAZ]."', 
                          '".$data[DATA]."' 
                          )"; 
echo "$sql<br>"; 

   
Rambler's Top100
вверх

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