Inserire immagini in un database

Area dedicata al linguaggio HTML. Nozioni di base,esempi,script,programmazione
Rispondi
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 599
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: Inserire immagini in un database

Messaggio da Micogian »

Ma dove devi metterla l'immagine ? nella tabella ? e le dimensioni ?
Poi dipende da cosa hai messo nel database, io ti consigliavo di mettere solo il nome del file.
Io farei una tabella a 3 colonne: Nr, immagine, Note" dove nelle note metti tutti i dati uno sotto l'altro, in questo modo hai un'immagine più grande.

Codice: Seleziona tutto

<table style="with: 100%;">
   <tr>     
      <td style="width: 5%;">Nr</td>
	  <td style="width: 60%;">Immagine</td>
	  <td style="width: 30%;">Note</td>
	 </tr>
	 <?php
	 for ($x=0; $x < $i; ++$x)
	 {
	 ?>
		<tr>
			<td style='width:5%;'>Nr= <?=[$x]+1?></td>
			<td style='width:60%;'>
				<img src='./localhost/web/images/<?=$fondello[$x]?>' width='350' alt='immagine ' >
			</td>
			<td style='width:30%;'>
				Nazione= <?=$nazione[$x]?><br>
				Produttore= <?=$produttore[$x]?><br>
				Anno= <?=$anno[$x]?><br>
				Tipo= <?=$tipo[$x]?><br>
				Note= <?=$note[$x]?></br>
			</td>
		</tr>
	<?php
	 }
	 ?>
</table>

</body>
</html
In questo caso tra i tag php c'è solo il codice php, il resto è html.
Con questo sistema nel database ci devi mettere solo il nome dell'immagine.
Le immagini sono fissate a 350 pixel, valore che puoi cambiare.
Avatar utente
eniac
PhpBB Expert
PhpBB Expert
Messaggi: 778
Iscritto il: 18/07/2013, 19:14
Link del Forum: Http://www.cesimmunizioni.eu/forum
Località: Abruzzo
Contatta:

Re: Inserire immagini in un database

Messaggio da eniac »

Ma si , infatti nel database ho messo solo il nome del file, anzi per l'esattezza ho messo il link alla cartella dove li ho stoccati, ho fatto quella prova che ho scritto più sopra perché pensavo che la variabile restituisse il valore contenuto nel campo .....
Per capire cosa vorrei fare ti metto uno screen di basebear che offre già tutto preconfezionato ma i prezzi non sono alla portata della nostra associazione per cui devo farmelo da solo
Cattura.PNG
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
phpBB version : 3.3.11
php version : 8.2.16
Avatar utente
eniac
PhpBB Expert
PhpBB Expert
Messaggi: 778
Iscritto il: 18/07/2013, 19:14
Link del Forum: Http://www.cesimmunizioni.eu/forum
Località: Abruzzo
Contatta:

Re: Inserire immagini in un database

Messaggio da eniac »

Ho provato la soluzione che proponevi, direi che non è affatto male come idea, ho aggiunto il codice sotto a quello che avevo creato in modo da avere entrambe le modalita di visualizzazione, i campi di testo vanno bene, ma le immagini non appaiono, ho sistemato solo un po i nomi perche avevo rifatto il database niente altro.

Codice: Seleziona tutto

<html>
<head>
<title>Mia pagina con php</title>
<link href="Senza_Titolo1.css" rel="stylesheet">
<link href="index.css" rel="stylesheet">
</head>
<body>
<?php
$DBhost = "localhost";
$DBuser = "root";
$DBpass = "";
$DBName = "archivio";

/* specifichiamo il nome della nostra tabella */
$table = "munizioni";

/* Connettiamoci al database */
$link = mysqli_init();
if (!$link) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');
if (!mysqli_real_connect($link, $DBhost,$DBuser,$DBpass)) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');

mysqli_select_db($link, $DBName);

$result = mysqli_query($link, "SET NAMES 'utf8'");
if (!$result) exit('<p>error performing query</p>');


//  Query
$query = "SELECT * FROM munizioni ORDER by Calibro";
$result = mysqli_query($link, $query);
$i = 0;
while($row=mysqli_fetch_array($result))
{
	$Bossolo[$i]       		=  $row['Bossolo'] ;
	$Calibro[$i]       	=  $row['Calibro'] ;
	$Nazione[$i]      	=  $row['Nazione'] ;
	$Produttore[$i]     =  $row['Produttore'] ;
	$Anno[$i]      		=  $row['Anno'] ;
	$Modello[$i]      		=  $row['Modello'] ;
	$Fondello[$i]     	=  $row['Fondello'] ;
	$Note[$i]     	=  $row['Note'] ;
	$Cartuccia[$i]     	=  $row['Cartuccia'] ;
	
		
		++$i;
}
mysqli_close($link);

