$qty = array_map(function($a){
return array_sum(array_column($a['size'], 'qty'));
}, $array['cart']);
print_r($qty);
echo(array_sum($qty));
Необходимо же сделать так, чтобы при незаполненном поле формы в соответствующую ячейку БД записывалось дефолтное значение таблицы.
ALTER [IGNORE] TABLE tbl_name [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
ALTER TABLE `tbl_name` CHANGE `changelog` `changelog` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT 'changelog.txt'
# @ phpmyadmin
И как ещё можно написать "если все поля формы пусты" кроме (!name) && (!$email) && (!topic) && (!$message)?
$answer = false;
$fields = ['name', 'email', 'topic', 'message'];
foreach($fields as $field)
{
$$field=trim($$field);
if(false===(empty($$field))) // Если поле не пустое, значит надо пробовать отправлять (исправил !empty() на 'false===empty()" см. коммент от @FanatPHP )
{
$mail_send = true || false;# здесь код отвечающий за отправку мыла
if($mail_send)
$answer=true;
break; // выходим из цикла независимо от результата отправки
}
}
var answer = 0;
if (a === 0) {
$(".clear").css("border-color", "red");
} else {
$('.clear').val('');
}
$sth = $db->prepare("SELECT * FROM qr1 WHERE id1= :id1 AND id2 = :id2");
$sth->execute(array(
'id1'=> 12,
'id2'=> 13,
));
:param
в твоей строке sql заменяеться на одноименные (но без двоеточия) ключ массива, который ты вскармливаешь методу execute <?php
$conditions = array( # условия вхождения N в один из значений массива. Ключом массива является возвращаемый результат если условие истинно..
0=> array(1, 2, 3), // Если твой data[lr1rt] равен 1, 2 или 3. то вернется ноль.
5=> array(4,5,6),
4=> array(7,8,9,10)
);
for($data['lr1rt']=0; $data['lr1rt']<=10; $data['lr1rt']++) // Цикл для теста влепил. Он тебе не нужен )
{
$result = 1; #если не подошло ни одно из условий
foreach($conditions as $res => $cond) // Пробегаемся по массиву
{
if(in_array($data['lr1rt'], $cond)) // ищим вхождение
{
$result = $res;
break; // если вхождение нашли, выходим из ближайшего цикла (в данном случае это foreach
}
}
echo "lr1rt: {$data['lr1rt']} | $result\n";
}
/*
Результат работы при текущих "настройках"
lr1rt: 0 | 1
lr1rt: 1 | 0
lr1rt: 2 | 0
lr1rt: 3 | 0
lr1rt: 4 | 5
lr1rt: 5 | 5
lr1rt: 6 | 5
lr1rt: 7 | 4
lr1rt: 8 | 4
lr1rt: 9 | 4
lr1rt: 10 | 4
*/
try{
$ch = curl_init('http://192.168.1.33/api/2.0?blabla=1111');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'x-auth-user: user',
'x-auth-pass: pass'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
if (curl_errno($ch))
throw new Exception(curl_error($ch));
echo($result);
}catch (Exception $e){
echo($e->getMessage());
}
при этом положить массив с значениями в LocalStorage, чтобы затем можно было заполнять input, чтобы пользователь не потерял данные при хождении по страницам.
ибо легче запомнить html код со значениями, и затем просто вставить его?
$a = $_FILES['fileToUpload']['name'];
move_uploaded_file($_FILES['fileToUpload']['tmp_name'], "uploads/{$a}")
enctype="multipart/form-data"
- if(isset($_GET['edit_id'])){ # а если переменная isset, но пустая? т.е. domain.com/?edit_id
$edit_id=$_GET['edit_id']; # А если $_GET['edit_id'] это массив? или например равна любому символу отличному от цифры.
db_connect(); # тут все понятно ) лол
$query="SELECT*FROM Processors WHERE ID='".$edit_id."'"; #Почему имя таблицы с большой буквы? Почему ID верхним регистром?
$result=mysql_query($query)or die(mysql_error()); # посетителю показываем ошибку чтобы ему было удобнее производить взлом ?)
$row=mysql_fetch_assoc($result);
db_close();# правильно, закрываем соединение с базой, чтобы через 2 строчки ниже, заново открыть) Умница!
if(isset($_POST['edit'])){
db_connect(); # открываем.. опять))
$querys='UPDATE Processors SET Price = '.$_POST['Price'].', Article = '.$_POST['Article'].' WHERE ID='.$edit_id; # опять нет проверок входящих переменных, опять не общепринятое написание имён таблиц в БД.
$result=mysql_query($querys)or die("Error:".mysql_error()); # показываем ошибку.
db_close();
header("location: edit.php?edit_id=".$_GET['edit_id']);
}