Immagine + testo da MySQL

schizzorino

Nuovo Utente
24 Ago 2009
3
0
0
Ciao a tutti.
In precedenza ho inserito in MySQL alcuni dati tra cui una foto.
Ora voglio fare una pagina che visualizza sia i dati che la foto, come fosse un tesserino.
Il problema è che riesco a visualizzare la foto con il metodo:
header('Content-Type: '.$tmp['foto_tipo']);
ovviamente $tmp['foto_tipo'] è preso dal campo in MySQL.
ma non riesco a scrivere nessun testo in nessun modo.

Siccome questo stesso problema lo ha presentato dream88 e poi ha scritto di averlo risolto ma senza indicare come, chiedo a lui o altri come poter risolvere questa esigienza.... anche con altri sistemi.

Grazie e ciao.
 
Ciao!
Allora io ho fatto un file per connettermi al database e per prendere le immagini che ho chiamato img.php:

PHP:
// imposto l'header che verrà interpretato dal browser come immagine
header('Content-type: image/jpeg');

// connessione al database
require_once('config.php');

$results = mysql_query('SELECT Copertina FROM libri WHERE ISBN='.$_GET['ISBN'].' LIMIT 1');

if ($row = mysql_fetch_array($results))
  echo $row['Copertina'];
else 
  echo '';

E poi un altro dove oltre a visualizzare le immagini inserisco altri dati presi dal database:

PHP:
// connessione al database
require_once('config.php');

$query ="SELECT * FROM libri ORDER BY Contatore DESC LIMIT 10";
                $result=mysql_query($query);
                while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
                { 
                    // Invio l'intestazione contenente il tipo MIME del file
                    echo '<tr><td align="right"><img src="img.php?ISBN='.$row['ISBN'].'" width="100" height="150" alt="'.$row['Titolo'].'"></td><td><b>'.$row['Titolo']; 
                }

Spero ti sia utile...:)
 
Ultima modifica:
funziona

Grazie mille dream88.
Funziona.
Ho solo dovuto togliere un pezzetto di codice perchè all'inizio non funzionava dandomi un errore:
da:
$results = mysql_query('SELECT Copertina FROM libri WHERE ISBN='.$_GET['ISBN'].' LIMIT 1');
a:
$results = mysql_query('SELECT foto_dati FROM administrators');

L'errore che mi dava è:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Inetpub\webs\erre-pcom\img.php on line 15

in pratica essendo io un autodidatta che al massimo compra un pò di libri e poi ci passa sopra le notti ma conclude poco
non so assolutamente perchè se tolgo la parte dell'ISBN si mette a funzionare.

Comunque ti ringrazio tantissimo per la tua fulminea disponibilità.
Grazie mille da schizzorino.
 
hai controllato che il valore passato per GET non sia vuoto? Prova con un semplice:
PHP:
var_dump($_GET);
 
L'isbn è per forza una stringa (essendoci oltre alle cifre almeno anche i trattini) quindi la query corretta è:
Codice:
$results = mysql_query('SELECT Copertina FROM libri WHERE ISBN=[COLOR="Red"]\"[/COLOR]'.$_GET['ISBN'].'[COLOR="Red"]\"[/COLOR] LIMIT 1');
 
Ciao a tutti.
Il titolo di questa discussione è Immagine + testo da MySQL... Per quanto mi riguarda considerare entrambe le cose insieme sarà oggetto di paranoie in seguito :book: per ora la mia attenzione è rivolta alle immagini. Siccome l'argomento credo sia comunque in tema evito di aprire una nuova discussione.
Inutile dire che sono un super principiante... Ero curioso di capire come funzionasse la gestione delle immagini e allora ho letto il tutorial. Mi funziona tutto bene, tranne un intoppo proprio sul finale. Quando clicco sul link che punta all'immagine, mi compare una pagina con tantissimi codici che penso siano l'immagine stessa:

Codice:
[SIZE="2"]ÿØÿàJFIFÿþ;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 80 ÿÛC   %# , #&')*)-0-(0%()(ÿÛC   (((((((((((((((((((((((((((((((((((((((((((((((((((ÿÀJJ"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:..................[/SIZE]

Non dovrebbe visualizzarsi l'immagine?

Il codice che ho utilizzato è uguale a quello del tutorial, comunque il pezzo finale relativo alla stampa a video dell'immagine è il seguente:

Codice:
<?php
if (isset($_GET['id']))
{
  $id = @intval($_GET['id']);
  @include 'config.php';
  $sql = "SELECT id,type,immagine FROM immagini WHERE id='$id'";
  $result = @mysql_query($sql) or die(mysql_error ());
  $row = @mysql_fetch_array($result);
  $id_img = $row['id'];
  $type = $row['type'];
  $img = $row['immagine'];
  if (!$id_img)
  {
    echo "Id sconosciuto";
  }else{
    @header ("Content-type: ".$type);

    echo $img;
  }
}else{
  echo "Impossibile soddisfare la richiesta.";
}
?>

Grazie per l'attenzione :o
 

Discussioni simili