?>
<table style="with: 100%;">
   <tr>     
      <td style="width: 5%;">Bossolo</td>
	  <td style="width: 10%;">Calibro</td>
	  <td style="width: 10%;">Nazionalita</td>
	  <td style="width: 15%;">Produttore</td>
	  <td style="width: 5%;">Anno</td>
	  <td style="width: 15%;">Modello</td>
	  <td style="width: 20%;">Note</td>
	  <td style="width: 20%;">Fondello</td>
	  <td style="width: 20%;">Cartuccia</td>
	 </tr>
	 
	 <?php
	 for ($x=0; $x < $i; ++$x)
	 {
		 echo "<tr>";
			echo "<td style='width:5%;'>$Bossolo[$x]</td>";
			echo "<td style='width:10%;'>$Calibro[$x]</td>";
			echo "<td style='width:10%;'>$Nazione[$x]</td>";
			echo "<td style='width:15%;'>$Produttore[$x]</td>";
			echo "<td style='width:5%;'>$Anno[$x]</td>";
			echo "<td style='width:15%;'>$Modello[$x]</td>";
			echo "<td style='width:20%;'>$Note[$x]</td>";
			echo "<td style='width:20%;'>$Fondello[$x]</td>";
			echo "<td style='width:20%;'>$Cartuccia[$x]</td>";
		 echo "</tr>";
		
	 }
	 ?>
	 <table style="with: 100%;">
   <tr>     
      
	  <td style="width: 60%;">Immagine</td>
	  <td style="width: 30%;">Note</td>
	 </tr>
	 <?php
	 for ($x=0; $x < $i; ++$x)
	 {
	 ?>
		<tr>
			
			<td style='width:60%;'>
				<img src='./localhost/web/immagini/<?=$Fondello[$x]?>' width='350' alt='immagine ' >
			</td>
			<td style='width:30%;'>
				Nazione= <?=$Nazione[$x]?><br>
				Produttore= <?=$Produttore[$x]?><br>
				Anno= <?=$Anno[$x]?><br>
				Tipo= <?=$Modello[$x]?><br>
				Note= <?=$Note[$x]?></br>
			</td>
		</tr>
	<?php
	 }
	 ?>
</table>

</body>
</html
</table>

</body>
</html
Cattura.PNG
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
phpBB version : 3.3.11
php version : 8.2.16
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 599
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: Inserire immagini in un database

Messaggio da Micogian »

Dipende dalla posizione della cartella "immagini" (prima era "images") rispetto al file php, probabilmente basta l'indirizzo relativo

Codice: Seleziona tutto

<img src='./immagini/<?=$Fondello[$x]?>' width='350' alt='immagine ' >
Ovviamente attenzione alle maiuscole/minuscole nei nomi e nelle variabili.

Puoi aprire la pagina sorgente ( con CONTROL u) e vedere se la variabile dell'immagine è corretta.
Avatar utente
eniac
PhpBB Expert
PhpBB Expert
Messaggi: 778
Iscritto il: 18/07/2013, 19:14
Link del Forum: Http://www.cesimmunizioni.eu/forum
Località: Abruzzo
Contatta:

Re: Inserire immagini in un database

Messaggio da eniac »

è perfetto...ho messo anche la seconda immagine e funziona perfettamente , c'è da sistemare i width ma gia è un bel risultato :clapi: :clapi:
Cattura.PNG
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
phpBB version : 3.3.11
php version : 8.2.16
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 599
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: Inserire immagini in un database

Messaggio da Micogian »

Si, devi lavorare sui CSS della tabella, potresti anche centrare l'immagine.

Codice: Seleziona tutto

<td style='width:60%; text-align: center;'>
				<img src='./localhost/web/immagini/<?=$Fondello[$x]?>' width='350' alt='immagine ' >
			</td>
Modifica il width, visto che hai 2 immagini e con "text-align:center" viene centrata.

Considera anche che se un domani hai troppi records da visualizzare potresti dividere per categorie e nella query selezioni una delle Categorie, ad esempio

Codice: Seleziona tutto

$query = "SELECT * FROM munizioni WHERE Categoria = $categoria ORDER by Calibro";
Ma per farlo bisogna creare un Select per scegliere la Categoria.
Avatar utente
eniac
PhpBB Expert
PhpBB Expert
Messaggi: 778
Iscritto il: 18/07/2013, 19:14
Link del Forum: Http://www.cesimmunizioni.eu/forum
Località: Abruzzo
Contatta:

