Php e mysql: trucchi e consigli per esperti

Oggi vi illustrerò una serie di consigli e trucchi molto utili durante la programmazione in PHP/MYSQL, davvero unici e per esperti!

[lightgrey_box]

SOMMARIO GUIDA

Parte 1: Iniziare con PHP

Parte 2: Funzioni per gestire le stringhe

Parte 3: Trucchi PHP e MYSQL

Parte 4: Guida Cicli IF, ELSE, ISSET, EMPTY

Parte 5: Gli array PHP

Parte 6: i cicli PHP: Do,While – For – Foreach

Parte 7: Guida ai cookie PHP

[/lightgrey_box]

Spero vi siano utili durante i vostri progetti! Iniziamo per diventare dei  mysql “ninja” dovete sapere:

– Resettare conteggio campi id mysql

Vi è mai capitato di scrivere 10 record nel database e di cancellarne 9? Bhè il successivo record auto-incrementato sarà 11. Come fare ad ovviare a questo problema?

ALTER TABLE nometabella AUTO_INCREMENT = 1

Il codice proposto setta il valore di auto-incremento di nuovo a 1 facendo ripartire la catena. E’ molto utile dopo la fase di progettazione quando si devono eliminare gli articoli “di prova” per lasciare il posto a quelli “finali” e completi.

– Ottenere la data auto-generata dopo l’inserimento di un articolo nel DB

Usate questo comando se volete auto-generare la data ogni volta che inserite un nuovo campo nel database:

data = CURDATE()

//nota: data è un campo mysql

Ovviamente il campo data dovrà essere impostato in questo modo per un corretto funzionamento: NULL=Sì |  predefinito: NULL | tipo date. Ogni volta che inserirete un nuovo campo nella vostra tabella il valore curdate() scriverà la data nel vostro campo automaticamente 😉

– Recuperare l’ultimo ID (auto-generato) inserito

Può essere utile capire quale sia l’ultimo id auto-generato inserito nel db, per trovarlo esistono due strade:

ultimoIDinserito = "SELECT TOP 1 id FROM tuatabella ORDER BY id DESC"

Esiste tuttavia anche un comando per richiamare l’ultimo id direttamente dentro una variabile PHP:

mysql_insert_id()

Attenzione, operare sull’ultimo id auto-generato può generare ridondanza ciclica, maneggiare con cura!

Problema con gli apostrofi e i link

In alcuni progetti mi è capitato di avere (grossi) problemi con gli apostrofi durante l’invio del link o testo in PHP. Del genere: villa-d’alessando-liguria inviando un link di questo tipo via GET per poterlo poi usare in PHP ad esempio ho avuto non pochi problemi. Per aggirare queste limitazioni vi consiglio 3 soluzioni (potete usarle anche tutte e 3 insieme):

– Per il testo dentro l’input, utilizzare htmlspecialchars.
[Consigliato] per l’url, utilizzare urlencode. (es. urlencode($row[‘descrizione’]); )
– per le query mysql fate l’escape dei caratteri sul GET usando: mysql_real_escape_string.

– Redirect automatico dopo modifica apportata con successo

In un pannello admin che si rispetti questa feature è indispensabile, possiamo facilmente creare il redirect in due modi:

header(Location …)

Oppure con javascript in questo modo:

echo     'Modifica avvenuta con successo!';
echo     '<script type="text/javascript">setTimeout("parent.history.back()",5*1000)</script>';

Il codice conta fino a 5 secondi e poi reindirizza alla pagina precedente di modifica.

Spero vi sia utile, buona giornata a tutti!

  1. Funziona questo? (non ci ho mai provato)
    ALTER TABLE nometabella AUTO_INCREMENT = 1

    Io avevo provato a modificare manualmente l’id di una tupla, ma ovviamente non funzionava. Non sapevo che rimettendolo a 1 il tutto ripartiva.. Farò delle prove.

    Sicuramente è un metodo più veloce di quello che usavo:
    – export della tabella
    – truncate tabella
    – import nella tabella

    ciao

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

javascript
Up Next:

Guida javascript - input file personalizzati

Guida javascript - input file personalizzati