problema blob database immagine

patriziou

Utente Attivo
12 Lug 2011
79
0
0
ciao a tutti io stavo cercando di mettere tramite phpmyadmin un' immagine e ho utilizzato Campo immagine
Tipo blob
Lunghezza/Set*1
Collation
Attributi binary
Null notnull
Predefinito2
Extra
Commenti
c'è qualche errore ? perchè quando io richiamo la query dove c'è anche l' immagine mi esce tutto ma l' immagine mi esce tutta una serire di numeri e lettere . come fare per non farli uscire e vedere l' immagine?
 
Ultima modifica:
ciao a tutti io stavo cercando di mettere tramite phpmyadmin un' immagine e ho utilizzato Campo immagine
Tipo blob
Lunghezza/Set*1
Collation
Attributi binary
Null notnull
Predefinito2
Extra
Commenti
c'è qualche errore ? perchè quando io richiamo la query dove c'è anche l' immagine mi esce tutto ma l' immagine mi esce tutta una serire di numeri e lettere . come fare per non farli uscire e vedere l' immagine?
Ma non si memorizza un immagine nel database, è buona norma memorizzare l'url dell'immagine (la path delle directory) e poi
ristamparlo tramite un semplice tag immagine e con l'url preso dal database
 
forse se ti dico quello che io voglio fare comprendi io facio una paginazione del sito dove ci sono 10 dati che devono essere presi dal database in modo tale che i nuovi vanno in alto i vecchi in basso e per nquesto ho ftt questo codice :
PHP:
<?
// Creo una variabile dove imposto il numero di record 
// da mostrare in ogni pagina
$x_pag = 10;

// Recupero il numero di pagina corrente.
// Generalmente si utilizza una querystring
$pag = $_GET['pag'];

// Controllo se $pag &egrave; valorizzato...
// ...in caso contrario gli assegno valore 1
if (!$pag) $pag = 1; 

// Mi connetto al database
$conn = mysql_connect("localhost","crashgiochi","fikbasisnu91");
mysql_select_db("my_crashgiochi", $conn);

// Uso mysql_num_rows per contare le righe presenti
// all'interno della tabella agenda
$all_rows = mysql_num_rows(mysql_query("SELECT id FROM giochi"));

// Tramite una semplice operazione matematica definisco
// il numero totale di pagine
$all_pages = ceil($all_rows / $x_pag);

// Calcolo da quale record iniziare
$first = ($pag - 1) * $x_pag;

// Recupero i record per la pagina corrente...
// utilizzando LIMIT per partire da $first e contare fino a $x_pag
$rs = mysql_query("SELECT * FROM giochi LIMIT $first, $x_pag");
$nr = mysql_num_rows($rs);
if ($nr != 0){
  for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rs);
    echo "<p><table><tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td><a href='PAGINA.html?id=".$row['id']."'>" . $row['nome'] . "</a></td>";
	echo "</tr>";//per far il collegamento url alla pagina corrispondente per esempio mario rossi il suo profilo 
    echo "<tr>";
    echo "<td width=\"100\" height=\"100\"><a href='PAGINA.html?id=".$row['id']."'>" . $row['immagine'] . "</a></td>";//per far il collegamento url alla pagina corrispondente per esempio mario rossi il suo profilo 
	echo "<td width=\"512\" border=\"0\" height=\"100\">" . $row['testo'] . "</td>";
    echo "</tr></table></p>";
  }
}else{
  echo "Nessun record trovato!";
}

// Se le pagine totali sono pi&ugrave; di 1...
// stampo i link per andare avanti e indietro tra le diverse pagine!
if ($all_pages > 1){
  if ($pag > 1){
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag - 1) . "\">";
    echo "Pagina Indietro</a>&nbsp;";
  } 
  if ($all_pages > $pag){
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag + 1) . "\">";
    echo "Pagina Avanti</a>";
  } 
}
// Chiudo la connessione ad DB
mysql_close($conn);
?>

però ho due problemi uno è quello dell' immagine l' altro del collegamento alla pagina del dato proprio come per esempio c'è il nome mario rossi voglio vedere il suo profilo ma nn ci riesco
 
Ultima modifica di un moderatore:
Per l'immagine fai cosi:
-Memorizza l'url dell'immagine
Stampala cosi:
PHP:
echo "<img src='".$row['url']."'>";

Il secondo problema:
Non ci riesco in che senso che problemi ti da?

Consigli:

Invece del ciclo for utilizza un while e nella query fai cosi se vuoi stampare i risultati
piu recenti:
PHP:
$rs = mysql_query("SELECT * FROM giochi ORDER BY id DESC LIMIT $first, $x_pag"); //se l'id è auto_increment
 
il secondo problema è questo
PHP:
  echo "<td width=\"100\" height=\"100\"><a href='PAGINA.html?id=".$row['id']."'>" . $row['immagine'] . "</a></td>";
  echo "<td><a href='PAGINA.html?id=".$row['id']."'>" . $row['nome'] . "</a></td>";
vorrei che ne so per esempio il nome è mario rossi si faccia un collegamento alla sua propria pagina mentre se è un altro ad un altro ma lui mi da errore dicendo di non trovare pagina.html
dov'è il problema
 
