Pagine

giovedì 27 novembre 2008

Libero: COLLABORAZIONI (2)

.....Era primavera, ma da così poco tempo che l'inaspettato miglioramento climatico aveva colto, come ogni anno, di sorpresa gli abitanti della metropoli che l'isola più grande del Mediterraneo ospitava insieme a un bizzoso vulcano e a migliaia di problemi annosi e insoluti. L'inaspettato innalzamento di qualche grado nella colonnina di mercurio non giustificava di certo la sofferenza del calvo artista del crimine. Libero sentiva che da quell'appuntamento non sarebbe arrivato niente di buono. L'ufficiale, dal canto suo, si comportava come se l'incontro tra lui e l'uomo che aveva contribuito a mandare in galera svariate volte, fosse quanto di più normale ci si potesse aspettare in un mite pomeriggio di primavera. Davanti agli occhi di Libero passarono per un attimo tutti i latitanti che conosceva e tutti i colpi andati a segno di cui aveva sentito negli ultimi tempi, cercando di immaginare a quale di questi volti o a quale preziosa informazione doveva l’onore di questo incontro. Il commissario dal suo canto e, perfettamente a proprio agio, diede un’occhiata fugace rivolto verso, Libero ne era sicuro, i suoi subalterni che dovevano essere piazzati lì vicino. Dalle tasche di un giubbotto di pelle nera appoggiato sulla sedia, mentre la cenere della sigaretta andava a cospargere la manica della camicia del poliziotto con un’impalpabile coltre grigiastra, spuntò fuori un foglietto di carta del tipo usato per le fotocopie.«Questa» esordì il funzionario della polizia di stato «è la pianta di una villetta» si fermò a fissare negli occhi l’impaurito interlocutore e, certo di essere stato compreso, continuò: «un sistema di antifurto perimetrale, telecamere, nuovo perimetrale per gli infissi, infrarossi a escursione termica e sensori di movimento.» Nuovo sguardo diretto al centro delle attività cerebrali attraversando gli occhi e su attraverso le orbite perforando il nervo ottico, fino al cervello.«Devo entrare qui» disse puntando il dito sulla piantina sgualcita. Senza dare nessuna risposta, deglutendo, Libero si alzò e fece per andarsene come se di fronte a lui fosse seduto Belzebù in persona e la necessità di fuggire fosse qualcosa d’impellente e irrinunciabile. Facchetti lo trattenne per un braccio. La forza fisica di quell'uomo lo sconcertava e ogni volta che in passato si era trovato di fronte a lui, avendo quest'ultimo un modo di fare molto fisico e spontaneo, Libero finiva con il farsi male anche solo standogli accanto a parlare del più e del meno...

domenica 2 novembre 2008

Griglia dinamica in PHP (seconda parte)


Nel post precedente ci siamo occupati di costruire un file php che ci desse l'opportunità di costruire una griglia dati ed una query SQL in grado di passarci dei dati senza vincoli con nessuna tabella. Adesso ci preoccuperemo di creare il file che ci restituirà i dati e dove imposteremo la tabella. Ecco il codice HTML.


<form action="#" method="post">

<table width="500" align="center" bgcolor="#FFFFCC">

<tr bgcolor="#0066ff">

<td width="250" colspan="1"><div align="center" class="Stile2"><h3>Tabella:</h3></div></td>

<td colspan="2"><div align="center" class="Stile2"><h3>Clienti</h3></div></td>



</tr>

<tr bgcolor="#99ccFF">

<td colspan="2" align="center"><span class="Stile2">Filtra Clienti per :</span></td>

<th > </th>

</tr>

<tr bgcolor="#99ccFF">



<td colspan="2" align="center"><table width="200">

<tr>

<td><label>

<input type="radio" name="Gruppopulsantidiscelta1" value="cognome">

Cognome</label></td>

</tr>

<tr>

<td><label>

<input type="radio" name="Gruppopulsantidiscelta1" value="denominazione">

Denominazione</label></td>

</tr>

</table>

</td>



<th width="167" bordercolor="#FFFFFF" bgcolor="#99ccFF"></th>

</tr>

<tr bgcolor="#99ccFF">

<td colspan="2"><div align="center"><input size='25' name='cerca' value=''></div></td>

<th bordercolor="#FFFFFF">&nbsp;</th>

</tr>

<tr bgcolor="#99ccFF">



<td colspan="2"> <div align="center">

<input type='submit' name='Apply' value='Cerca '>

</div></td>

<th>&nbsp;</th>

</tr>

</table>

</form>


Passiamo al php




<?php

$nometabella='Clienti';//impostiamo il nome della tabella

$numerocolonne=16;//l'indice parte da zero quindi (n.ro campi tabella - 1)

