gaouinformaticien
Messages postés25Date d'inscriptionsamedi 12 juillet 2008StatutMembreDernière intervention10 janvier 2014
-
10 janv. 2014 à 12:03
gaouinformaticien
Messages postés25Date d'inscriptionsamedi 12 juillet 2008StatutMembreDernière intervention10 janvier 2014
-
10 janv. 2014 à 13:11
Bonjour à tous
je réalise une presse en ligne qui doit afficher les articles avec leurs photos.je n'arrive pas à afficher les photos des différents des articles de la BD à cause du passage des paramètre
voici mon code (Merci d'avance).
1.code de la page qui affiche les articles et les photos correspondantes
<?php
$MessagesPerPage = 3;
// On récupère le nombre total de messages
$return = mysql_query('SELECT COUNT(*) AS nb_messages FROM articles');
$data = mysql_fetch_array($return);
$Messages = $data['nb_messages'];
$Pages = ceil($Messages / $MessagesPerPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $Pages ; $i++)
{
echo '<script>alert(\"<a href="news.php?page=' . $i . '">' . $i . '</a>.\")</script> ';
}
// On récupère les 3 dernières news
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse ( exemple news.php?page=4)
}
else // si non la variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On affiche la page 1, la page par defaut
}
$firstmessage = ($page - 1) * $MessagesPerPage;
$result = mysql_query('SELECT * FROM articles ORDER BY id DESC LIMIT ' . $firstmessage . ', ' . $MessagesPerPage);
while ($data = mysql_fetch_array($result))
{
$id =stripslashes($data['id']);
?>
<h2>
<?php
echo stripslashes($data['titre']); //on recupère titre
?>
</h2>
<em> Ajouté le <?php
echo date('d/m/Y à H:i:s',strtotime($data['date'])); //on recupère la date
?></em> <BR>
<?php
$blob = $data['blob'];
//$img = stripslashes($data['blob']);
//$img = stripslashes($data['blob']);
// s'il n'y a l'url de l'image, on affiche le contenu
if (empty($blob))
{
$contenu = nl2br(stripslashes($data['contenu']));
echo $contenu;
}
else// sinon on affiche l'image puis le contenu
{
?>
///cest ici que se toruvre le probleme
<img alt="" src="Image.php?ide=$id" height="150" border="2" width="150" />
}
//Nous affichons le lien nous dirigeant vers les commentaires
?>
<br/><em><a href="commentaires.php?news=<?php echo $data['id']; ?>">Commentaires</a></em>
<?php
} // Fin de la boucle des news
?>
2.code de Image.php
<?php
$connect=mysql_connect('localhost','root','');
mysql_select_db('mfa',$connect);
$ide=$_GET['id'] ;
$sql="select * from articles where id=( '" . $ide . "')" ;
$result=mysql_query($sql);
$NombreRow=mysql_num_rows($result);
if ($NombreRow==0) {echo("Pas de données enregistrées");}
else {
while($liste=mysql_fetch_row($result)){
header ("Content-type:image/jpeg ".$liste[4]);
echo $liste[6];
}
}
la table article
article(id,titre,contenu,nomphoto,typephoto,taillephoto,blob,date)
A voir également:
Passage de parametres par url pour affichage de photos
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 10 janv. 2014 à 12:22
Hello,
tu es sur un serveur mutualisé ou dédié ?
Si tu es sur un dédié tu peux par conséquent installer imagick et afficher/manipuler les images à ta guise à partir d'une seule image stockée sur le serveur (excellent en terme de volume des données stockées).
Dans tous les cas je te conseille de bosser la réécriture d'url en définissant des règles dans ton .htaccess, ça t'évitera d'avoir des urls avec les fameux "?" disgracieux et ça améliorera ton référencement.
gaouinformaticien
Messages postés25Date d'inscriptionsamedi 12 juillet 2008StatutMembreDernière intervention10 janvier 2014 10 janv. 2014 à 13:11
J'ai trouvé la réponse à mon problème .
il fallait écrit dans le code de la page qui affiche:
<img alt="" src="Image.php?ide=<?php echo $id; ?>" height="150" border="2" width="150" />
et dans la page image.php
<?php
$connect=mysql_connect('localhost','root','');
mysql_select_db('mfa',$connect);
if (isset($_GET["ide"])) {$art = $_GET["ide"] ; }
$sql="select * from articles where id=('" . $art . "')" ;
$result=mysql_query($sql);
$NombreRow=mysql_num_rows($result);
if ($NombreRow==0) {echo("Pas de données enregistrées");}
else {
while($liste=mysql_fetch_row($result)){
header ("Content-type:image/jpeg ".$liste[4]);
echo $liste[6];
}