Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2646 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  EasyPHP 1.7 + Acces à une BDD + échange de variable sans formulaire

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

EasyPHP 1.7 + Acces à une BDD + échange de variable sans formulaire

n°683740
alkor34
Posté le 25-03-2004 à 13:25:59  profilanswer
 

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  :fou:  
 
 
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  :fou:  :hello:  
//
// 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  :jap:  
Car moi c'est pas encore ça  :??:    

mood
Publicité
Posté le 25-03-2004 à 13:25:59  profilanswer
 

n°683759
knemo
Posté le 25-03-2004 à 13:48:22  profilanswer
 

as tu essayé :
 
$story["PICTURE"]
 
(par contre si tu le mets dans une chaine je crois qu'il faut mettre des \ mais pour être sûr, passe par une varaible intermédiaire simple
 
[je pense que ça doit être ça]
PS : jsuis pas sûr mais je crois que les majuscules ça a de l'importance

n°683853
ratibus
Posté le 25-03-2004 à 14:42:31  profilanswer
 

Ca ça marche (tu peux éventuellement avoir un Notice) :

Code :
  1. if ($story['picture'])
  2. print "<IMG SRC=\"resize_image.php?image=$story[picture]\">";


 
pour le script resize_image.php

Code :
  1. <?php
  2. if (!$_GET['max_width'])
  3.   $max_width = 80;
  4. if (!$_GET['max_height'])
  5.   $max_height = 60;
  6. $size = GetImageSize($_GET['image']);
  7. $width = $size[0];
  8. $height = $size[1];
  9. $x_ratio = $max_width / $width;
  10. $y_ratio = $max_height / $height;
  11. if ( ($width <= $max_width) && ($height <= $max_height) ) {
  12.   $tn_width = $width;
  13.   $tn_height = $height;
  14. }
  15. else if (($x_ratio * $height) < $max_height) {
  16.   $tn_height = ceil($x_ratio * $height);
  17.   $tn_width = $max_width;
  18. }
  19. else {
  20.   $tn_width = ceil($y_ratio * $width);
  21.   $tn_height = $max_height;
  22. }
  23. $src = ImageCreateFromJpeg($_GET['image']);
  24. $dst = ImageCreate($tn_width,$tn_height);
  25. ImageCopyResized($dst, $src, 0, 0, 0, 0, $tn_width,$tn_height,$width,$height);
  26. header("Content-type: image/jpeg" );
  27. ImageJpeg($dst, null, -1);
  28. ImageDestroy($src);
  29. ImageDestroy($dst);
  30. ?>


Message édité par ratibus le 25-03-2004 à 14:42:48
n°684157
bird80
Posté le 25-03-2004 à 17:40:40  profilanswer
 

Code :
  1. if ($story["picture"])
  2.     print "<IMG SRC='resize_image.php?image=".$story ["picture"]."'>";


 
ça ca marche à condition que $story soit defini correctement.


Message édité par bird80 le 25-03-2004 à 17:41:09
n°684213
alkor34
Posté le 25-03-2004 à 18:33:44  profilanswer
 

A mon avis le souci vient de "resize_image.php" :
 
Dans tous les cas donnés y'a pas d'erreur, c'est sur.
Mais j'ai tjs mes images avec des croix à l'intérieur.
 
Snif et pourtant dans le code HTML de "index.php" j'ai bien :
<IMG SRC="resize_image.php?image=pictures/1.jpg">
 
NB : Si je mets uniquement ce qui suit l'image s'affiche :
<IMG SRC="pictures/1.jpg">
 
=> Donc le souci c'est probablement bien "resize_image.php"
 
 
Alors j'ai essayé un autre truc mais sans succès non plus :
 
######################  
##  
## resize_image.php  
##  
######################  
 
<?php
 
  $image = $_GET['image'];
 
//  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);
     
  ?>
 
 
Heuuu ça ne pourrait pas venir de EasyPHP 1.7 par hasard ?
Du style une extension PHP non activée ?
 
Et encore merci les gars ;-D


Message édité par alkor34 le 25-03-2004 à 18:37:33
n°684489
ratibus
Posté le 25-03-2004 à 23:35:12  profilanswer
 

essaie d'aller sur l'url resize_image.php?image=pictures/1.jpg pour voir si t'as des erreurs (vu que apparement l'image n'est pas générée par GD)

n°684766
alkor34
Posté le 26-03-2004 à 11:06:15  profilanswer
 

--------------------
    Aujourd'hui
   Ca fonctionne
--------------------
 
Bon c'est à n'y rien comprendre, ce matin ça marche.
Pourtant j'avais bien enregistré mes pages après modif + redémarré plusieurs fois EasyPHP 1.7, bref ???
 
En tous cas, merci tout le monde ;-D

n°684779
jagstang
Pa Capona ಠ_ಠ
Posté le 26-03-2004 à 11:16:43  profilanswer
 

:heink:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  EasyPHP 1.7 + Acces à une BDD + échange de variable sans formulaire

 

Sujets relatifs
Additionner des case de mon formulaire ?[php] probleme upload fichier par formulaire
Petite question sur formulaire ..Envoie de fichier et droit d'accés
acces et vb petite question ^^Modifier le Subject dans un formulaire html ?
Variable aleatoire[vba] variable globale - recherche exorciste
Validation d'un formulaire par un menu déroulant .[Help]Probleme Formulaire a envoyer par mail
Plus de sujets relatifs à : EasyPHP 1.7 + Acces à une BDD + échange de variable sans formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR