Just memo

PHP

Memo PHP

Pentru INSERT/UPDATE

Afişare valoare numerică, cu zecimale şi delimitator pentru mii

Aplicare format dată-timp pentru câmp tip Timestamp preluată din BD MySQL

Functie format data

Pentru formatul corect de transmis funcției date() în PHP în scopul inserării rezultatului într-o coloană MySQL de tip datetime.

Exemplificare

Sursa: StackOverflow.com

Altă variantă de formatare a datei

Funcția setlocale() poate fi utilizată în programare pentru a seta limba și regula de codare a sistemului. 

Exemplificare

Putem încerca mai multe variabile, poate ajută: setlocale(LC_TIME, array('ro.utf-8', 'ro_RO.UTF-8', 'ro_RO.utf-8', 'ro', 'ro_RO', 'ro_RO.ISO8859-2')); 

O observaţie necesară este că funcţia strftime() s-ar putea să nu mai poată fi utilizată în versiunile actuale/viitoare PHP, fiind depreciat.

Preluare intr-un COMBOBOX a valorii existente, dintr-un formular de UPDATE

varianta 1

varianta 2

Sursa: StackOverFlow.com

Utilitatea redirectului

După introducerea unei valori în baza de date prin intermediul unui formular, apelați metoda unset() pentru a șterge datele.

Pentru a preveni inserarea datelor la Refresh, faceți redirecționare a paginii către aceeași pagină sau către o pagină diferită după inserarea înregistrării.

Afisarea tuturor variabilelor SESSION active

Exemplu de iesire din sesiune

Acţiune pe aceeaşi pagină cu formularul

Trimiteți formularul pe aceeași pagină: gestionați formularul trimis utilizând scriptul PHP. Acest lucru se poate face setând acțiunea din formular la adresa URL a paginii curente.

Codificare/decodificare cu MIME base64

• codificare: base64_encode($valoare) ;
• decodificare: base64_decode($valoare) .

Exemplificare:

Extragerea doar a unui câmp dintr-o interogare

Dacă se doreşte aducerea dintr-o interogare a unor înregistrări, este soluţia simplă.

O variantă rapidă, fiind vorba de un array, când ne interesează doar conţinutul unui câmp este ca mai jos:

Fixare caractere UTF8

Este important să avem în vedere ca pagina HTML în care sunt afişate datele să aibă declarat charset-ul corect: <meta charset="utf-8">

„Decodare” mesaj de eroare

În cazul apariţiei unui mesaj de tipul „mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in”, pentru a vedea mai exact cauza, se poate plasa, după funcţia mysqli_query, următorul script:

Sursa: StackOverflow.com


Accept validare diacritice, cratimă, spaţiun într-un şir

Sursa: AskingBox.com

MySQL

Memo MySQL

Realizare diferente intre o valoare si cea anterioara (de ex. de la o lună la alta)

Ranking

Calculare subtotaluri pe coloana

Update View

Update pentru duplicare INSERT

Poate fi util ca, pe lângă cheia primară, să fie, de regulă, un câmp cu valori unicat.

În cazul în care INSERT-ul s-ar face doar pentru câmpuri de tip cheie primară compusă (cum ar fi tabelele copil) şi am presupune că unul din câmpurile cheii primare ar exista şi ar trebui introdus doar celălalt, putem folosi INSERT... ON DUPLICATE KEY... astfel:

Astfel, această interogare este folosită când introducem un nou eveniment şi există posibilitatea ca această combinaţie deja să existe.

Inserare dată şi timp curent la update-ul înregistrărilor

