Originalmente inviato da
Xsescott
ciao,
tu praticamente dovresti implementare la tua tabella cosi:
campo di nome "immagine" e di tipo varchar di 255 caratteri, tanto è difficile che un url per le immagini ne abbia di più, comunque puoi mettere un limite inferiore che devi tenere presente sia il massimo dei caratteri consentiti.
comunque se proprio non vuoi rischiare metti un text.
quindi, tu hai la tua cartella nella root del sito / (cartella padre)
la tua cartella icons si trova su questa posizione /icons.
inserisci le tue immagini dentro la cartella icons, quindi avrai le immagini in questa posizione sul tuo server:
/icons/immagine1.jpg
/icons/immagine2.jpg
nel tuo campo "immagine" quando vai a caricare un record metti il link dell' immagine che tu vuoi caricare, esempi uno dei suddetti link, omettendo il / iniziale che non c'è bisogno:
poi quando vai a fare la tua select per recuperare i dati, recuperi il valore del campo immagine e lo fai stampare nel tag per le immagini:
$query="select immagine from tabella where id="x";
con un mysql_fetch_array ti recuperi i valori di tutto il record:
$immagine = row['immagine'];
e poi lo stampi tipo:
echo "<img src="$immagine">";
che risulterà alla fine:
<img src="icons/immagine1.jpg">
spero di essere stato comprensibile :P
ciao
Riprendo il post perché ho un problema simile. Ho seguito le istruzioni sopra quotate, ma ho un problema quanto vado ad inserire i valori nel database tramite un form.
Ho una tabella "squadre" così composta:
id | nome | logo
Questo il codice del form:
Codice PHP:
<?php
include $_SERVER['DOCUMENT_ROOT'] . '/includes/helpers.inc.php';
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title><?php htmlout($pagetitle) ?></title>
</head>
<body>
<h1><?php htmlout($pagetitle) ?></h1>
<form action="?<?php htmlout($action) ?>" method="post">
<div> <input type="hidden" name="id" id="id" value="<?php htmlout($id) ?>"> </div>
<div> <label for="nome">Nome: <input type="" name="nome" id="nome" value="<?php htmlout($nome) ?>"> </label> </div>
<div> <label for="logo">Logo: <input type="" name="logo" id="logo" value="<?php htmlout($logo) ?>"> </label> </div>
<div> <input type="submit" value="<?php htmlout($button) ?>"> </div>
</body>
</html>
Questo il controller:
Codice PHP:
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/includes/magicquotes.inc.php';
//Azione sul link "AGGIUNGI SQUADRA"
if (isset($_GET['add']))
{
$pagetitle= 'Nuova Squadra';
$action= 'addform';
$nome= '';
$logo= '';
$id= '';
$button= 'Aggiungi squadra';
include 'form.html.php';
exit();
}
//Azione click sul bottone "AGGIUNGI SQUADRA". Invio il form.
if (isset($_GET['addform']))
{
include $_SERVER['DOCUMENT_ROOT'] . '/includes/db.inc.php';
try
{
$sql= 'INSERT INTO squadre SET
nome= :nome;
logo= :logo';
$s= $pdo->prepare($sql);
$s->bindValue(':nome' , $_POST['nome']);
$s->bindValue(':logo' , $_POST['logo']);
$s->execute();
}
catch(PDOException $e)
{
$output= "Impossibile aggiungere una nuova squadra" . $e->getMessage();
include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.inc.html.php';
exit();
}
header('Location: .');
exit();
}
//Visualizzo la lista delle squadre
include $_SERVER['DOCUMENT_ROOT'] . '/includes/db.inc.php';
try
{
$result= $pdo->query('SELECT id, nome, logo FROM squadre');
}
catch (PDOException $e)
{
$error= 'Errore nel prelevare la lista delle squadre' . $e->getMessage();
include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.inc.html.php';
exit();
}
foreach ($result as $row)
{
$squadre[]= array('id'=>$row['id'], 'nome'=>$row['nome'], 'logo'=>$row['logo']);
}
include 'squadre.html.php';
Quando visualizzo il risultato, il nome della squadra viene visualizzato (e inserito nel database) correttamente, mentre il percorso dell'immagine non viene salvato nel database e di conseguenza non riesco a visualizzare l'immagine.