Affichage image de la BDD dans un popup

Résolu
cs_DjChat
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010
- 9 mai 2008 à 17:13
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
- 14 mai 2008 à 13:52
Bonjour a tous, je voudrais crée un lien hypertext qui m'ouvre un popup d'une image qui est stoqué dans une base de donnée.

Mon lien popup fonctionne quand j'le met dans mon html, mais seulment avec l'adresse d'une page, vu que pour recuperer l'image dans la Bdd il me faut une variable.

Donc quand j' met le lien popup dans mon script php avec la variable qui a l'image de ma Bdd ca ne fonctionne pas, j'pense que j'ai du mal faire ma syntaxe du lien hypertext.

Pour info mon image est stoqué dans la bdd en type blob, j'pense que c'est le bon format de stoquage...


"menu_gauche">
<?php
 
$serveur ="localhost";
$login = "root";
$mot_passe = "";
$base = "artkateo";
 
 
 
$connexion = mysql_pconnect($serveur, $login, $mot_passe) or die ("impossible de se connecter a MySQL : ".mysql_error());
 
 
 
$mabase = mysql_select_db($base) or die ("impossible de ce connecter ma table : ".mysql_error());
$requete = "select * from actualite";

$resultat = mysql_query($requete);

while($row = mysql_fetch_row($resultat))

{

$titre = $row[1];
 
$date = $row[2];

$lieu = $row[3];
 
$resume = $row[4];

$image = $row[5];

 

echo '
'.$titre.'
';

echo '
'.$date.'
';

echo '
'.$lieu.'
';

echo '
'.$resume.'
';
 
echo '
'"#" onClick="window.open('.$image.','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=yes, resizable=1, copyhistory=0, menuBar=0, width=460, height=470');return(false)">Voir image'
';
 
}
 
 
 
?>
 
 
 



<?php
 
session_start();
 
 
$serveur ="localhost";
$login = "root";
$mot_passe = "";
$base = "artkateo";
 
 
$connexion = mysql_pconnect($serveur, $login, $mot_passe) or die ("impossible de se connecter a MySQL : ".mysql_error());
 
$mabase = mysql_select_db($base) or die ("impossible de ce connecter ma table : ".mysql_error());
 
switch($_POST['action'])
 
{
case"ajout_actualite" :

$requete = "SELECT * FROM actualite WHERE (id_actualite >= 1)";

$result = mysql_query($requete) or die(mysql_error());

$row=false;

while($row = mysql_fetch_array($result)){

$requete = "DELETE FROM actualite WHERE (id_actualite >= 1)";

$resultat = mysql_query($requete) or die(mysql_error());

break;

}if(!$row);

$extensions_valides = array('jpg' , 'jpeg');
//1. strrchr renvoie l'extension avec le .
//2. substr(chaine,1) ignore le premier caractère de chaine
//3. strtolower met l'extension en minuscule
$extension_upload = strtolower(  substr(  strrchr($_FILES['image']['name'], '.')  ,1)  );
if( in_array($extension_upload,$extensions_valides))
 

{

$img_blob = file_get_contents ($_FILES['image']['tmp_name']);

$requete = "INSERT INTO actualite (titre, date, lieu, resume, img) VALUES
('".$_POST['titre']."','".$_POST['date']."','".$_POST['lieu']."','".$_POST['resume']."','".addslashes ($img_blob)."')";

$resultat = mysql_query($requete) or die(mysql_error());

if($resultat == TRUE)

{

echo "L'insertion a bien été effectué";

echo '<SCRIPT LANGUAGE="JavaScript">
function redirect() {
window.location="corine.php"
}
setTimeout("redirect()",3000); 		  </SCRIPT>';

}

else

{

echo "L'insertion a échoué";

echo '<SCRIPT LANGUAGE="JavaScript">
function redirect() {
window.location="actualite.php"
}
setTimeout("redirect()",3000); 		  </SCRIPT>';
        
        }

}

else

{
echo "Erreur le fichier que vous telecharger n'est pas dans le bon format";

echo '<SCRIPT LANGUAGE="JavaScript">
function redirect() {
window.location="actualite.php"
}
setTimeout("redirect()",3000); 		  </SCRIPT>';

}

break;
}
 
mysql_close();
 
?>



Merci d'avance!!! ;)

12 réponses

nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
14 mai 2008 à 11:52
as tu une erreur ?
tu as essayé de débugger a coup de echo ?
en javascript on aurai débuggé a coup de alert mais la on va le faire avec un echo !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
3
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
9 mai 2008 à 17:31
Salut,

c'est l'image ou l'adresse de l'image que tu a stoqué en blob ?

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

13 mai 2008 à 09:59
C'est l'image...
0
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
13 mai 2008 à 16:24
ok bon ba je vois pas !

Si t'a besoin d'aide, MP !!!
Un forum...
0

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

Posez votre question
cs_DjChat
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

13 mai 2008 à 17:28
J'viens de laisser tomber et j'ai decidé de la stoquer dans un dossier, mais j'aimerai renommer l'image une fois uploader pour que quand je fait une requete pour effacer l'image elle ai toujours le meme nom...

Je sais qui a la fonction rename, mais j'vois pas comment l'employer avec $_files, si jmaias vous avez une idée...

