SECONDA LEZIONE:
Una volta creato il database e riempito le tabelle con i dati. L’operazione più importante è di riuscirre ad estrarre e far visualizzare in una pagina php del proprio sito le informazioni contenute, facendo le dovute selezioni (per maggiori informazioni consultare la guida mysql).
Apriamo con un editor testuale (va bene anche il block notes di Windows), un nuovo file che salviamo con estensione .php (se è la pagina di default del sito, la chiamaremo index.php).
Includiamo il file che racchiude le informazioni per connetterci al database (vedere la prima lezione.

Ci connettiamo al database e selezionamo dalla tabella gli ultimi 10 titoli inseriti.

Utilizzando un ciclo while, stampiamo tutti i dati trovati

ISTRUZIONI PHP: STAMPARE A VIDEO CON ECHO O PRINT
Come vediamo qui sopra per stampare un informazione a video si usa il comando echo.
Il contenuto di echo, si può scrivere opzionalmente tra parentesi e optando tra gli apici e le virgolette.
nel caso che includa solamente il testo:
echo (“prova”);
echo “prova”;
echo (‘prova’);
echo ‘prova’;
echo ‘prova1′,’prova2′;
Inoltre all’interno di echo è possibile usare l’html (gli stili, la formattazione …).
echo(“prova“);
nel caso in cui stampi il valore di una variabile:
echo ‘$prove’;

in alternativa è possibile usare il comando print. La differenza è che print accetta una sola stringa a differenza di echo [echo 'prova1','prova2';]
print ‘prova’;
print ‘$prove’;

Se vi chiedono qual’è il motore migliore del web? Rispondereste Google. Qual’è il miglior social network? Senza esitare direte Facebook, e poi qual’è il migliore e più sicuro sito per aste on line? E-bay. Come vedete sembra inutile discutere in un mondo sempre più globalizzato, nel bene e nel male ecco una serie di risposte di una ovvietà disarmante. Ecco perchè questa mini-guida non vi dirà solo i siti COOL del genere ma sopratutto vuole tracciare sul web, tutti quei siti concorrenti che cercano di prendere una piccola fetta di mercato.

MOTORI DI RICERCA:
Google ormai da anni ha monipolizzato il settore, ormai tutti gli altri si appoggiano sui suoi dati, sin da Yahoo, passando per Lycos e gli italiani Virgilio e Arianna.
Un’alternativa il LiveSearch, della microsoft.

ASTE ON LINE:
E-bay è sinonimo di aste on line, nessun al mondo o almeno in Italia ha creato un sito di compra-vendita tra privati talmente sicuro.
Nell’attesa che il progetto concorente di Google in America, abbia uno sviluppo anche da noi.
Siti concorenziali ad E-bay ne esistono una moltitudine, ma purtroppo sempre più spesso sono frequentati da venditori che sono stufi delle sin troppo costose tariffe di e-bay. Le alternative, o crearsi un sito tutto vostro (attraverso il piccolo e facile script php auction nella versione gpl) oppure tra le tante alternative consigliamo Prezzi-shock.it una delle comunità con un gran numero di annunci.

PAGAMENTI:
Quando un sistema funziona, allora inevitabilmente nascono i concorrenti, nel settore dei pagamenti on line, la leadership spetta di merito a Paypal con milioni di conti attivi.
Esistono delle alternative, ma ancora un pò troppo giovani, come Alertpay ma sono legati più al mercato americano che a quello europeo.

ANTIVIRUS:
Se avete comprato mai un pc, nel 90% sarà installato in versione prova – con un abbonamento tra i 30 e i 60 giorni – il noto antivirus Norton. Indubbiamente un discreto antivirus, ma il mercato offre almeno in questo delle alternative migliori, come il Kanspersky o il Zone alarm, il McAffe. Mentre a livello free ecco l’Avast.

ANNUNCI ON LINE:
Indubbiamente Kijii sopratutto per l’offerta lavorativa è il sito più affidabile, ma ha dei vali avversari come bacheca.it e subito.it

SOCIAL NETWORK:
Facebook è il top dei sn, ma anche in questo caso è possibile trovare delle ottime alternative come Badoo.it .

GUIDA MYSQL

1 giugno 2009

ISTRUZIONI DATABASE MYSQL:Premessa:
Per gestire i database nello sviluppo web, si usa generalmente MYSQL, probabilmente il migliore, integrato al linguaggio PHP e le relative librerie ed ad un server Apache. E’ possibile usare mysql sia nella sua forma originaria testuale che in quella visuale, rappresentata da PhpMyadmin, uno dei software più usati per la gestione.
E’ possibile creare un sito in php/mysql anche in locale, usando la suite Easyphp (www.easyphp.org ) e poi trasferirlo in un hosting (free: www.altervista.org ; low-cost: tophost ) che supporti tale linguaggio.
I dati essenziali per connetterci al database, saranno sempre l’host (al 99% dei casi localhost); il nome, l’username e la password del database.

Legenda:
Nella prima colonna (o campo!) la funzione, nell’altra la relativa istruzione.
Tutto quello scritto in minuscolo è personalizzabile, mentre il resto sono dei comandi da non modificare.

CREA DATABASE

CREATE DATABASE prova;

MOSTRA DATABASE

SHOW DATABASES;

SELEZIONA DATABASE DA USARE

USE prova;

ELIMINA DATABASE

DROP DATABASE prova;

MOSTRA TABELLE DEL DATABASE

SHOW TABLES;

CREA UNA TABELLA
VALORI OBBLIGATORI (NOME E TIPO)

CREATE TABLE nomedellatabella (id INT(10), nomedelcampo1 VARCHAR(20), nomedelcampo2 VARCHAR(20), nomedelcampo3 INT(10));

TIPO DI CAMPO STRINGA
AFFIANCO AL NOME DEL CAMPO BISOGNA INDICARNE IL TIPO

CHAR(numero)

255 byte

VARCHAR(numero)

255 byte

TINYTEXT

255 byte

TINYBLOB

255 byte

TEXT

65535 byte

BLOB

65535 byte

MEDIUMTEXT

1.6 Mb

MEDIUMBLOB

1.6 Mb

LONGTEXT

4.2 Mb

LONGBLOB

4.2 Mb

TIPO DI CAMPO
NUMERICO INTERO

TINYINT

-128 > 127

SMALLINT

-32768 > 32767

MEDIUMINT

-8388608 > 8388608

INT

-2147483648 > 2147483647

BIGINT

-9223372036854775808 >
9223372036854775807

TIPO DI CAMPO:
NUMERICO NON INTERO

FLOAT(I,D)

DOUBLE(I,D)

DECIMAL(I,D)

TIPO DI CAMPO:
DATA/ORA

DATE

Data

DATETIME

Data e Ora

TIME

Tempo in ore:minuti:secondi

YEAR

Valore dell’anno

TIMESTAMP

Data autoaggiornata

GLI ATTRIBUTI DEL CAMPO

UNSIGNED

Dati senza segno

UNSIGNED ZEROFILL

Zero davanti

NULL/NOTT NULL/DEFAULT/AUTOINCREMENT

NULL

Il campo può essere vuoto

NOT NULL

E’ obbligatorio riempire il campo

DEFAULT

Impostare un valore predefinito per il campo

AUTOINCREMENTE

Usato per id consente di autoincrementarsi

INDICI:

INDEX

Indice semplice

PRIMARY

Chiave primaria (può esser solo ID) non accetta dupplicati o valori nulli.

UNIQUE

Indice Unico, non è possibile ripetere i dati

STRUTTURA DELLA TABELLA

DESCRIBE nomedellatabella;

INSERIRE I DATI:

INSERT INTO `nomedellatabella` ( `id` , `nomedelcampo1` , `nomedelcampo2` , `nomedelcampo3` )
VALUES (
‘1′, ‘Alessandro’, ‘Nicotra’, ‘095′
);

MODIFICA RECORD

UPDATE nomedellatabella SET nomedelcampo1=’scriverequinuovovalore’ WHERE id=’Alessandro’;

MODIFICA TUTTI I RECORD

UPDATE nomedellatabella SET nomedelcampo3=’inserirequinuovovalore’;

ELIMINA RECORD
(CON CONDIZIONE)

DELETE FROM nomedellatabella WHERE nomedelcampo1=’Alessandro’;

ELIMINA MULTI RECORD
(con limite)

DELETE FROM nomedellatabella WHERE nomedelcampo1=’abc’ LIMIT 2;

ELIMINA TUTTI I RECORD

DELETE FROM nomedellatabella;

MODIFICA NOME DEL CAMPO

ALTER TABLE nomedellatabella CHANGE nomedelcampo2 nuovonomedelcampo2 int(10);

MODIFICA PROPRIETA’ DEL CAMPO

ALTER TABLE nomedellatabella CHANGE nuovonomedelcampo2 nomedelcampo0 varchar(10);

AGGIUNGERE UN CAMPO

ALTER TABLE nomedellatabella ADD nomedelcampo4 VARCHAR(40);

ELIMINA UN CAMPO

ALTER TABLE nomedellatabella DROP nomedelcampo4;

SVUOTARE LA TABELLA

TRUNCATE nomedellatabella;

MODIFICA NOME TABELLA

ALTER TABLE nomedellatabella RENAME nuovonomedellatabella;

VISUALIZZARE I DATI

SELECT * FROM nomedellatabella;

VISUALIZZA I DATI DI UN CAMPO
VISUALIZZA I DATI DI PIU’ CAMPI SCELTI

SELECT nomedelcampo2 FROM nomedellatabella;
SELECT nomedelcampo2, nomedelcampo1 FROM nomedellatabella;

ORDINAMENTO PER CAMPO (CRESCENTE)

SELECT * FROM nomedellatabella ORDER BY nomedelcampo2 ASC;

ORDINAMENTO PER CAMPO(DECRESCENTE)

SELECT * FROM nomedellatabella ORDER BY nomedelcampo2 DESC;

ORDINAMENTO PER MULTI CAMPI(CRESCENTE O DECRESCENTE)

SELECT * FROM nometabella ORDER BY nomecampo1 ASC, nomcampo2 DESC;

ORDINAMENTO ALFABETICO

SELECT * FROM `nomedellatabella` WHERE `nomedelcampo1` LIKE ‘%A’

ORDINAMENTO PER ULTIMA LETTERA

SELECT * FROM `nomedellatabella` WHERE `nomedelcampo1` LIKE ‘A%’;

ORDINAMENTO PURCHE’ E’ PRESENTE LETTERA/NUMERO/SIMBOLO

SELECT * FROM `nomedellatabella` WHERE `nomedelcampo1` LIKE ‘%A%’;

ORDINAMENTO PER CAMPO2

SELECT *  FROM `nomedellatabella` WHERE `nomedelcampo1` REGEXP ‘%A%’;

RICERCA: RISULTATI PER RECORD

SELECT * FROM nomedellatabella WHERE nomedelcampo1=’Alessandro’;

ELIMINA TABELLA

DROP TABLE nomedellatabella;

OPERATORE: SOMMA
(SOLO CAMPI NUMERICI)

SELECT (nomedelcampo2+nomedelcampo3) AS totale FROM nomedellatabella;

OPERATORE: DIFFERENZA
(SOLO CAMPI NUMERICI)

SELECT (nomedelcampo3-nomedelcampo2) AS differenza FROM nomedellatabella;

OPERATORE: MOLTIPLICAZIONE
(SOLO CAMPI NUMERICI)

SELECT (nomedelcampo3*nomedelcampo2) AS moltiplicazione FROM nomedellatabella;

OPERATORE: DIVISIONE
(SOLO CAMPI NUMERICI)

SELECT (nomedelcampo3/nomedelcampo2) AS divisione FROM nomedellatabella;

FUNZIONE IF (SE)
(confronta i due campi, restituisce 0 se sono uguali, altrimenti 1 se diversi.)

SELECT IF(nomedelcampo1 != nomedelcampo2, 1, 0) FROM nomedellatabella;

FUNZIONE: CONTATORE
(TOTALE DEI RECORD)

SELECT COUNT(*) AS totale FROM nomedellatabella;

FUNZIONE: CONTATORE ESCLUSI DATI RIPETUTI

SELECT DISTINCT (nomedelcampo1) FROM nomedellatabella;

FUNZIONE: VALORE MASSIMO
(SOLO PER CAMPI NUMERICI)

SELECT MAX(nomedelcampo3) FROM nomedellatabella;

FUNZIONE: VALORE MINIMO
(SOLO PER CAMPI NUMERICI)

SELECT MIN(nomedelcampo3) FROM nomedellatabella;

FUNZIONE: MEDIA
(SOLO PER CAMPI NUMERICI)

SELECT AVG(nomedelcampo3) FROM nomedellatabella;

FUNZIONE: SOMMA
(SOLO PER CAMPI NUMERICI)

SELECT SUM(nomedelcampo3) FROM nomedellatabella;

Ti è piaciuta questa guida?
Allora, perchè non scaricarla, nel formato universale per eccellenza, il PDF!
Clicca con il tasto destro del mouse sul link qui sotto e poi su salva oggetto con nome.
http://www.computereweb.net/guida-mysql.pdf

GUIDA WML (WAP)

18 maggio 2009

Il Wap è una tecnologia che consente di navigare tra i contenuti attraverso telefoni cellulari compatibili. Il linguaggio di programmazione su cui si basano i siti Wap è il WML che è l’acronimo di Wireless Markup Lenguage. Il Wml è un linguaggio “case sensitive”, quindi bisogna far attenzione ai commandi/nomi dei file scritti in maiuscolo/minuscolo.

Aprite un block notes ed inziate a scrivere il codice, seguendo questa guida, salvate il file con estensione .wml
Hosting che supportano il wap, sono Altervista (gratis); Tophost (pagamento); Aruba (Pagamento).
Si consiglia di creare un sottodominio:
esempio: www.computereweb.net/wap/index.wml
in: http://wap.computereweb.net/index.wml

Il codice della pagina deve sempre iniziare in questo modo:
<?xml version=”1.0″?>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//Dtd wml 1.1//EN” “http://www.wapforum.org/Dtd/wml_1.1.xml”>

I commenti:
<!– così si scrive un commento in wml –>

Tutto il codice dev’essere racchiuso tra i seguenti marcatori:
<WML>
</WML>

Inserimento del testo:
<CARD>
il testo va inserito sempre tra questi marcatori.</CARD>
e poi dichiararne l’allineamento con <p></p>

Titolo della pagina WAP:
<CARD title=”titolo della pagina”>….. </CARD>

Formattazione del testo:

Allineamento Testo:
<p align=”center” /> <!– al centro  –>
<p align=”left” /> <!– a sinistra –>
<p align=”right” /> <!– a destra –>

Andare a capo/lasciare una riga vuota:
<br/>
<!– va a capo o lascia una riga vuota –>
oppure <p>testo</p> <!– va a capo –>

Testo in grassetto:
<b>prova</b>

Testo in corsivo:
<i>prova</i>

Testo sottolineato:
<u>prova</u>


Testo a Caratteri grandi:
<big>prova</big>

Testo a caratteri piccoli:
<small> prova </small>

Titoli:
<h1>titolo 1 </h1> <!– da h1 ad h6 ci sono svariati tipi di grandezze –>

Inserimento di una tabella:
<p>
<table columns=”3″>
<tr>
<td>r1c1</td><td>r1c2</td><td>r1c3</td>
</tr>
<tr>
<td>r2c1</td><td>r2c2</td><td>r2c3</td>
</tr>
</table>
</p>
<!– nell’esempio sopra una tabella con due righe e tre colonne –>

Inserimento Immagine/Icona:
<img alt=”testoalternativo” src=”http://www.computereweb.net/wap/imm.wbmp”>
<img alt=”testoalternativo” src=”/wap/imm.wbmp”>
<!– stesso metodo di come si fa in html, dove alt indica il testo alternativo ed src è il percorso dove si trova l’immagine(link interno o esterno) MOLTO IMPORTANTE: Le immagini sul wap possono essere in formato WBMP on line trovate diversi convertitori (http://www.go2convert.com) E’ possibile usare anche immagini in formato PNG–>

Inserimento link:
<a href=”http://www.computereweb.net/wap/1.wml”>pro</a>
<!– in href è possibile specificare una pagina interna o l’indirizzo di un sito esterno –>

Inserimento di un ancora:
<card id=”indice” title=”LabTel SNC”>
<p align=”left”>
<b>SOMMARIO</b>
<br/>
<anchor>Chi Siamo<go href=”#chisiamo”/></anchor><br/>
<br/>
</p>
</card>
<card id=”chisiamo” title=”Chi Siamo”>
<p align=”left”>
<b>Prove tecniche</b>
</p>
<br/>
<!– dichiaramo due ancore, uno l’indice è l’altro i link <card id=”indice” title=”LabTel SNC”> dove id sarà l’ancora da richiamare e title è il titolo della pagina wap. Il richiamo avviene tramite questo comano:
<anchor>titolo ancora personalizzabile<go href=”#chisiamo”/></anchor>
–>

Allineamento:

Per allineare link, immagini ed altri tag è possibile usare anche:
<div align=”center”>…</div>
<div align=”left”>…</div>
<div align=”right”>…</div>