Ar fi de dorit ca orice tabelă să conţină înregistrarea timpului când a fost făcută înregistrarea sau, chiar, timpul când s-a făcut modificarea. Astfel, dacă pentru data curentă, câmpul va avea ca valoarea implicită CURRENT_TIMESTAMP, la modificarea unei înregistrări putem folosi clauza ON UPDATE la câmpul respectiv. Redăm mai joi cele trei situaţii în care am putea influenţa câmpul de update (la crearea tabelei, la adăugarea câmpului după crearea tabelei sau la modificarea câmpului nedefinit iniţial cu clauza de update.

La crearea tabelei
Adăugarea ulterioară a câmpului
Modificarea câmpului existent

Cheie străină

Exemplificare

După cum este şi firesc (se remarcă şi din scriptul de mai sus) întâi trebuie să existe tabela părinte, pentru a putea crea cheia străină. Dacă se doreşte vizualizarea constrângerii, în phpMyAdmin, este necesar să ne asigurăm că Storage Engine este InnoDB, accesabil din tab-ul Operations.

Modificare Collation

La nivelul bazei de date

La nivelul tabelei

La nivelul câmpului

Folosind PHP-ul., se poate realiza schimbarea collaţionării, pentru fiecare câmp în parte, astfel:

  1. Sursa: StackOverflow.com

Creare câmpuri matriciale

Dacă se doreşte ca, de exemplu, dintr-o coloană conţinând sexul (M/F), se doreşte crearea a două coloane distincte (sex_M, respectiv, sex_F), se poate folosi fie funcţia SUM, fie COUNT.

Varianta 1 – SUM

Varianta 2 – COUNT

Se observă că diferenţa este la argumentul ELSE, unde pentru a nu însuma, se foloseşte valoarea 0, iar la numărare, pentru a nu fi contorizat, se inserează NULL. Cum este de aşteptat, în ambele situaţii rezultatul este acelaşi.

Rezultat

sex sex_M sex_F
F 0 26
M 8 0

Afisare lista de procese MySQL

Informaţii despre o tabelă

(posibil să nu funcţioneze pe tabele InnoDB) sau

Surse: MySQL.com, StackOverflow.com

JS

Memo JS

Închidere (ascundere) „buton”

Butoane pentru ascundere sau afişare elemente

Ascundere

Desigur,  dacă linkul conţinând butonul ar fi în afara acestui div, nu va fi ascuns.

Afisare

Faţă de prima acţiune (Ascundere), la cea de-a doua, după cum se poate remarca, avem nevoie ca div-ul să fie implicit ascuns.

Comutare

Varianta simpla
Varianta elegantă

Este mult spus „elegantă” fiind vorba doar şi de comutarea aspectului butonului.

Redirect la altă pagină, după câteva secunde

În cazul de faţă, comutarea la index.php se va realiza după 2 secunde (2 x 1000=2000).

Varianta 1
Varianta 2
Avantajul variantei 2 faţă de prima este că inhibă posibilitatea de a reveni la pagina anterioară.
Varianta 3
Varianta 4

Dacă se doreşte folosirea ca variabilă, se poate alege scriptul de mai jos.

Desigur, dacă e necesară în pagini PHP, varianta mai simplă ar fi:
header('Refresh: 2; URL=http:pagina.php'); 

Folosirea comenzii PROMPT

  • Dacă se doreşte încărcarea apariţia întrebării la încărcarea paginii, se decomentează linia  window.onload = function ()  comentând, în schimb function fcPrompt() pentru a eluda folosirea butonului.
  • Ţinând cont că întrebarea conţine diacritice, este necesar ca între etichetele <head></head> să fie inclusă linia <meta charset="UTF-8"> 
  • Desigur, dacă se doreşte să avem posibilitatea de a reveni la pagina anterioară, se poate alege setTimeout(function(){ window.location.href = pagina;}, 2000);
WordPress

Memo WP

Inhibare acces fişiere php auxiliare

Dacă, de exemplu, nu dorim ca fişierul functions.php să fie accesat direct, putem folosi funcţia EXIT() pentru a opri acţiunea:

Limitare a numărului de caractere din extras

În fişierul functions.php se introduce următoarea funcţie:

Aplicare şablon de articol în funcţie de anumite categorii

Pentru a realiza acest deziderat, se poate folosi funcţia, evident, în functions.php

Custom Fields

the_field() este la fel cu echo get_field(). Astfel, dacă se foloseşte prima variantă, nu necesită „echo”.

Exemplu utilizare the_field()

Exemplu de afişare condiţionată

Sursa: AdvancedCustomFields.com

CSS

Memo CSS

Linkuri pentru FontAwesome

Sursa: CDNJS.com

Matrici DIV centrate

Exemplificare

 
 
 
 
 

Efect Glow pentru casete

Exemplificare

Testare

Exemplificare

Testare

Exemplificare

Testare

Exemplificare

Testare

Linie dialog (cratimă)

Va afişa, în loc de bullet, linia clasică utilă în redarea dialogurilor.

Exemplificare

  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
  • Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
  • Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text flancat de linii orizontale

Sursa: CodeGrepper.com

Exemplificare

Text cu linii pe flancuri

FontAwesome

• Font Awesome 4 (de tipul „fa fa-user”)

• Font Awesome 5 (de tipul „fas fa-user”)

– câteva exemple: w3schools.com

Bookmark pentru Cuprins 

Sursa: NicolasGallagher.com

Alternativa pentru <sup >

Ex:
• folosirea etichetei <sup >: Acest text are scris la exponent. • folosirea clasei de mai sus: Acest text simulează exponentul.

Sursa: StackOverflow.com

Delay afisare continut

Exemplificare

Exemplificare la hover

Sursa: StackOverflow.com

Excel

Memo MS Excel

Extragere data nasterii din CNP

Afişare diferită a notei, în funcţie de anumite criterii

La note vreau să fac următoarele diferenţieri de formatare, în aspectul notei:

  • dacă este 10, să fie fără zecimale
  • dacă este sub 5 să fie cu roşu.

Accesez formularul „Format Cells” (fie dând click dreapta, fie prin intermediul meniului). Din tab-ul Number dau click pe categoria Custom şi inserez una din variante:

  1. prima condiţie: [>=10]0;0.00 
  2. a doua condiţie: [Red][<5]0.00;0.00 
  3. cele două condiţii simultan: [>=10]0;[Red][<5]0.00;0.00 
0.00 poate fi 0,00 în funcţie de setările regionale.
VBA

Memo MS Excel

Extragere data nasterii din CNP

Afişare diferită a notei, în funcţie de anumite criterii

La note vreau să fac următoarele diferenţieri de formatare, în aspectul notei:

  • dacă este 10, să fie fără zecimale
  • dacă este sub 5 să fie cu roşu.

Accesez formularul „Format Cells” (fie dând click dreapta, fie prin intermediul meniului). Din tab-ul Number dau click pe categoria Custom şi inserez una din variante:

  1. prima condiţie: [>=10]0;0.00 
  2. a doua condiţie: [Red][<5]0.00;0.00 
  3. cele două condiţii simultan: [>=10]0;[Red][<5]0.00;0.00 
0.00 poate fi 0,00 în funcţie de setările regionale.