case "ajout_actualite" :
  
  
    $requete = "SELECT * FROM actualite WHERE (id_actualite >= 1)";
  
  
  $result = mysql_query($requete) or die(mysql_error());
   
    
    $row=false;
    
  while ($row = mysql_fetch_array($result)) {
  
      $requete = "DELETE FROM actualite WHERE (id_actualite >= 1)";
    
    $resultat = mysql_query($requete) or die(mysql_error());
    
   
    
   break; 
   
  }if(!$row);
  
    $type=$_FILES['image']['type'];
    
    
    if(($type!="image/jpeg")&&($type!="image/pjpeg"))
  {
  
  echo "Erreur le fichier que vous telecharger n'est pas dans le bon format";
    
    echo '<SCRIPT LANGUAGE="JavaScript">
          function redirect() {
       window.location="actualite.php"
      }
      setTimeout("redirect()",3000);     </SCRIPT>';
  
  
  }
  else
  {
  
  
  
  $image_destination = "../image_actu/".$_FILES['image']['name'];
      $resultat1 = move_uploaded_file($_FILES['image']['tmp_name'],$image_destination);
      
    
    $requete = "INSERT INTO actualite (titre, date, lieu, resume) VALUES
    ('".$_POST['titre']."','".$_POST['date']."','".$_POST['lieu']."','".$_POST['resume']."')";
    
    $resultat = mysql_query($requete) or die(mysql_error());
    
    if($resultat == TRUE)
  
  {
  
  echo "L'insertion a bien été effectué";
  
  /*echo '<SCRIPT LANGUAGE="JavaScript">
        function redirect() {
     window.location="corine.php"
    }
    setTimeout("redirect()",3000);     </SCRIPT>';*/
  
  }
  
  else
  
  {
  
  echo "L'insertion a échoué";
  
  echo '<SCRIPT LANGUAGE="JavaScript">
        function redirect() {
     window.location="actualite.php"
    }
    setTimeout("redirect()",3000);     </SCRIPT>';
       
        }    
      
  
  }
  
  
  break;


 
0
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
13 mai 2008 à 17:34
tu a essayé avec move_uploaded_file() ?

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

13 mai 2008 à 20:42
Euh, j'vois pas comment j'peux renommer avec cette fonction, j'l'utilise mais...

Peut tu m'éclairer?
0
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
13 mai 2008 à 21:38
je crois que c'est pour déplacer, je me suis trompé, ba je vais voir, a demain à 12 heure !

bonne nuit

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

14 mai 2008 à 09:36
Ok, merci!!! ;)
0
cs_DjChat
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

14 mai 2008 à 11:30
C'est bon j'ai trouvé:

$image_destination = "../image_actu/".$_FILES['image']['name'];

Tu change $_FILES['image']['name'] par le nom que tu veux.

ex : $image_destination = "../image_actu/monimage.jpg";

Par contre la j'ai voulu faire une requete que quand valide mon formulaire ca me supprime l'ancienne image, j'ai utilisée la fonction unlink(), mais ca ne fonctionne pas, j'pense que je dois mal l'utiliser...

Avez vous une idée ou une autre methode?

case "ajout_actualite" :


$requete = "SELECT * FROM actualite WHERE (id_actualite >= 1)";


$result = mysql_query($requete) or die(mysql_error());


$row=false;

while ($row = mysql_fetch_array($result)) {

$requete = "DELETE FROM actualite WHERE (id_actualite >= 1)";

$resultat = mysql_query($requete) or die(mysql_error());

unlink(../image_actu/actualite.jpg);


break;

}if(!$row);

$type=$_FILES['image']['type'];


if(($type!="image/jpeg")&&($type!="image/pjpeg")) { echo "Erreur le fichier que vous telecharger n'est pas dans le bon format";

echo '<SCRIPT LANGUAGE="JavaScript">functionredirect(){window.location="actualite.php"}setTimeout("redirect()",3000);</SCRIPT>';


}
else
{



$image_destination = "../image_actu/actualite.jpg";

$resultat1 = move_uploaded_file($_FILES['image']['tmp_name'],$image_destination);







$requete = "INSERT INTO actualite (titre, date, lieu, resume) VALUES
('".$_POST['titre']."','".$_POST['date']."','".$_POST['lieu']."','".$_POST['resume']."')";

$resultat = mysql_query($requete) or die(mysql_error());

if($resultat == TRUE)

{

echo "L'insertion a bien été effectué";

/*echo '<SCRIPT LANGUAGE="JavaScript">functionredirect(){window.location="corine.php"}setTimeout("redirect()",3000);</SCRIPT>';*/

}

else

{

echo "L'insertion a échoué";

echo '<SCRIPT LANGUAGE="JavaScript">functionredirect(){window.location="actualite.php"}setTimeout("redirect()",3000);</SCRIPT>';

}


}


break;
0
cs_DjChat
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

14 mai 2008 à 13:40
C'est bon, vu que l'image a chaque fois le meme nom quand j'upload une nouvelle elle ecrase l'ancienne automatqment...

Merci pour ton aide!!! ;)
0
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
14 mai 2008 à 13:52
de rien a++

Si t'a besoin d'aide, MP !!!
Un forum...
0