J'utilise easyPHP 1.7
j'ai des soucis pour passer des infos contenues dans une Bdd vers des pages PHP. L'échange de variable ne se passe pas super
index.php
---------
L'appel à la Bdd se fait depuis cette page.
"index.php" appelle une page extérieure, "resize_image.php"
qui retaille les images affichées dans "index.php"
resize_image.php
----------------
cette page retaille les images que "index.php" lui envoie.
La Bdd
------
On considère une base de donnée nommée "content"
Cette Bdd contient entre autre 2 tableux :
- pages
- stories
Dans "pages" on a 2 colones :
- code (ex: news)
- description (ex: les news du moment)
Dans stories on a 9 colones mais ici seule 1 nous intéressent :
- picture (ex: pictures/1.jpg)
################
##
## index.php
##
################
<?php
///////////////////////////////////////////
//
// Ce qui suit marche, sauf lorsque je vous
// indiquerai le contraire
//
///////////////////////////////////////////
include "include_fns.php"; // permet de se connecter à la Bdd
include "header.php"; // entête HTML
$conn = db_connect();
$pages_sql = "select * from pages order by code";
$pages_result = mysql_query($pages_sql, $conn);
while ($pages = mysql_fetch_array($pages_result)) {
$story_sql = "select * from stories
where page = '$pages[code]'
and published is not null
order by published desc";
$story_result = mysql_query($story_sql, $conn);
if (mysql_num_rows($story_result)) {
$story = mysql_fetch_array($story_result);
print "<TABLE BORDER=0 WIDTH=400>";
print "<TR>";
print "<TD ROWSPAN=2 WIDTH=100>";
/////////////////////////////////////////////////
//
// C'est en dessous ou ça coince
//
// dans l'exemple que j'avais voilà ce qu'il y avait mais
// ça faisait des erreurs comme quoi picture n'était pas définie
//
// if ($story[picture])
// print "<IMG SRC=\"resize_image.php?image=$story[picture]\">";
//
// j'ai mis des guillemets en plus pour éviter les erreurs
// mais mes images ne s'affichent pas, j'ai juste des zones
// images avec des croix.
//
/////////////////////////////////////////////////
if ("$story[picture]" )
print "<IMG SRC=\"resize_image.php?image="$story[picture]"\">";
///////////////////////////////////////////////
//
// La à nouveau tout marche pour la suite
//
///////////////////////////////////////////////
print "</TD>";
print "</TR>";
print "</TABLE>";
}
}
include "footer.php"; // pied de page HTML
?>
######################
##
## resize_image.php
##
######################
<?php
if (!$max_width)
$max_width = 80;
if (!$max_height)
$max_height = 60;
$size = GetImageSize($image);
$width = $size[0];
$height = $size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if ( ($width <= $max_width) && ($height <= $max_height) ) {
$tn_width = $width;
$tn_height = $height;
}
else if (($x_ratio * $height) < $max_height) {
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
}
else {
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}
$src = ImageCreateFromJpeg($image);
$dst = ImageCreate($tn_width,$tn_height);
ImageCopyResized($dst, $src, 0, 0, 0, 0, $tn_width,$tn_height,$width,$height);
header("Content-type: image/jpeg" );
ImageJpeg($dst, null, -1);
ImageDestroy($src);
ImageDestroy($dst);
?>
Si vous avez des idées elles seront les bienvenues
Car moi c'est pas encore ça