Pentru INSERT/UPDATE
1 |
mysqli_query($con, $sql) OR die(mysqli_error($con)); |
Afişare valoare numerică, cu zecimale şi delimitator pentru mii
1 |
echo number_format("1234567",2,",","."); // afişează 1.234.567,00 |
Aplicare format dată-timp pentru câmp tip Timestamp preluată din BD MySQL
1 2 3 4 5 |
<?php // formatul din tabela MySQL: 2022-07-14 12:52:00 $camp_data = strtotime($camp_data); // afişează 1657803120 $camp_data = date("d.m.y | H:i", $camp_data ); // afişează 14.07.22 | 12:52 ?> |
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.
1 2 3 4 5 6 |
function fc_data_bd($data_viz) { $marcaj_timp = strtotime($data_viz); $data_formatata = date('Y-m-d H:i:s', $marcaj_timp); return $data_formatata; } |
Exemplificare
1 |
ECHO fc_data_bd('10/29/2022').'<br>'; // afiseaza 2022-10-29 00:00:00 |
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
1 2 3 4 5 |
<?php setlocale(LC_TIME, array('ro.UTF-8', 'ro_RO.UTF-8')); date_default_timezone_set('Europe/Bucharest'); echo strftime('%A %B %d, %Y', strtotime('2023-01-01')); ?> |
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
1 2 3 4 5 |
<select name="apFel_trs"> <option value="sms"<?php if($ap_feLtrs == 'sms'){ echo ' selected="selected"'; } ?>>SMS</option> <option value="fb"<?php if($ap_feLtrs == 'fb'){ echo ' selected="selected"'; } ?>>Facebook</option> <option value="whatsapp"<?php if($ap_feLtrs == 'whatsapp'){ echo ' selected="selected"'; } ?>>Whatsapp</option> </select> |
varianta 2
Sursa: StackOverFlow.com
1 2 3 4 5 6 7 8 9 10 11 |
<?php $feluri_trs = array( 'sms' => 'SMS' , 'fb' => 'Facebook' , 'whatsapp' => 'Whatsapp' ); ?> <select name="apFel_trs"><?php FOREACH( $feluri_trs AS $var => $fel_trs ) { ?> <option value="<?php echo $var ?>"<?php IF( $var == $ap_feLtrs ){ ?> selected="selected"<?php } ?>><?php echo $fel_trs ?></option> <?php } ?> </select> |
Utilitatea redirectului
1 2 3 4 |
<!-- Varianta 1 (HTML în HEAD) --> <META HTTP-EQUIV="Refresh" Content="0; URL=index.php"> <?php // Varianta 2 (PHP) header('Location::index.php'); |
După introducerea unei valori în baza de date prin intermediul unui formular, apelați metoda unset() pentru a șterge datele.
1 |
unset($_POST); |
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.
1 |
header('Location:'.$_SERVER['PHP_SELF']); |
Afisarea tuturor variabilelor SESSION active
1 2 3 4 |
FOREACH($_SESSION AS $variab=>$val) { ECHO '<pre>'.$variab." ".$val."</pre>"; } |
Exemplu de iesire din sesiune
1 2 3 4 5 6 |
<?php session_start(); session_destroy(); header("location:login.php"); exit(); ?> |
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.
1 2 3 4 5 6 7 |
<?php IF(ISSET($_POST['submit'])) { // Introduceți codul pe care doriți să-l executați după ce a fost trimis formularul // Afișează mesajul de succes sau eșec (dacă există) } ELSE{ // Afișează formularul și butonul de trimitere } ?> |
Codificare/decodificare cu MIME base64
• codificare:
base64_encode($valoare) ;
• decodificare:
base64_decode($valoare) .
Exemplificare:
1 2 3 4 5 6 |
<?php $val = 'Exemplu text codificat'; ECHO base64_encode($val); // afişează RXhlbXBsdSB0ZXh0IGNvZGlmaWNhdA== $val = 'RXhlbXBsdSB0ZXh0IGNvZGlmaWNhdA=='; ECHO base64_decode($val); // afişează Exemplu text codificat |
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ă.
1 2 3 4 |
$result = mysqli_query($con, $sql); $row=mysqli_fetch_assoc($result); ECHO $row['id']; ECHO $row['camp']; |
O variantă rapidă, fiind vorba de un array, când ne interesează doar conţinutul unui câmp este ca mai jos:
1 2 |
$result = mysqli_query($con, $sql); ECHO mysqli_fetch_assoc($result)['camp']; |
Fixare caractere UTF8
1 2 3 |
mysqli_set_charset($con,"utf8"); // sau mysqli_set_charset($con,"utf8mb4"); |
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:
1 2 |
$result = mysqli_query($con, $query); IF (!$result) {trigger_error(mysqli_error($con), E_USER_ERROR);} |
Sursa: StackOverflow.com
Accept validare diacritice, cratimă, spaţiun într-un şir
1 2 3 4 5 |
$text = "abcABC-äöüÄÖÜßéèâø ăîâşţĂÎÂŞŢȘșȚț"; if (preg_match("#^[a-zA-Z0-9-äöüÄÖÜßéèâøăîâşţĂÎÂŞŢȘșȚț ]+$#", $text)) { echo 'String can only contain letters, numbers, hyphen and white spaces.'; } |
Sursa: AskingBox.com