В моей таблице базы данных mysql называется promo
, Я имею msg
, price
а также qty
в столбце code
строка в столбце в качестве примера
code | msg | price | qty
180 | weallwinthem | 150 | 7
180 | yeswellhappy | 520 | 15
180 | wearerunning | 100 | 10
Как мне сбросить результат строки qty
если требуется msg
str_split
не до qty
требуется?
E: g2
если сообщение разделено we, al, lw, in, th, em
а также qty
7 не установлено qty
до 6
example3
we, al, lw, in, th, em
qty
6 я пробовал:
$sql = mysqli_query($conn, "SELECT * FROM promo WHERE code='180' LIMIT 1");
while($row = mysqli_fetch_array($sql)) {
$msg = $row["msg"];
$qty = $row["qty"];
$disp = str_split($msg, 2);
for($b = 0; $b < 2; $b++) {
if(strlen($disp[$b]) != $qty) {
unset($qty[$b]);
$amt += ($row["price"] * $qty);
$so = "uncompleted";
} else {
$so = "$disp[$b]";
echo "','$so $amt";
}
}
спасибо за чтение и влияние на мои решения
если сообщение разделено
we, al, lw, in, th, em
а такжеqty
7 не установлено кол-во до 6
Насколько я понял из вашего второго примера:
Мы можем написать функцию, которая «вычислит» право Qty
в соответствии с msg
,
function getDesiredQtyBySplit($msg){
$split = str_split($msg, 2);
$count = count($split);
return $count;
}
Для каждой строки будет запускаться эта функция, если Qty строки — требуемый Qty — не нужно предпринимать никаких действий, в противном случае мы должны обновить столбец Qty строки.
$sql = mysqli_query($conn, "SELECT * FROM promo WHERE code='180' LIMIT 1");
while($row = mysqli_fetch_array($sql)) {
$msg = $row["msg"];
$qty = $row["qty"];
$desiredQty = getDesiredQtyBySplit($msg);
if($desiredQty != $qty){
//Using mysqli, UPDATE qty so it would be $desiredQty
//Make sure that your condition (WHERE) related to this specific row.
//Usually there's a "Primary Key" (for instance: id) which is has a unique value.
}
}
Других решений пока нет …