<link href="css/d1.m.min.css?t=2.9" rel="stylesheet" media="screen and (max-width: 500px)" type="text/css" />
Another way is to use handheld
on media
attribute<link rel="stylesheet" type="text/css" href="mobile.css" media="handheld"/>
PHP's way to load CSS file for mobile
devicesif(stristr($_SERVER['HTTP_USER_AGENT'], "Mobile")){
echo '<link rel="stylesheet" href="style-400.css" type="text/css" />';
}
Load CSS resource only for desktop<link href="css/d1.min.css?t=2.9" rel="stylesheet" media="screen and (min-width: 501px)" type="text/css" />
Another way is to use screen
on media
attribute<link rel="stylesheet" type="text/css" href="screen.css" media="screen"/>
Using PHPif(!stristr($_SERVER['HTTP_USER_AGENT'], "Mobile")){
echo '<link rel="stylesheet" href="style.css" type="text/css" />';
}
Note: Remember this always loads the d1.m.min.css
but activates it only on screens having max width as 500px
input[type=text]
, select
) value
jQuerylet value = $("#element_id").val();
JSlet value = document.getElementById('element_id').value;'
Set value 5
to the specified element (input[type=text]
, select
) value
jQuery$("#element_id").val(5);
JSlet value = document.getElementById('element_id').value = 5;'
Check if the specified checkbox is checked
jQuerylet is_checked = $("#element_id").is(":checked");
JSlet is_checked = document.getElementById('element_id').checked
Get HTML content of the specified element by element id
jQuerylet content = $("#element_id").html();
JSlet content =
document.getElementById('element_id').innerHTML
Set HTML content to the specified element by element id
jQuery$("#element_id").html('some html');
JSdocument.getElementById('element_id').innerHTML = 'some html'
Get attribute placeholder
value of the element
jQuery$('#element_id').attr('placeholder');
JSdocument.getElementById('element_id').getAttribute('placeholder');
Set attribute placeholder
value to the specified element
jQuery$('#element_id').attr('placeholder', 'new placeholder');
JSdocument.getElementById('element_id').placeholder = 'new placeholder';
Toggle class for an element
jQuery$("#element_id").toggle();
JSdocument.getElementById('element_id').classList.toggle("hide");
CSS class.hide {
display: none !important;
}
Get selected radio
value
jQuerylet result = jQuery('input:radio[name=vote]:checked').val();
JSlet result = document.querySelector('input[name=vote]:checked').value;
Find i
element inside another element with id element_id
jQuerylet icon = $("#element_id").find('i');
JSdocument.getElementById('element_id').querySelector('i');
Get data-value
attribute of datalist
element using selected text (datalist option's value
attribute)
jQuery$('#datalist_id [value="selected text"]').data('value');
JSdocument.querySelector('#datalist_id option[value="selected text"]').getAttribute('data-value')
Toggle two class for an element
jQuerylet el = $('#element')
if(el.hasClass('arrow-down')) {
el.removeClass('arrow-down');
el.addClass('arrow-up');
} else {
el.addClass('arrow-down');
el.removeClass('arrow-up');
}
JSlet el = document.getElementById('element')
if (el.classList.contains('arrow-up')) {
el.classList.remove('arrow-up');
el.classList.add('arrow-down');
} else {
el.classList.add('arrow-up');
el.classList.remove('arrow-down');
}
Ajax request
jQuery$.ajax({
url:'demo_get.asp',
success:function(sms){
$('#demo').html(sms);
}
});
JSvar xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
}
};
xhttp.open("GET", "demo_get.asp", true);
xhttp.send();
MouseOver event
jQuery$('#element').on('mouseover', function(){
console.log('mouse over');
});
JSdocument.getElementById('element').addEventListener('mouseover', function(){
console.log('mouse over');
});
Scroll animation down to the specified element's position in 500 ms
jQuery$('html, body').animate({scrollTop:($('#element').position().top)}, 400);
JSfunction scrollDownToElement(el) {
// Milliseconds per move
let pm = 50;
// Padding from top
let mft = 150;
// Total animation milliseconds
let scroll_ms = 500;
// Calculates target element top position
let bd_pos = document.body.getBoundingClientRect();
let el_pos = document.getElementById(el).getBoundingClientRect();
let height = el_pos.top-bd_pos.top-mft;
// Calculates per move px
let spm = height / (scroll_ms / pm);
// The animation counter to stop
let spmc = 1;
let scroll_timer = setInterval(function() {
// Moves down by {spm} px
window.scrollBy(0, spm);
spmc++;
// Stops the animation after enough iterations
if (spmc > (scroll_ms / pm)) {
clearInterval(scroll_timer);
}
}, pm);
}
scrollDownToElement('element');
DELETE t1 FROM table_name t1
INNER JOIN table_name t2
WHERE
t1.id < t2.id AND
t1.email = t2.email;
vanilla JavaScript
and calls the callback function
if the third parameter's type is function
function ajax(url, methodType, callback){
var xhr = new XMLHttpRequest();
xhr.open(methodType, url, true);
xhr.send();
xhr.onreadystatechange = function(){
if (xhr.readyState === 4 && xhr.status === 200){
if (typeof callback === "function") {
callback(xhr.responseText);
}
}
}
}
Example of calling the above methodajax(url, 'GET', function(resp) {
console.log(resp);
})
public function roles()
{
return $this->belongsToMany(Role::class, 'model_has_roles', 'model_id', 'role_id');
}
error: The following untracked working tree files would be overwritten by merge:
app/Log.php
The solution that fixed the problem:git add *
git stash
git pull
live-sass-compiler
extension can generate either compressed
or expanded
version of .css
files.
Configuration for expanded
version:"liveSassCompile.settings.formats": [
{
"format": "expanded",
"extensionName": ".css",
"savePath": "/css/"
}
]
Configuration for compressed
version:"liveSassCompile.settings.formats": [
{
"format": "compressed",
"extensionName": ".min.css",
"savePath": "/dist/css/"
}
]
CREATE
`keyword we can create different database objects.
Creates database university
CREATE DATABASE university
Creates table:CREATE TABLE students (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(100) NOT NULL,
last_name VARCHAR(100) NOT NULL,
email VARCHAR(50)
)
Creates database user1
which will have password some-pass
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'some-pass';
true
if needle
is found inside haystack
inArray('find_me', ['text1', 'text2', 'find_me', 'text3']);
returns true
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] === needle) { return true };
}
return false;
}
SELECT * FROM Table1;
SELECT * FROM Table2;
INNER JOIN
SELECT *
FROM Table1 t1
INNER JOIN Table2 t2
ON t1.fk = t2.id;
LEFT OUTER JOIN
SELECT *
FROM Table1 t1
LEFT OUTER JOIN Table2 t2
ON t1.fk = t2.id;
RIGHT OUTER JOIN
SELECT *
FROM Table1 t1
RIGHT OUTER JOIN Table2 t2
ON t1.fk = t2.id;
SEMI JOIN – Similar to INNER JOIN, with less duplication.
SELECT *
FROM Table1 t1
WHERE EXISTS (SELECT 1
FROM Table2 t2
WHERE t1.fk = t2.id
);
ANTI SEMI JOIN
SELECT *
FROM Table1 t1
WHERE NOT EXISTS (SELECT 1
FROM Table2 t2
WHERE t1.fk = t2.id
);
LEFT OUTER JOIN with exclusion
SELECT *
FROM Table1 t1
LEFT OUTER JOIN Table2 t2
ON t1.fk = t2.id
WHERE t2.id is null;
RIGHT OUTER JOIN with exclusion
SELECT *
FROM Table1 t1
RIGHT OUTER JOIN Table2 t2
ON t1.fk = t2.id
WHERE t1.fk is null;
FULL OUTER JOIN
SELECT * FROM Table1 t1
LEFT OUTER JOIN Table2 t2
ON t1.fk = t2.id
UNION
SELECT * FROM Table1 t1
RIGHT OUTER JOIN Table2 t2
ON t1.fk = t2.id;
FULL OUTER JOIN with exclusion
SELECT * FROM Table1 t1
LEFT OUTER JOIN Table2 t2
ON t1.fk = t2.id
WHERE t2.id IS NOT NULL
UNION
SELECT * FROM Table1 t1
RIGHT OUTER JOIN Table2 t2
ON t1.fk = t2.id
WHERE t1.ID IS NOT NULL;
Two INNER JOINs
SELECT *
FROM Table1 t1
INNER JOIN Table2 t2
ON t1.fk = t2.id
INNER JOIN Table3 t3
ON t1.fk_table3 = t3.id;
Two LEFT OUTER JOINS
SELECT *
FROM Table1 t1
LEFT OUTER JOIN Table2 t2
ON t1.fk = t2.id
LEFT OUTER JOIN Table3 t3
ON t1.fk_table3 = t3.id;
INNER JOIN and a LEFT OUTER JOIN
SELECT *
FROM Table1 t1
INNER JOIN Table2 t2
ON t1.fk = t2.id
LEFT OUTER JOIN Table3 t3
ON t1.fk_table3 = t3.id;