insert

Mattepuffo's logo
Galleria di immagini in PHP e MySQL

Galleria di immagini in PHP e MySQL

In altri articoli ho già parlato di come fare l'upload di file, di come cancellarli, e di come visualizzarli.

Non ho mai tenuto in considerazione però la possibilità di affiancarci un db per l'ordinamento, eventuali didascalie, ecc.

Vediamo quindi come creare una galleria di immagini che ci permetterà di salvare il nome dei files e l'ordinamento su un db MySQL.

In questa prima parte vedremo la creazione del db e l'upload.

Prima di tutto dobbiamo creare un db e una tabella; la tabella che ci serve l'ho chiamata gallery e ha questa struttura:

  • id int auto increment primary key
  • nome varchar(100)
  • ordine int

Tutti sono not null.

Cominciamo con la parte PHP; considerate che io uso PDO sul quale potete vedere questi articoli:

Comunque potete usare anche le classiche funzioni mysql/mysqli.

Vi posto la mia classe per la connessione, così vi fate un'idea:

<?php


//config.php


class Config {

private $pdo;
private static $instance;

private function __construct() {
try {
$this->pdo = new PDO('mysql:host=host;dbname=db', "user", "pass", array(
PDO::ATTR_PERSISTENT => TRUE
));
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
}

public static function getInstance() {
if (!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
}
return self::$instance;
}

public function __clone() {
trigger_error('Clone is not allowed.', E_USER_ERROR);
}

public function getPdo() {
return $this->pdo;
}

...............

}

Non ve la sto a spiegare; comunque è una classe Singleton che dovete istanziare in questa maniera:

include_once 'config.php';
$config = Config::getInstance();

La funzione di inserimento è questa qua:

function insertImg($nome, $ordine) {
global $config;
try {
$prepare = $config->getPdo()->prepare("INSERT gallery (nome, ordine) VALUES (?,?)");
$prepare->execute(array(
$nome,
$ordine
));
} catch (Exception $e) {
die($e->getMessage());
}
}

Mattepuffo's logo
Inserimento dati con PDO

Inserimento dati con PDO

Dovo avere fatto la connessione e una classica interrogazione vediamo come aggiungere dati al nostro db.

Prima di tutto leggiamo l'articolo linkato e salviamoci quella classe.

Infatti non andremo creare una nuova classe, ma aggiungeremo solo una funzione riprendendo quella istanza di PDO.

Questo perchè, come detto nell'articolo, quella classe rappresenta il nostro db e li mettermo tutte le operazioni da fare.

Per l'inserimento useremo le istruzioni prepare.

Come vedete queste istruzioni posso essere usate in vari modi; io in genere uso i segnaposti ?.

Vediamo la funzione da aggiungere alla classe:

public function insert($nome, $cognome, $data_nascita, $cel, $tel, $fax, $soc, $carica, $email1, $email2, $sito, $casa, $uff) {
try {
$prepare = $this->pdo->prepare("INSERT INTO contatti (nome, cognome, data_nascita, cellulare, telefono, fax, societa, carica, email_1, email_2, sito_web, indirizzo_casa, indirizzo_uff) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)");
$prepare->execute(array(
trim($nome),
trim($cognome),
trim($data_nascita),
trim($cel),
trim($tel),
trim($fax),
trim($soc),
trim($carica),
trim($email1),
trim($email2),
trim($sito),
trim($casa),
trim($uff)
));
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
}

Come vedete la funzione richiede diversi parametri, che corrispondono alle voci da inserire nella tabella.

Mattepuffo's logo
Insert MySql con JSP e Servlet

Insert MySql con JSP e Servlet

Dopo aver visto come eseguire una semplice select sun db MySql con JSP e le Servlet, vediamo com'è possibile fare un inserimento.

Vi consiglio di dare prima una letta a questi due articoli che spiegano la classe per la connessione e come eseguire una select con JSP/Servlet:

Detto ciò andremo ad utilizzare un semplice form e una Servlet per eseguire la query di inserimento usando un PreparedStatement (che è la prima volta che uso).

Qui trovate un buon articolo.

In generale i PreparedStatement son delle query pre-compilate.

Alla pagina index.jsp aggiungiamo un semplice form:

<form action="DoInsert" method="post">
	<input type="text" name="txtEntrate" value=""/><br/>
	<input type="text" name="txtUscite" value=""/><br/>
	<input type="text" name="txtCausale" value=""/><br/>
	<input type="submit" name="Submit" value="Submit" />
</form>

Come action ci mettiamo la Servlet che andremo a creare.

Ricordatevi che la Servlet va aggiunta al web.xml dopo essere stata creata.

Mattepuffo's logo
Inserire e modificare dati in MySQL

Inserire e modificare dati in MySQL

Vi propongo una piccola guida all'inserimento e alla modifica dei dati nel celebre database MySQL.

Ovviamente do per scontato che il database sia installato e funzionante, e che sia già stato creato almeno un database e una tabella.

Loggatevi al vostro database e selezionatelo.

Prima di tutto vediamo come inserire dei dati.

INSERT

Per inserire dei dati dobbiamo usare il comando INSERT seguito da VALUES.

La sintassi generale è questa: