За последние 24 часа нас посетили 56938 программистов и 1795 роботов. Сейчас ищут 926 программистов ...

Редактирование

Тема в разделе "PHP для новичков", создана пользователем Andrey5555, 26 апр 2008.

  1. Andrey5555

    Andrey5555 Активный пользователь

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Помогите составить скрипт. Есть 2 поля для загрузки файлов. Если поле не заполнено - обновляються все данные кроме даного, если же заполнено, то обновляються все данные. Как мне это сделать для обоих полей одновременно?

    PHP:
    1.  
    2.  
    3. if (empty ($tech_card))
    4.   mysql_query ("UPDATE materials SET section = '$section', title = '$title', short_description = '$short_description', spending = '$spending', carton = '$carton',      description = '$description', colors = '$colors', image = '$image' WHERE id = '$id'");
    5.   else
    6.   mysql_query ("UPDATE materials SET section = '$section', title = '$title', short_description = '$short_description', spending = '$spending', carton = '$carton',   description = '$description', colors = '$colors', tech_card = '$tech_card', image = '$image' WHERE id = '$id'");
    7.  
    8.  
    Спасибо за помощь.
     
  2. Victor Bazinov

    Victor Bazinov Активный пользователь

    С нами с:
    30 окт 2007
    Сообщения:
    69
    Симпатии:
    0
    PHP:
    1. <?
    2. if (isset($var1) && !empty($var1)) $aq=", var1='{$var1}'";
    3. if (isset($var2) && !empty($var2)) $aq2=", var2='{$var2}'";
    4.  
    5. $query="update ... set ... where .... $aq $aq2";
    6. ?>
    7.  
    8. не? :)
     
  3. Andrey5555

    Andrey5555 Активный пользователь

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    А нет ли другого варианта? И зачем isset ??? И что есть:

    $aq=", var1='{$var1}'";
    и
    $aq2=", var2='{$var2}'";

    И непонимаю ... where .... $aq $aq2.

    Обьясните пожалуйста.
     
  4. Victor Bazinov

    Victor Bazinov Активный пользователь

    С нами с:
    30 окт 2007
    Сообщения:
    69
    Симпатии:
    0
    Если поле заполнено, значит добавляем кусочек sql кода на его обновление в какую-то переменную
    в общем запросе пишем эту переменную..

    Обьясните пожалуйста подробнее задачу, может я не так понял :~
     
  5. Andrey5555

    Andrey5555 Активный пользователь

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Возможно и не так :) Если поле заполнено, то обновляем все данные по этому id ( WHERE id='$id'); если же поле пустое - обновляем все данные, кроме даного. Таких полей 2 и это должно распростроняться на 2 поля.
     
  6. Andrey5555

    Andrey5555 Активный пользователь

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Ну что помочь некому?) Помогите пожалуйта.

    Христос Воскрес!
     
  7. Professor

    Professor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    121
    Симпатии:
    0
    Адрес:
    г. Одесса, Украина
    PHP:
    1. <?
    2.  if ((isset($var1)) && (!empty($var1)))
    3.     $aq=", `field2` = '" . $val2 . "'";
    4.  else
    5.     $aq = "";
    6.  
    7.  $query="UPDATE `table` SET `field1` = 'value1' " . $aq . " WHERE `id` = '" . $id . "'";
    8. ?>
    Обьясняю. Мы составляем запрос. В нём указываем все поля, которые необходимо затронуть. Если поле в форме заполнено - мы добавляем в запрос ещё кусочек ( переменная $aq, которая в противном случае будет пустой и не изменит запроса )
    Надеюсь понятно.