https://openclassrooms.com/forum/sujet/requete-sql-complexe-ab5a2
| #!/bin/sh | |
| ( | |
| for guid in `efivar -l`; do | |
| echo "========== ${guid} ==========" | |
| efivar -p "${guid}" -b | hexdump -C | |
| echo "" | |
| done | |
| ) > /tmp/efi.txt |
Just change the value of the _TABLE_NAME variable (constant):
DO $$
DECLARE
_fk TEXT[];
_primary_key TEXT;
_column TEXT;
_foreign_keys TEXT[];
_TABLE_NAME CONSTANT TEXT NOT NULL := 'the name name of the table to migrate';Mon approche consiste à pré-générer dans une table la liste de tous les créneaux (table slots) possibles. C'est beaucoup plus efficace et facile ensuite à exploiter car chercher un créneau disponible est une simple requête SQL (jointure LEFT JOIN). Cette pré-génération doit être exécutée en cron (ou au moins en CLI), ce n'est pas grave si elle devait mettre une heure à s'exécuter, surtout que c'est une tâche qui est faite d'avance, l'important c'est que l'application ne soit pas lente pour vos clients à trouver un créneau disponible (sinon elle risque de tomber à la moindre charge - utilisateurs simultanés). Imaginez, sans ce prémâchage sur lequel se baser, comment trouver un rendez-vous disponible ? En tenant compte des jours + horaires d'ouverture ainsi que des jours fériés : ça demanderait beaucoup de calculs et possiblement beaucoup d'allers/retours PHP/base de données pour chaque recherche :/
Avantages de ces slots précal
https://openclassrooms.com/forum/sujet/php-expressions-rationelles-suite-2
Sortie :
1 Casemiro : 7.54
2 Eden Hazard : 7.50
3 Daniel Carvajal : 7.28
4 Toni Kroos : 7.26
5 Nacho : 7.21
6 Marcelo : 7.06
| <?php | |
| // ev = escape value | |
| function ev(object $dbh, $value) { | |
| if (is_null($value)) { | |
| return 'NULL'; | |
| } else if (is_int($value)) { | |
| return $value; | |
| } else if ($value instanceof \DateTimeImmutable) { | |
| $value = $value->format('Y-m-d'); | |
| # /!\ no return here /!\ |