La funzione define, in PHP, permette di definire una costante a runtime; è una funzione molto usata, soprattutto per la configurazione generale di un'applicazione.

Di default non è possibile, però, usare define con gli array.

La sintassi base prevede questo:

define('CHIAVE', 'VALORE DA USARE');

Per poi richiamare la costante in questo modo:

echo CHIAVE;

E se volessi usare un array?

Oggi vediamo come impostare una DataGrid da dati in formato JSON.

I dati li prenderemo da un RESTful service.

Il tutto usando C#.

Prima di tutto, per fare la interpretare i dati in JSON, dovremmo usare l'oggetto JavaScriptSerializer.

Per fare questo dobbiamo aggiungere una reference al nostro progetto: cliccate col il taso destro sul progetto (non sulla soluzione) -> Add -> Reference; cercate e aggiungete System.Web.Extensions.

Bene, ora creiamo la classe che rappresenta gli oggetti in JSON:

namespace B2B
{
    class Cliente
    {
        public int clienteCodice { get; set; }
        public string clienteRagsoc { get; set; }
        public string clienteEmail { get; set; }
        public string clientePiva { get; set; }
    }
}

Considerate che i nomi delle variabili hanno lo stesso formato dei campi del JSON.

DISCLAIMER: questo articolo è stato interamente riscritto!

Quello che vedremo oggi è come ordinare una lista solamente trascinandola.

L'ordinamento verrà anche salvato in tempo reale su db; quello che di cui abbiamo bisogno è di un campo apposito sulla tabella, di AJAX per inviare una richiesta e di jQuery UI (o simili) per l'ordinamento.

Cominciamo quindi da qui; nell'head della pagina:

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/start/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

A questo punto occupiamoci della pagina.

Prima di tutto ci serve una lista, che di sicuro viene presa da database:

    <ul id="ul_class">
        <?php foreach ($connMod->getClassificazionePerCollezione($coll) as $var): ?>
            <li id="class_<?php echo $var['class_id']; ?>" class="ui-state-default">
                <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                <?php echo $var['class_nome']; ?>
            </li>
        <?php endforeach; ?>
    </ul>

Notate che ogni voce della lista ha un id personalizzato, composto da una parte fissa più l'id preso da db.

In questo modo possiamo serializzarlo e passare i relativi valori a database.