Sommario
IF stored procedure condizionaliCreeremo un database e una tabella con i commenti che gli utenti fanno, potrebbero essere articoli, post o quello che vogliamo.
CREATE TABLE `commenti` (
`commentid` int (11) DEFAULT NULL,
`data` data PREDEFINITO NULL,
`userid` int (50) PREDEFINITO NULL,
testo "commento",
CHIAVE PRIMARIA (`occorrenza`)
) ENGINE = MyISAM DEFAULT CHARSET = latin1;
Creeremo una stored procedure che conta il numero di commenti che un utente ha lasciato e restituisce il livello a cui si trova quell'utente, prendendo come riferimento per l'esempio.
Esperto se hai fatto più di 5000 commenti
Avanzate se hai commentato tra 4999 e 1000 volte
Moderatore se hai commentato tra 999 e 500 volte
Editor se hai commentato tra 499 e 100 volte
Creiamo la stored procedure e avrà due parametri, uno dei quali verrà inserito l'id o numero dell'utente la cui variabile è p_usuario e un altro output che sarà il livello con la variabile p_level.
Spieghiamo la stored procedure che chiamiamo, assumiamo un userid = 112
CHIAMATA livello utente (112)
Seleziona e conta il numero di commenti per questo utente e lo memorizza nella variabile total, quindi la struttura if assegnerà il livello alla variabile p_level e restituirà il valore.
<? // Prepariamo una query da php
$ risultato = $ mysqli-> query ("CALL userlevel (112)");
$ riga = $ risultato-> fetch_assoc ();
echo 'Livello:'.$ row ['p_level']; ?> var13 ->
CASE stored procedure condizionali
L'operazione è molto simile alla precedente, solo che il condizionale è CASE e in questo esempio otteniamo il costo di spedizione o supplemento in base alla posizione di un cliente.
Assumeremo un cityid = 2 e chiameremo la stored procedure p
Costo spedizione CHIAMATA (2)
<? // Prepariamo una query da php
$ risultato = $ mysqli-> query ("CALL shipping cost (2)");
$ riga = $ risultato-> fetch_assoc ();
echo 'Sovrapprezzo per la spedizione' $ row ['p_recargo']; ?> var13 ->
Sempre all'interno delle possibilità offerte dalle strutture condizionali, possiamo utilizzare le strutture if o case per eseguire più azioni con un'unica stored procedure
Creeremo, ad esempio, una stored procedure per gestire i prodotti a cui inviando un parametro potremo poi determinare quale azione o compito eseguiremo.
Possiamo vedere che nella procedura prodotti abbiamo un parametro chiamato p_accion, quindi assegniamo se l'azione sarà salvare un nuovo prodotto o modificarlo nel database
Esempio per inserire un nuovo prodotto
<? // Prepariamo una query da php
$ risultato = $ mysqli-> query ("CALL prodotti (10, 'Cellulare', '100,00', 'nuovo')");
echo 'Il prodotto è stato registrato'; ?> var13 ->
Esempio per inserire un edit o modificare un prodotto
<? // Prepariamo una query da php
$ risultato = $ mysqli-> query ("CALL products (10, 'MXC3 mobile phone', '120,00', 'edit')");
echo 'Il prodotto è stato modificato'; ?> var13 ->
Questo metodo è molto utile per raggruppare attività note come CRUD, cioè creare, leggere, modificare e cancellare dati ed eseguire aggiornamenti e ricerche, tutte ordinate nello stesso file, facilitando così la manutenzione e la possibilità di ridimensionare il database se necessario. .
Inoltre, permette dal punto di vista dell'analisi funzionale di essere più chiari sulle regole di business dell'applicazione.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo