2015-05-07 15 views
2

Это мой первый пост. на точкеPhp if заявление в MySQL для массового обновления

Я пытаюсь сделать обновление насыпной в таблице MySQL с помощью PHP, если statement.but, так как я понятия не имею, о MySQL друг от друга, чтобы подключиться к базе данных и обновления вещей 1 на 1.

Так что в основном я пытаюсь использовать этот оператор if, который ищет слово Casio в названии и избегает всех prodcuts, у которых есть болгарские буквы в имени сам по себе, работает код, у меня просто есть идея, как внедрить его для MySQL любил бы какую-то помощь, как начать.

<?php 
    require("words.php"); 
    $product = "CASIO EF-513D-5AV MTP Chronograph"; 
    if (strstr($product,"CASIO",0)) { 
     /*Watches for men*/ 
      if (strstr($product,$gs,0) || strstr($product,$edifice,0) || strstr($product,$mtp,0) || strstr($product,$mrw,0)) { 
       if ($product == substr($avoid[0],0) || $product == substr($avoid[1],0) || $product == substr($avoid[2],0)) { 
        echo $product; 
        } 
        elseif(strstr($product,$gs,0)) { 
         echo str_replace($gs,$gsW,$product); 
        } 
        elseif(strstr($product,$edifice,0)) { 
         echo str_replace($edifice,$edificeW,$product); 
        } 
        elseif(strstr($product,$mtp,0)) { 
         echo str_replace($mtp,$mtpW,$product); 
        } 
        elseif(strstr($product,$mrw,0)) { 
         echo str_replace($mrw,$mrwW,$product); 
        } 
       } 
      } 
     /*Watches for women*/ 
      elseif (condition) { 
       # code... 
     } 
     else{ 

     } 
    ?> 

все переменные, если утверждение выше содержит

<?php 
/*Real words that we have*/ 
$gs = "G-SHOCK"; 
$casio = "CASIO"; 
$edifice = "EDIFICE"; 
$mtp = "MTP"; 
$mrw = "MRW"; 
/*Words that will be added*/ 
$gsW = "Мъжки спортен G-SHOCK"; 
$casioW = "часовник CASIO"; 
$edificeW = "Мъжки часовник EDIFICE"; 
$mtpW = "Мъжки часовник MTP"; 
$mrwW = "Мъжки часовник MRW"; 

/*Avoid words*/ 
$avoid = array("Мъжки","часовник","спортен") 
?> 

обновление: Моя идея состоит в том, чтобы предназначаться таблицу «продукта» и получить доступ к югу от таблицы «имя» и который когда-либо имя имеет слово Casio в нем, чтобы начать делать, если заявление для него

Ok до сих пор я искал далеко и широко, и единственное, что мне не хватает, и если другое заявление

I'v е выяснить, как искать внутри таблицы для строки с

$sql = "UPDATE product_description SET name = REPLACE(name, 'CASIO', 'Мъжки часовник CASIO')"; 

Я просто не как сказать код Если вы видите $avoid ничего для этих имен не делать, но для остальных добавить, когда-либо вещь я указываю

+0

Какие значения всех этих переменных? И где ваш запрос на обновление –

+0

Я добавлю их в сообщение. Идея состояла в том, чтобы обновить все это только для внешнего интерфейса, но я столкнулся с некоторыми проблемами. – Innervisions

ответ

0

Я думаю, вам просто нужно ограничить SELECT с помощью подходящего предложения WHERE.

WHERE name NOT LIKE '%Мъжки%' AND name NOT LIKE '%часовник%' AND name NOT LIKE '%спортен%'

Вы можете построить пункт where в PHP вдоль линий ...
$where = "name NOT LIKE '%".implode("%' AND name NOT LIKE '%",$avoid).%'"

НТН

0

Сделайте резервную копию исходной строки $ product.

<?php 
$originalProduct = $product; 

// Then your changes are to be made here 

// Having finished modifying 
$connection = mysqli_connect("localhost", "root", "", "database", 3306); 

if($connection->connect_error) 
{ 
    // error occured while trying to connect to the database 
} 
else 
{ 
    $query = $connection->query("UPDATE `tablename` SET productName = '$product' WHERE productName = '$originalProduct' LIMIT 1;"); 
    if($query) 
    { 
     // Successfully modified record 
    } 
    else 
    { 
     // error occured while trying to modify 
    } 
} 
?> 
+0

Извините, но вы меня здесь потеряли, я не понимаю, как этот код поможет мне найти слово «Casio», и вместо того, чтобы начинать менять вещи, в основном мне нужно найти слово casio, если он найдет, что он начинает искать слова, чтобы избежать $ avoid = array («Мъжки», «часовник», «спортен»), а затем начать искать слова, которые нужны для изменения $ gs = "G-SHOCK"; если он обнаружит, что это изменит его на $ gsW = "Мъжки спортен G-SHOCK"; Как я уже сказал, я мало разбираюсь в MySQL, но можете ли вы объяснить подробнее? – Innervisions

0

Я думаю, я нашел ответ на мой собственный вопрос

я мог бы просто использовать несколько

$sql = "UPDATE product_description SET name = REPLACE(name, 'EDIFICE', 'Мъжки часовник EDIFICE');"; 

Я просто не уверен, что это хорошая идея, чтобы использовать некоторые из них, заменить заявления

Смежные вопросы