il secondo problema è questo
PHP:
  echo "<td width=\"100\" height=\"100\"><a href='PAGINA.html?id=".$row['id']."'>" . $row['immagine'] . "</a></td>";
  echo "<td><a href='PAGINA.html?id=".$row['id']."'>" . $row['nome'] . "</a></td>";
vorrei che ne so per esempio il nome è mario rossi si faccia un collegamento alla sua propria pagina mentre se è un altro ad un altro ma lui mi da errore dicendo di non trovare pagina.html
dov'è il problema

Mi sembra piuttosto ovvio no? Che pagina è PAGINA.html ? Sei sicuro che sia quella? Tanto piu vedo che usa una variabile get
per stampare il profilo e non vedo come possa farlo essendo .html visto che non ci gira il php
 
non ho cpt bn cosa hai detto, frs se ti faccio un esempio più chiaro la risposta è migliore allora io prendo dal databse la query scacchi nome id immagine e testo a nome ed immagine con quel codice voglio che si colleghi a scacchi.html però lì non mi cerca la pagina con il nome preso dal database ma mi cerca pagina.html mi dici qual è il problema
riposto il codice
PHP:
  echo "<td width=\"100\" height=\"100\"><a href='PAGINA.html?id=".$row['id']."'>" . $row['immagine'] . "</a></td>";
  echo "<td><a href='PAGINA.html?id=".$row['id']."'>" . $row['nome'] . "</a></td>";
 
Non riesco a capire cosa stai dicendo :confused: dell'url cambia solo la parte dopo id

e poi PAGINA.html che pagina sarebbe? Scusa tu fai un link verso una pagina inesistente?
 
il ftt è che la pagina .html dovrebbe essere una pagina il cui nome viene preso dal database ora non so se il codice è quello è giusto ma il senso è che se io prendo un nome dal database a qullo bisogna collegargli una pagina con lo stesso nome
cmnq per quanto riguarda l' immagine non vabbene quelo codice
echo "<td width="100" height="100"><img src=\'\".$row['immagine'].\"\'></td>";
 
Ultima modifica:
ciao,
forse ti basta cambiare questo:
PHP:
<a href='PAGINA.html?id=".$row['id']."'>" . $row['immagine'] . "</a>
con
PHP:
<a href='".$row['pagina']."'>" . $row['immagine'] . "</a>

dove al posto di 'pagina' metterai il nome del campo che hai sul database
 
ciao,
forse ti basta cambiare questo:
PHP:
<a href='PAGINA.html?id=".$row['id']."'>" . $row['immagine'] . "</a>
con
PHP:
<a href='".$row['pagina']."'>" . $row['immagine'] . "</a>

dove al posto di 'pagina' metterai il nome del campo che hai sul database

pagina sarebbe nome ? non ci dovrei mettere .html vicino poi ? Anche se nn penso perchè io veglio il collegamento sia su nome sia sull' immagine
 
Perchè metti gli slash qui? <img src=\'\".$row['immagine'].\"\'>

Comunque per la pagina potresti fare come ha fatto criric, oppure fare una pagina profilo.php?id=
e che stampa il profilo dell'id ricavato dal database
 
Dipende cosa salvi sul db

Se salvi solo il nome esempio scacchi , allora devi mettere anche .html

PHP:
echo "<a href='".$row['pagina'].".html'>" . $row['immagine'] . "</a>";

Per il salvataggio dell'immagine concordo con quello detto da Nefyt:
Per l'immagine fai cosi:
-Memorizza l'url dell'immagine
Stampala cosi:
Codice PHP:
echo "<img src='".$row['url']."'>";
 
ciao,
forse ti basta cambiare questo:
PHP:
<a href='PAGINA.html?id=".$row['id']."'>" . $row['immagine'] . "</a>
con
PHP:
<a href='".$row['pagina']."'>" . $row['immagine'] . "</a>

dove al posto di 'pagina' metterai il nome del campo che hai sul database

mi da errore pure questo ecco come l' ho messo
PHP:
echo "<td width="100" height="100"><a href='".$row['nome']."'>" . $row['immagine'] . "</a>  </td>";
 
allora mi potete dire il codice completo con gli elementi dal database da me utilizzati eh cmnq il ft delle immagini non va se vi do il codice mio di partenza me lo potete modificare bene in modo tale che siamo sicuri che dopo va?
questo è per l' immagine ma non va :(potete darmelo giusto basandovi su questo ?)
echo "<td width="100" height="100">echo "<img src='".$row['immagine']."'>"; </td>";
per ilcollegamento facciamo con il nome (idem per sopra)
echo "<td><a href='PAGINA.html?id=".$row['id']."'>" . $row['nome'] . "</a></td>";
 
Ma nel campo immagine che richiami, hai memorizzato l'url dell'immagine? Nel database che valore ha?
 
nel databse è salvato così
Campo immagine
Tipo blob
Lunghezza/Set*1
Collation
Attributi binary
Null notnull
Predefinito2
Extra
Commenti
 

Discussioni simili