Les astuces d'Alice

Retrouver les paramètres d'une URL

Par exemple, l'URL suivante :
www.alice-gestion.be/factures.html?no_unique=2023-3-124-6451

const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
no_unique = urlParams.get('no_unique');
Stocker dans une variable de session Javascript
sessionStorage.setItem('no_unique', no_unique);
Lire une variable de session Javascript
no_unique = sessionStorage.getItem('no_unique');
Lire toutes les variables de session Javascript
for (const [key, value] of Object.entries(sessionStorage))
{
console.log({ key, value });
};
Importer un fichier au format texte

Simplement avec une requête AJAX

Pour utiliser AJAX, il faut charger la bibliothèque JQUERY

Entre <head> et </head>, on place :

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>

Exemple : charger "mail.html"

function charger_modele_mail()
{
$.ajax({
type: "GET",
url: "mail.html",
async: false,
error: function (msg)
{ alert("Error !: " + msg);
},
success: function (data)
{
ici, votre fichier "mail.html"
} });
}
Importer rapidement des données dans un formulaire

Supposons un formulaire incluant 3 inputs.
On donne une propriété supplémentaire qui commence toujours par data-.
Ici, on a choisi d'appeler la propriété data-champ.
N'importe quel mot peut convenir comme data-field, data-donnees, data-antoine...

Dans la base de données SQL, on exporte les données au format JSON

Set @json = (select Description, Prix_htva, Poids from ARTICLES where id = @id_article for json path)
select @json as HTML

Une première fonction javascript est définie : elle va chercher les données dans la base de données :

reqa signifie requête asynchrone

function reqa(mode, sJson, nomDuModule)
{
return $.ajax({
type: 'GET',
url: '/backoffice/traitement.php',
async: true,
data: {
'mode': mode,
'nomDuModule': nomDuModule,
'sJson': sJson
},
dataType: 'text',
success: function (data)
{},
error: function ()
{alert("erreur reqa " + mode);}
});
}

Une seconde fonction javascript va chercher les données dans une procédure stockée SQL appelée USP_DOCUMENTS :

function edit_article(id_article)
{
nomDuModule = 'documents'
var myJson = new Object();
myJson.id_article = id_article;
var sJson = JSON.stringify(myJson);
mode = 'Edit_article';
reqa(mode, sJson, nomDuModule).done(function (data)
{
var obj = JSON.parse(data);
Object.entries(obj[0]).forEach(([key, value]) =>
{
$('#formArticle [data-champ=' + key + ']').val(value);
});
}

SQL
eoriuezoui
PHP
eoriuezoui
Éviter que la page n'utilise la mémoire-cache
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>