[PHP] Html avec PHP

Résolu/Fermé
AzRaElDGT Messages postés 57 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 25 octobre 2008 - 6 sept. 2007 à 08:56
AzRaElDGT Messages postés 57 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 25 octobre 2008 - 6 sept. 2007 à 17:11
Ca fait 3 jours que je prend la tete dessus et sans ca je sui completement bloqué...

Donc:

La 1er partie, c'est la connection et la requete:
<?php
//connection a la base
include("include/connection.php3");
$id= $_GET['lot'];
$sql ="SELECT * FROM appartement where id='".$id."'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($data=mysql_fetch_array($req)




La 2eme partie redimentionne des images:
function redimage($img_src,$dst_w,$dst_h)
{
   // Lit les dimensions de l'image
   $size = GetImageSize($img_src); 
   $src_w = $size[0]; $src_h = $size[1];
   // Teste les dimensions tenant dans la zone
   $test_h = round(($dst_w / $src_w) * $src_h);
   $test_w = round(($dst_h / $src_h) * $src_w);
   // Si Height final non précisé (0)
   if(!$dst_h) $dst_h = $test_h;
   // Sinon si Width final non précisé (0)
   elseif(!$dst_w) $dst_w = $test_w;
   // Sinon teste quel redimensionnement tient dans la zone
   elseif($test_h>$dst_h) $dst_w = $test_w;
   else $dst_h = $test_h;

   // Affiche les dimensions optimales
   echo "WIDTH=".$dst_w. "HEIGHT=".$dst_h;
}
?>

<IMG SRC="upload/P_228.jpg" <? redimage("upload/P_228.jpg",100,100)?>>


Ces 2 code fonctionnes tres bien mais lorsque j'essais de les combiner c'est une catastrophe...

<IMG SRC="<? upload/'.$data['photo1'].' ?>" <? redimage('upload/'.$data['photo1'],100,100) ?>>


J'ai essaié toute un tas de choses et rien n'y fait...
A voir également:

9 réponses

Dinheru Messages postés 1019 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 17 avril 2009 67
6 sept. 2007 à 09:50
Salut c'est encore moi ;-)

J'ai bein l'impression que tu te mélange les pinceaux avec les chaines et les variables !

essaye comme ça :
<?php
print '<IMG SRC="./upload/'.$data['photo1'].'" '.redimage('upload/'.$data['photo1'].'',100,100).'>';
?>

0
AzRaElDGT Messages postés 57 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 25 octobre 2008 2
6 sept. 2007 à 10:47
Oui y a du mieux mais ca marche touours pas...

Warning: getimagesize(upload/): failed to open stream: Permission denied in c:\program files\easyphp1-8\www\pragma\result.php on line 113

Warning: Division by zero in c:\program files\easyphp1-8\www\pragma\result.php on line 116

Warning: Division by zero in c:\program files\easyphp1-8\www\pragma\result.php on line 117
WIDTH=100HEIGHT=0

il me dit qu'il n'arrive pas a ouvir l'image ou qu'il ne la trouve pas car l'url est: "upload/" ca veut donc dir que $data['photo1'] est nul.

donc j'ai essayé ca:

{
echo '<td style="" valign="top" ><img src="upload/'.$data['photo1'].'" alt="Lancement PragmA" width="336" height="200" style=""/></td>';
}


Et ca marche....

Y a des jours ou on est blasé mais 3 d'affilé ca fait long...
0
Dinheru Messages postés 1019 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 17 avril 2009 67
6 sept. 2007 à 11:49
alors retravaiilons un peu ta fonction comme ceci :

function redimage($img_src,$dst_w,$dst_h)
{
// Lit les dimensions de l'image
list($width, $height, $type, $attr) = getimagesize($monImage);
$src_w = $width; $src_h = $height;
// Teste les dimensions tenant dans la zone
$test_h = round(($dst_w / $src_w) * $src_h);
$test_w = round(($dst_h / $src_h) * $src_w);
// Si Height final non précisé (0)
if(!$dst_h) $dst_h = $test_h;
// Sinon si Width final non précisé (0)
elseif(!$dst_w) $dst_w = $test_w;
// Sinon teste quel redimensionnement tient dans la zone
elseif($test_h>$dst_h) $dst_w = $test_w;
else $dst_h = $test_h;

// Affiche les dimensions optimales
print 'width="'.$dst_w.'" height="'.$dst_h.'"
}

ça devrait enlever les problème de division par 0.

Après pour l'appelle de la fonction, je vois pas pourquoi $data['photo1'] serait vide.
Essaye d'afficher le contenu de cette variable juste avant l'image pour voir si elle contient bien ce qu'il faut.
Si elle est vide, il y a peut-être un problème sur ta requète.
0
AzRaElDGT Messages postés 57 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 25 octobre 2008 2
6 sept. 2007 à 11:57
Ok je vais essayer, mais mais dans ta fonction pourrais tu me dire a quoi est égal la variable: $monImage ?

A vu d'oiel je dirais que c'est la meme valeur que: $data['photo1']

Az
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dinheru Messages postés 1019 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 17 avril 2009 67
6 sept. 2007 à 11:59
OUps erreur de ma part ;->

