PHP中的Php if语句用于批量更新

时间:2015-05-07 09:12:09

标签: php mysql if-statement

这是我的第一篇文章。到了这一点

我正在尝试使用php if语句在MySQL表中进行批量更新。但是因为我不知道mysql除了连接数据库并逐步更新内容。

所以基本上我正在尝试使用这个if语句,在名称中为卡西欧这个词而闲聊,并避免所有在名称中都有保加利亚字母的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{

        }
    ?>

上面的if语句包含的所有变量

<?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("Мъжки","часовник","спортен")
?>

更新:我的想法是定位一个表“product”并访问子表“name”,并且其名称中包含单词Casio,以开始为其执行if语句

好了到目前为止我一直在寻找广泛而且我唯一缺少的是和If else声明

我已经弄清楚如何在表格中搜索带有

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

我只是不知道如何告诉代码如果你看到$avoid对这些名字没有做任何事情,但是其余的事情添加我指定的东西

3 个答案:

答案 0 :(得分: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
    }
}
?>

答案 1 :(得分:0)

我想我找到了自己问题的答案

我可以使用几个

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

我只是不确定使用其中一些替换语句

是否是个好主意

答案 2 :(得分:0)

我认为你只需要使用合适的WHERE条款来限制WHERE name NOT LIKE '%Мъжки%' AND name NOT LIKE '%часовник%' AND name NOT LIKE '%спортен%'

where

你可以用PHP构造PHP中的$where = "name NOT LIKE '%".implode("%' AND name NOT LIKE '%",$avoid).%'"子句。
largeHeap="true"

HTH