$NomeCampo=array();//creo l'array per tutti i nomi dei campi

$NomeCampo[]='Id';//Assegno i nomi dei campi

$NomeCampo[]='Denominazione';

$NomeCampo[]='Cognome';

$NomeCampo[]='Nome';

$NomeCampo[]='indirizzo';

$NomeCampo[]='Citta';

$NomeCampo[]='Provincia';

$NomeCampo[]='CF';

$NomeCampo[]='PI';

$NomeCampo[]='Telefono';

$NomeCampo[]='Fax';

$NomeCampo[]='Cellulare';

$NomeCampo[]='EMail';

$NomeCampo[]='Cap';

$NomeCampo[]='UltimaModifica';

$NomeCampo[]='Note';

$NomeCampo[]='Note1';

$Ordina='Denominazione';//in assenza di altri filtri la tabella viene ordinata in base a questo campo

$Modifica='href=Modifica.php';//file di modifica record

$Elimina='href=Elimina.php';//file di eliminazione record

$cn='localhost';//oppure il vostro servizio di host

$ut='root';//nome utente

$psw='vostraPassword';

$db='Nome Database';

$link = mysqli_connect($cn, $ut, $psw, $db);// provo a connettermi

if (!$link)

{

exit('problemi con la connessione');

}

$mysqli = new mysqli('localhost', 'root', 'isc', 'work');

require("griglia.php");//richiamo il file di costruzione della griglia


?>


Tutto Chiaro?


Vai alla costruzione griglia dinamica

Griglia dinamica in PHP


Una griglia di dati che, dinamicamente, si adatta ai dati e/o ai filtri che abbiamo deciso di impostare è l'argomento che ho deciso di postare oggi. Passo subito al codice.


<?php


//assegnerò questa variabile al pulsante AZ o ZA che assegna il campo a $filtr
$filtr= @$_REQUEST['filtro'];>

$ordine= @$_REQUEST['ordine'];/assegnerò questa variabile al pulsante AZ o ZA che assegna il desc o asc alla query

$scelta = @$_POST['Gruppopulsantidiscelta1'];//questo è l'optionbutton selezionato

$den = @$_POST['cerca'];//questo sarà il "LIKE" della query SQL

#stabilisco le regole per il filtro dei dati

if ($scelta==''){$scelta=$Ordina; $miastringa='Nessun Filtro Attivo';}

else{$miastringa='Filtro Attivo per:' . ' ' . $scelta;};

if ($filtr=='') //se non sono stati premuti i tastini "az" o "za"...

{

$filtr=$Ordina . ' ' .'asc';

};

$filtro = $filtr . ' ' . $ordine;

#Quindi inizio a costruire la griglia


print "$miastringa";

<table bgcolor='FFFFCC' >";

echo"

<tr><th colspan='13'bgcolor='#FFFFcc'>$nometabella</th></tr>

<tr >

<th></th><th></th>";

$i=0;//scrivo le righe

while ($i <= $numerocolonne ){

echo"

<th bgcolor='6699ff' >$NomeCampo[$i]

<a title='AZ' href =\"{$_SERVER['PHP_SELF']}?filtro=$NomeCampo[$i]&ordine=ASC\"><img align='left'src='az.png'border='0'></a> </br>

<a title='ZA' href =\"{$_SERVER['PHP_SELF']}?filtro=$NomeCampo[$i]&ordine=DESC\"><img align='right' src='za.png'border='0'></a>

</th>";

++$i;

}

$result = mysqli_query($link, "SELECT * FROM $nometabella Where $scelta like'$den%'ORDER BY $filtro ");// effettuo la query

#(Come si può notare la query SQL è costruita su parametri che vengono passati dalle variabili

while ($row = mysqli_fetch_row($result))// eseguo la fetch dei risultati

{

echo "

<tr>

<th bgcolor=$col><a title='Modifica' $Modifica?id=$row[0]><img src='edit.png'border='0'></a> </th>

<th bgcolor=$col ><a title='Elimina' $Elimina?id=$row[0]><img src='drop.png' border='0'></a> </th>";

$n= 0;//scrivo i risultati della riga sulle colonne appropriate

while ($n <= $numerocolonne )

{

$replace=str_replace("°","'",$row[$n]);#trasformo gli ° in apostrofi poi spiego il perchè

echo "<th bgcolor=$col>$replace </th>";

++$n;

}

echo"</th>";

}//fine ciclo

mysqli_data_seek($result,0);// riporto il cursore della riga corrente a 0

mysqli_free_result($result);// chiudo il set dei risultati per liberare memoria

mysqli_close($link);// chiudo la connessione

?>


continua