Inserire immagini in un database

Area dedicata al linguaggio HTML. Nozioni di base,esempi,script,programmazione
Rispondi
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 il risultato di una pagina bianca , presumo quindi che la connessione sia andata a buon fine ti metto lo screen in cui vedi le linee...
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 »

Una cretinata, come sempre accade con PHP, mancava il punto e virgola dopo ++$i
e poi un mysql_query di troppo nel SELECT.

Codice: Seleziona tutto

<?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>');

echo " Connessione a " . $DBName . " eseguita correttamente. <br>";

//  Query
$query = "SELECT * FROM munizioni";
$result = mysqli_query($link, $query);
$i = 0;
while($row=mysqli_fetch_array($result))
{
	$Nr[$i]       		=  $row['Calibro'] ;
	$nazione[$i]      	=  $row['nazione'] ;
	$produttore[$i]     	=  $row['produttore'] ;
	$anno[$i]      		=  $row['anno'] ;
	$tipo[$i]      		=  $row['tipo'] ;
	$fondello[$i]     	=  $row['fondello'] ;
	$cartuccia[$i]     	=  $row['cartuccia'] ;
	echo "Risultati= " . $Nr[$i] . " - " . $Calibro[$i] . " - " . $nazione[$i] . " - " . $produttore[$i] . " - " . $anno[$i] . "<br>";
	++$i;
}
mysqli_close($link);

?>
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 »

Bingo :clapi: :clapi: :clapi: :clapi:

Ho solo sistemato un po di confusione tra nomi delle variabili e campi sul database ma adesso funziona perfettamente , GRAZIE Micogian , adesso ci costruisco intorno il body e dovrei essere a posto ;-)
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 »

Se ho capito bene per costruire una pagina html che contenga uno script PHP la devo sempre salvare con indice .PHP e devo usare INCLUDE per caricare lo script php .. va bene cosi ? sembra che funzioni ma vista la mia preparazione meglio chiedere

Codice: Seleziona tutto

<html>
<head>
<title>Mia pagina con include</title>
</head>
<body>

<?php
//includi il file php creato in precedenza
include('index.php');
?>
</body>
</html>
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 »

Dal momento che hai a disposizione le variabili, nel corpo puoi usare un ciclo "for" per creare la tabella.

Codice: Seleziona tutto

<table style="width: 100%;">
  <!-- Titoli delle colonne della tabella -->
   <tr>     
      <td style="width: 10%;">campo 1</td>
      <td style="width: 15%;">campo 2</td>
      <td style="width: 20%;">campo 3</td>
     <td style="width: 20%;">campo 4</td>
     <td style="width: 30%;">campo 5</td>
   </tr>
	 <?php
	 // contenuto della tabella 
	 for ($x=0; $x < $i; ++$x)
	 {
		 echo "<tr>";
			echo "<td style='width:10%;'>$variabile1[$x]</td>";
			echo "<td style='width:15%;'>$variabile2[$x]</td>";
			echo "<td style='width:20%;'>$variabile3[$x]</td>";
			echo "<td style='width:20%;'>$variabile4[$x]</td>";
			echo "<td style='width:30%;'>$variabile5[$x]</td>";
		 echo "</tr>";
	 }
	 ?>
</table>
Ovviamente devi modificare i valori di larghezza dei vari campi e puoi anche inserire i colori nelle celle o nei testi.
Per quanto riguarda il nome delle immagini da inserire nel database puoi mettere solo il nome del file, il percorso lo metti nel ciclo for.

Non serve l'include, crei una pagina HTML ma il codice php lo inserisci tra i tag <?php all'inizio e ?> alla fine.
Gli include li puoi usare per esempio per creare un file che contenga i dati di connessione, ad esempio crei un file di nome "connect_db.php", lo metti in una cartella "include" e nel file della tabella ci metti

Codice: Seleziona tutto

include (./include/connect_db.php);
Così non metti direttamente nel file i dati di connessione.
Naturalmente un file che contiene codice php deve avere l'estensione .php
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 »

La struttura del file php dovrebbe essere questa

Codice: Seleziona tutto

<html>
<head>
<title>Mia pagina PHP</title>
?php
include (./include/connect_db.php");
// Connessione al database
// Query
// chiusura del php
?>
</head>
<body>
<!-- Testata della pagina -->
<!-- corpo della pagina -->
<!-- Tabella con ciclo for (in php) -->
</body>
</html>
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 »

Io ho fatto cosi, e fino ad ora sembra perfettamente funzionante, ho fatto modifiche ed aggiunte al database e si aggiorna tutto perfettamente

Codice: Seleziona tutto

<html>
<head>
<title>Mia pagina con php</title>
</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";
$result = mysqli_query($link, $query);
$i = 0;
while($row=mysqli_fetch_array($result))
{
	$Nr[$i]       		=  $row['N.r'] ;
	$Calibro[$i]       	=  $row['Calibro'] ;
	$nazione[$i]      	=  $row['nazione'] ;
	$produttore[$i]     =  $row['produttore'] ;
	$anno[$i]      		=  $row['anno'] ;
	$tipo[$i]      		=  $row['tipo'] ;
	$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%;">Nr Seq</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%;">Tipo</td>
	  <td style="width: 20%;">Note</td>
	 </tr>
	 <?php
	 for ($x=0; $x < $i; ++$x)
	 {
		 echo "<tr>";
			echo "<td style='width:5%;'>$Nr[$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%;'>$tipo[$x]</td>";
			echo "<td style='width:20%;'>$note[$x]</td>";
		 echo "</tr>";
	 }
	 ?>
</table>

</body>
</html
L'unica cosa che non riesco a fare è far ordinare il database in ordine alfabetico a seconda di un campo a mia scelta, o meglio ci riesco assegnandogli la chiave ma poi non mi accetta piu valori uguali, ho dovuto assegnarlo al numero consecutivo che effettivamente è univoco, ma vorrei ordinarlo per nome del calibro e non ci riesco.

A proposito del numero consecutivo come devo impostarlo perche cresca da solo automaticamente ogni volta che inserisco dei nuovi record ?
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 »

Devi fare così:

Codice: Seleziona tutto

$query = "SELECT * FROM munizioni ORDER by Calibro";
Il numero dei record è automatico ed è rappresentato dalla variabile $i. Se aggiungi dei records al database aumenta anche $i e il ciclo for dice di visualizzare i records da 0 fino al raggiungimento di $i.
I dati di connessione si mettono in un file diverso per non farli vedere nella pagina, poi userai un include in ogni pagina che interroghi il database.
E' la stessa cosa che avviene nel Forum con il file config.php.

Per il numero d'ordine, dato che $i parte da 0 devi creare una variabile $nn[$i] che sarà $i + 1, lo metti dopo la riga del ciclo for

Codice: Seleziona tutto

for ($x=0; $x < $i; ++$x)
	 {
	 $nn[$i] = $i + 1 ;
		 echo "<tr>";
			echo "<td style='width:5%;'>$nn[$i]</td>";
Attento ai nomi dei campi, hai usato "Calibro", i nomi degli altri campi sono tutti minuscoli, se cerchi "calibro" non lo trovi, quindi cercare di uniformare le stringhe.
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, ora i record esco perfettamente ordinati :D: :D:
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 »

bene ho sistemato tutto per benino e rifatto il database in ordine e con le modifiche che mi servivano...ora viene il bello, inserire le immagini

ho provato a inserire una immagine con questo comando <img src="$Fondello" alt="Mia Immagine"> ma sicuramente la sintassi non è questa :redface:
phpBB version : 3.3.11
php version : 8.2.16
Rispondi