Come applicare una mandrakata in Codeigniter e far quadrare il cerchio quando andiamo incontro a sicura disfatta e ribaltare l’esito della lotta

web developer umbriaLa MANDRAKATA è uno dei tanti cavalli di battaglia profusi nel mondo dello spettacolo dal recentemente scomparso Gigi Proietti che se ne é andato amato democraticamente dalla massa intera, mettendo tutti daccordo sulle sue eccezionali qualità di uomo di spettacolo e maestro insuperabile, osannato ovunque (e non potrebbe essere altrimenti) da quelli di destra e quelli di sinistra, da complottisti e terrapiattisti, da trumphisti e sostenitori della difesa Pirc. Tatticamente l’idea di mandrakata pubblicizzata dal Grande Proietti si presta bene anche a risolvere problematiche di “rattoppo” nello sviluppo web in codeigniter quando la soluzione a un problema non arriva. Analizziamo la situazione presente all’ indirizzo http://umbriawayformazione.altervista.org/index.php/home/planner dove volendo mostrare le attività di formazione svolte da umbriaway consulting al contrario, ossia con un ordine discendente in modo da vedere i risultati a partire dall’ attualità di data e non dalla più lontana, ho pensato di inserire dei link nel primo campo cercando di emulare la prestazione dell’ ordine ascendente, quindi copiando il tutto e modificando nomi di funzioni in DESC al posto di ASC nella query per sparare i dati in una nuova pagina, dopo aver creato i dati in una nuova tabella. Peccato che all’ interno dell’ espressione:

public function get_planners($limit, $start)
{
$this->db->limit($limit, $start);
$query = $this->db->get(“nomedellatuatabella”);
return $query->result();
}

dopo vari tentativi per incastrarci dentro un semplice order by data desc e consultando il manuale all’ indirizzo versione tre (quando hai un problema la prima cosa da fare é quella di vedere se nella bibbia dello sviluppatore codeigniter si trovano le risposte) https://codeigniter.com/userguide3/index.html NON TROVANDO COMPOSIZIONI DI QUERY PERTINENTI alle mie esigenze generando in creazioni arbitrarie errori e incastri improbabili nella sintassi, ho dovuto ripiegare su trucchi tattici non proprio corretti (perché in questo caso sono andato a far saltare una paginazione comunque non indispensabile). Alla fine esasperato ho applicato una MANDRAKATA per aggirare il problema, ossia ho tolto il meccanismo della paginazione per la pagina dei dati discendenti, una soluzione stilisticamente deprecabile ma comunque efficace perchè dopo la semplificazione si é avuto nel modello:

public function get_planners_desc()
{
$query = $this->db->query(“
select * from nomedellatuatabella
order by data desc
limit 15
“);
if ($query->num_rows() == 0) {
show_error(‘database vuoto!’);
} else {
return $query->result();
}
}

dove alla fine della query compare un limit 15 che come un decreto ministeriale crea restrizioni sui record da visualizzare per pagina. Fallita quindi la costruzione della query builder iniziale per limiti miei da NEWBIE (è meno di un mese che sto sperimentando questa tecnologia) se non volevo perdere la battaglia ho dovuto applicare qualcosa di semplice ma comunque di funzionale! E’ proprio il caso di dire dopo l’analisi di questa dinamica di combattimento che grazie a una query vecchia maniera con un limit 15 finale ho sconfitto temporaneamente il nemico pronto a ricaricare le batterie per la prossima sfida! E rileggendo il tutto adesso da distanze siderali, senza ATOM a sporcare il codice, mi sembra di avere intuito che il problema del perché FORSE tutto non funzionava cercando di non rovinare la paginazione, potrebbe essere legato al fatto che non ho inserito i parametri iniziali nella mia nuova query (una banale dimenticanza?), potrebbe essere una idea da tenere buona per risolvere nelle prossime partite!