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

Форум MySQL

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

 

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

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

тема: Проблема обновления информации из csv-файла

Сообщения:  [1-4] 

 
 автор: denvor   (29.04.2005 в 12:34)   письмо автору
 
   для: Serge   (29.04.2005 в 02:17)
 

Спасибо, все сработало!
Ошибка была в переменной имени таблицы :)

   
 
 автор: cheops   (29.04.2005 в 12:02)   письмо автору
 
   для: denvor   (29.04.2005 в 00:34)
 

Вместо строки
<?php
$res = mysql_query ("UPDATE '$gal_table' SET cena=$price,brand=$brand WHERE catalognum LIKE $model");
?>

напишите
<?php
if(mysql_query ("UPDATE '$gal_table' SET cena=$price,brand=$brand WHERE catalognum LIKE $model"))
{
  exit("Ошибка - ".mysql_error());
}
?>

Чего-нибудь выводит?

   
 
 автор: Serge   (29.04.2005 в 02:17)   письмо автору
 
   для: denvor   (29.04.2005 в 00:34)
 

Попробуй следующий код:


<?php
// Разбиваем строку на слова используя $separator
foreach($strtmp as $value)
  {
  $tok = strtok ($value,$separator);
  $price = $tok;
  $tok = strtok($separator);
  $model = $tok;
  $tok = strtok($separator);
  $brand = $tok;
  // для проверки выводим  - тут все нормально
  echo " Цена = $price Модель= $model Бренд = $brand<br>";

  // обновляем в базе значения полей cena и brand в строке где catalognum равен  model
  $res = mysql_query ("UPDATE '$gal_table' SET cena='$price', brand='$brand' WHERE catalognum LIKE '$model'");
  }
?>


Найденные мною ошибки:
1. В Mysql запросе такие переменные как $price, $brand, $model лучше брать в одинарные кавычки ''.
2. Цикл foreach не был закрыт.

   
 
 автор: denvor   (29.04.2005 в 00:34)   письмо автору
 
 

Озадачился загрузкой новых цен в каталог продукции из csv
файла (из Вашей последней книги). Все нормально, но вот запрос к базе на обновление полей не выполняется. Можете наметанным глазом взглянуть, что не так?


<?php
// Разбиваем строку на слова используя $separator
   foreach($strtmp as $value)
    {
       $tok = strtok ($value,$separator);
        $price = $tok;
       $tok = strtok($separator);
        $model = $tok;
       $tok = strtok($separator);
        $brand = $tok;
      // для проверки выводим  - тут все нормально
       echo " Цена = ".$price." Модель= ".$model." Бренд =".$brand."<br>";
     
      // обновляем в базе значения полей cena и brand в строке где catalognum равен  model
 $res = mysql_query ("UPDATE '$gal_table' SET cena=$price,brand=$brand WHERE catalognum LIKE $model");
?>

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime