[PHP] Html avec PHP

Résolu
AzRaElDGT Messages postés 57 Statut Membre -  
AzRaElDGT Messages postés 57 Statut Membre -
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...
Configuration: Windows XP
Firefox 2.0.0.6

9 réponses

  1. Dinheru Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   67
     
    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
  2. AzRaElDGT Messages postés 57 Statut Membre 2
     
    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
  3. Dinheru Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   67
     
    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
  4. AzRaElDGT Messages postés 57 Statut Membre 2
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Dinheru Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   67
     
    OUps erreur de ma part ;->

    la ligne exacte est : list($width, $height, $type, $attr) = getimagesize($img_src);
    0
  7. AzRaElDGT Messages postés 57 Statut Membre 2
     
    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
  8. AzRaElDGT Messages postés 57 Statut Membre 2
     
    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
  9. Dinheru Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   67
     
    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
  10. AzRaElDGT Messages postés 57 Statut Membre 2
     
    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