la ligne exacte est : list($width, $height, $type, $attr) = getimagesize($img_src);
0
AzRaElDGT Messages postés 57 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 25 octobre 2008 2
6 sept. 2007 à 13:03
Il me dit qu'il y a une erreur sur cette ligne:

 print 'width="'.$dst_w.'" height="'.$dst_h.'"
(manque un ' )

J'ai donc essaié:
 print 'width="'.$dst_w.'" height="'.$dst_h.'"''
(toujours une erreur)

j'ai donc essaié ca:

 print width="'.$dst_w.'" height="'.$dst_h.'"
(encore une erreur)

Et puis j'ai fais ca:
print "WIDTH=".$dst_w. "HEIGHT=".$dst_h;


Ca marche mais on revient au point de départ.

Soit:

Warning: getimagesize(upload/): failed to open stream: Permission denied in c:\program files\easyphp1-8\www\pragma\result.php on line 115

Warning: Division by zero in c:\program files\easyphp1-8\www\pragma\result.php on line 118

Warning: Division by zero in c:\program files\easyphp1-8\www\pragma\result.php on line 119
WIDTH=100HEIGHT=0

J'ai effacé ca:
<?php
print '<IMG SRC="./upload/'.$data['photo1'].'" '.redimage('upload/'.$data['photo1'].'',100,100).'>';
?>

Pour tester ma variable $data['photo1'] et j'ai donc remplacé par ca:
echo '<img src="upload/'.$data['photo1'].'" width="336" height="200" style=""/>';


Aprés la fonction "redimage" et la ca me dit qu'il y a une erreur sur cette ligne:
function redimage($img_src,$dst_w,$dst_h)

Ce qui semble normal.

Mais j'ai essaié de la placer ca:
echo '<img src="upload/'.$data['photo1'].'" width="336" height="200" style=""/>';

Entre ma requette et la fonction "redimage" et la! La photo s'affiche... :/
0
AzRaElDGT Messages postés 57 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 25 octobre 2008 2
6 sept. 2007 à 14:32
Bon y a du nouveau...

<?php
//connection a la base
include("include/connection.php3"); 
$id= $_GET['lot'];
$sql ="SELECT * FROM appartement where id='".$id."'"; 
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
while ($data=mysql_fetch_array($req))

$monimage= "upload/".$data['photo1'];

function redimage($img_src,$dst_w,$dst_h) 
{
   // Lit les dimensions de l'image
   $size = GetImageSize($img_src);  
   $src_w = $size[0]; $src_h = $size[1];
   // Teste les dimensions tenant dans la zone
   $test_h = round(($dst_w / $src_w) * $src_h);
   $test_w = round(($dst_h / $src_h) * $src_w);
   // Si Height final non précisé (0)
   if(!$dst_h) $dst_h = $test_h;
   // Sinon si Width final non précisé (0)
   elseif(!$dst_w) $dst_w = $test_w;
   // Sinon teste quel redimensionnement tient dans la zone
   elseif($test_h>$dst_h) $dst_w = $test_w;
   else $dst_h = $test_h;

   // Affiche les dimensions optimales
   echo "WIDTH=".$dst_w." HEIGHT=".$dst_h;
}
?>  
<IMG SRC="<? $monimage?>" <? redimage($monimage,100,100)?>> 


Avec ce code redimage fonctionne, mais pas image screen...

On y est presque!!

Az
0
Dinheru Messages postés 1019 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 17 avril 2009 67
6 sept. 2007 à 14:40
Comme quoi faut pas désespérer ^^

Mais qu'appelles-tu "image screen" au juste ?
si c'est le SRC c'est source pas screen

donc essaye ça : <IMG SRC="<? print $monimage?>" <? redimage($monimage,100,100)?>>
0
AzRaElDGT Messages postés 57 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 25 octobre 2008 2
6 sept. 2007 à 17:11
Bravo a toi c'est ca!!!

Victoir au bout de 3 jours de combat acharné!!

Merci beaucoup

;)

Le code final est le suivant:

<?php
//connection a la base
include("include/connection.php3"); 
$id= $_GET['lot'];
$sql ="SELECT * FROM appartement where id='".$id."'"; 
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
while ($data=mysql_fetch_array($req))

$monimage= "upload/".$data['photo1'];

function redimage($img_src,$dst_w,$dst_h) 
{
   // Lit les dimensions de l'image
   $size = GetImageSize($img_src);  
   $src_w = $size[0]; $src_h = $size[1];
   // Teste les dimensions tenant dans la zone
   $test_h = round(($dst_w / $src_w) * $src_h);
   $test_w = round(($dst_h / $src_h) * $src_w);
   // Si Height final non précisé (0)
   if(!$dst_h) $dst_h = $test_h;
   // Sinon si Width final non précisé (0)
   elseif(!$dst_w) $dst_w = $test_w;
   // Sinon teste quel redimensionnement tient dans la zone
   elseif($test_h>$dst_h) $dst_w = $test_w;
   else $dst_h = $test_h;

   // Affiche les dimensions optimales
   echo "WIDTH=".$dst_w." HEIGHT=".$dst_h;
}
?>  
<IMG SRC="<? print $monimage?>" <? redimage($monimage,100,100)?>>


Et il marche!!!!

Az
0