Re: Inserire immagini in un database

Messaggio da eniac »

Inizia a prendere forma , c'è ancora da lavorarci ma qualcosa già si intravede, ovviamente ho inserito nel database dei dati a casaccio, appena è pronto poi lo azzero ed inserirò i dati giusti l'unica cosa è che non ho capito e non mi riesce di eliminare è perché sulla parte alta mi esce un riepilogo delle voci del database

Codice: Seleziona tutto

<html>
<head>
<title>Mia pagina con php</title>
<link href="Senza.css" rel="stylesheet">
<link href="index.css" rel="stylesheet">
</head>
<body>
<div id="wb_Image1" style="position:absolute;left:50px;top:37px;width:483px;height:108px;z-index:0;">
<img src="images/logo_1-removebg-preview.png" id="Image1" alt=""></div>
<div id="wb_Text1" style="position:absolute;left:604px;top:89px;width:253px;height:22px;z-index:1;">
<span style="color:#FF0000;font-family:Arial;font-size:20px;"><strong>DATABASE online CeSIM</strong></span></div>

<?php
$DBhost = "localhost";
$DBuser = "root";
$DBpass = "";
$DBName = "archivio";

/* specifichiamo il nome della nostra tabella */
$table = "munizioni";

/* Connettiamoci al database */
$link = mysqli_init();
if (!$link) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');
if (!mysqli_real_connect($link, $DBhost,$DBuser,$DBpass)) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');

mysqli_select_db($link, $DBName);

$result = mysqli_query($link, "SET NAMES 'utf8'");
if (!$result) exit('<p>error performing query</p>');


//  Query
$query = "SELECT * FROM munizioni ORDER by Calibro";
$result = mysqli_query($link, $query);
$i = 0;
while($row=mysqli_fetch_array($result))
{
	$Bossolo[$i]       		=  $row['Bossolo'] ;
	$Calibro[$i]       	=  $row['Calibro'] ;
	$Nazione[$i]      	=  $row['Nazione'] ;
	$Produttore[$i]     =  $row['Produttore'] ;
	$Anno[$i]      		=  $row['Anno'] ;
	$Modello[$i]      		=  $row['Modello'] ;
	$Fondello[$i]     	=  $row['Fondello'] ;
	$Note[$i]     	=  $row['Note'] ;
	$Cartuccia[$i]     	=  $row['Cartuccia'] ;
	
		
		++$i;
}
mysqli_close($link);

?>

	 
	 <?php
	 for ($x=0; $x < $i; ++$x)
	 {
		 echo "<tr>";
			echo "<td style='width:5%;'>$Bossolo[$x]</td>";
			echo "<td style='width:10%;'>$Calibro[$x]</td>";
			echo "<td style='width:10%;'>$Nazione[$x]</td>";
			echo "<td style='width:15%;'>$Produttore[$x]</td>";
			echo "<td style='width:5%;'>$Anno[$x]</td>";
			echo "<td style='width:15%;'>$Modello[$x]</td>";
			echo "<td style='width:20%;'>$Note[$x]</td>";
			echo "<td style='width:20%;'>$Fondello[$x]</td>";
			echo "<td style='width:20%;'>$Cartuccia[$x]</td>";
		 echo "</tr>";
		
	 }
	 ?>
	 <table style="with: 100%;">
   <tr>     
      
	  
	 <?php
	 for ($x=0; $x < $i; ++$x)
	 {
	 ?>
		<tr>
			
			<td style='width:50%; text-align: center;'><br><br><br><br><br><br><br>
				<img src='./immagini/<?=$Fondello[$x]?>' width='140' alt='immagine ' >
				<img src='./immagini/<?=$Cartuccia[$x]?>' width='450' alt='immagine ' >
			</td>
			<td style='width:35%;'><br><br><br><br><br><br><br>
			    Calibro= <strong><font color="red"><?=$Calibro[$x]?></font color="blue"></strong><br>
				Nazione= <strong><?=$Nazione[$x]?></strong><br>
				Produttore= <strong><?=$Produttore[$x]?></strong><br>
				Anno= <strong><?=$Anno[$x]?></strong><br>
				Modello= <strong><?=$Modello[$x]?></strong><br>
				Note= <strong><?=$Note[$x]?></strong></br>
				Bossolo= <strong><?=$Bossolo[$x]?></strong></br>
			</td>
		</tr>
	<?php
	 }
	 ?>
</table>

</body>
</html
</table>

</body>
</html
Cattura.PNG
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
phpBB version : 3.3.11
php version : 8.2.16
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 599
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: Inserire immagini in un database

Messaggio da Micogian »

il codice php della connessione e della query lo devi mettere nella parte <head> mentre nel body ci metti solo il ciclo for, ma ne hai messi 2 di cicli for.
E' sbagliata anche la tabella, prima devi aprire il <table> , poi ci metti le didascalie della tabella e solo dopo ci metti il ciclo for che crea le righe della tabella, poi chiudi </table>
Avatar utente
eniac
PhpBB Expert
PhpBB Expert
Messaggi: 778
Iscritto il: 18/07/2013, 19:14
Link del Forum: Http://www.cesimmunizioni.eu/forum
Località: Abruzzo
Contatta:

Re: Inserire immagini in un database

Messaggio da eniac »

va bene cosi ?

Codice: Seleziona tutto

<html>
<head>
<title>Mia pagina con php</title>
<link href="Senza.css" rel="stylesheet">
<link href="index.css" rel="stylesheet">
<?php
$DBhost = "localhost";
$DBuser = "root";
$DBpass = "";
$DBName = "archivio";

/* specifichiamo il nome della nostra tabella */
$table = "munizioni";

/* Connettiamoci al database */
$link = mysqli_init();
if (!$link) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');
if (!mysqli_real_connect($link, $DBhost,$DBuser,$DBpass)) exit('<p>Impossibile connettersi al server del database in questo momento.</p>');

mysqli_select_db($link, $DBName);

$result = mysqli_query($link, "SET NAMES 'utf8'");
if (!$result) exit('<p>error performing query</p>');


//  Query
$query = "SELECT * FROM munizioni ORDER by Calibro";
$result = mysqli_query($link, $query);
$i = 0;
while($row=mysqli_fetch_array($result))
{
	$Bossolo[$i]       		=  $row['Bossolo'] ;
	$Calibro[$i]       	=  $row['Calibro'] ;
	$Nazione[$i]      	=  $row['Nazione'] ;
	$Produttore[$i]     =  $row['Produttore'] ;
	$Anno[$i]      		=  $row['Anno'] ;
	$Modello[$i]      		=  $row['Modello'] ;
	$Fondello[$i]     	=  $row['Fondello'] ;
	$Note[$i]     	=  $row['Note'] ;
	$Cartuccia[$i]     	=  $row['Cartuccia'] ;
	
		
		++$i;
}
mysqli_close($link);

?>
</head>
<body>
<div id="wb_Image1" style="position:absolute;left:50px;top:37px;width:483px;height:108px;z-index:0;">
<img src="images/logo_1-removebg-preview.png" id="Image1" alt=""></div>
<div id="wb_Text1" style="position:absolute;left:604px;top:89px;width:253px;height:22px;z-index:1;">
<span style="color:#FF0000;font-family:Arial;font-size:20px;"><strong>DATABASE online CeSIM</strong></span></div>


	 
	 
	 <table style="with: 100%;">
   <tr>     
      
	  
	 <?php
	 for ($x=0; $x < $i; ++$x)
	 {
	 ?>
		<tr>
			
			<td style='width:40%; text-align: center;'><br><br><br><br><br><br><br><br><br>
				<img src='./immagini/<?=$Fondello[$x]?>' width='150' alt='immagine ' >
				<img src='./immagini/<?=$Cartuccia[$x]?>' width='450' alt='immagine ' >
			</td>
			<td style='width:30%;'><br><br><br><br><br><br><br><br><br><br>
			    Calibro= <strong><?=$Calibro[$x]?></strong><br>
				Nazione= <strong><?=$Nazione[$x]?></strong><br>
				Produttore= <strong><?=$Produttore[$x]?></strong><br>
				Anno= <strong><?=$Anno[$x]?></strong><br>
				Modello= <strong><?=$Modello[$x]?></strong><br>
				Note= <strong><?=$Note[$x]?></strong></br>
				Bossolo= <strong><?=$Bossolo[$x]?></strong></br>
			</td>
		</tr>
	<?php
	 }
	 ?>
</table>

</body>
</html



phpBB version : 3.3.11
php version : 8.2.16
Avatar utente
eniac
PhpBB Expert
PhpBB Expert
Messaggi: 778
Iscritto il: 18/07/2013, 19:14
Link del Forum: Http://www.cesimmunizioni.eu/forum
Località: Abruzzo
Contatta:

Re: Inserire immagini in un database

Messaggio da eniac »

Sembra di si , mi pare tutto ok, ora non so se la forma del codice è giusta, ma funzionare pare che funziona
Immagine 2020-12-16 121554.png
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
phpBB version : 3.3.11
php version : 8.2.16
Rispondi