Affichage d'une image à partir d'une url MySQL
Hors ligneMyphp_51 Le 06/04/2008 à 06:31 Profil de Myphp_51 Configuration de Myphp_51

Excuse moi Anthony pour le copier-coller ,

J'ai suit vos explications mais ça marche toujours pas, voici ce que j'ai fait :


<?php  



require('connection.php');




if(isset(
$_GET['id']) AND ctype_digit($_GET['id']))



     $requete mysql_query('SELECT etat FROM projet WHERE id IN(1, 14, 13)') OR die('Erreur de la requête MySQL');  

     mysql_close
();  

     
if(mysql_num_rows($requete) === 0)
     {
          exit;
     }


     $resultat mysql_fetch_object($requete);

     echo '<img src="'.$resultat['etat'].'?id='.$resultat['1'].'" alt="" />';
     echo '<img src="'.$resultat['etat'].'?id='.$resultat['13'].'" alt="" />';
     echo '<img src="'.$resultat['etat'].'?id='.$resultat['14'].'" alt="" />';
       
?>



Merci.
--
Merci
Hors ligneAnthony Le 06/04/2008 à 11:28 Profil de Anthony Configuration de Anthony

Admin
Tu fais un mysql_fetch_object, la bonne méthode pour récupérer des résultats avec mysql_fetch_object ça n'est pas $resultat['X']

MySQL : lire et récupérer des données
--

Hors ligneMyphp_51 Le 06/04/2008 à 20:15 Profil de Myphp_51 Configuration de Myphp_51

Même en $resultat->X , ça marche pas,

C'est vraiment un truc urgent pour moi, prière de m'aider svp.
--
Merci
Hors ligneAnthony Le 06/04/2008 à 23:32 Profil de Anthony Configuration de Anthony

Admin
Tu recopies sans comprendre ... tu ne lis pas ce que je t'envoie ... ton champ s'appelle etat ... donc pourquoi faire $restultat->X ?
--

Hors ligneMyphp_51 Le 07/04/2008 à 00:47 Profil de Myphp_51 Configuration de Myphp_51

Merci Anthony, j'ai lu attentivement la réponse précédente et ça a marché :

Pour récupérer un seul id, ça marche :


<?php  

require('connection.php');


     $requete mysql_query('SELECT etat FROM projet WHERE id=14') OR die('Erreur de la requête MySQL');  

     mysql_close
();  

     
if(mysql_num_rows($requete) === 0)
     {
          exit;
     }


     $r mysql_fetch_object($requete);

     echo '<img src="',$r->etat,'" alt="" />';
 
       
?>


Mais pour récupérer plusieurs id ça pas marché, sauf si je dois répéter le code en haut plusieurs fois, ce qui est pas évident.

Alors j'ai essayé comme ça :


<?php  

require('connection.php');

     $requete mysql_query('SELECT etat FROM projet WHERE id IN(1, 14, 13)') OR die('Erreur de la requête MySQL');  

     mysql_close
();  

     
if(mysql_num_rows($requete) === 0)
     {
          exit;
     }


      while($resultat mysql_fetch_object($requete))
     
     echo '<img src="',$resultat->etat,'?id='.$resultat->id.'" alt="" />';
      
     
}
        
?>


Pour la partie eco, où doit je indiquer l'id pour récupérer les autres images ?

Merci.
--
Merci
Hors ligneAnthony Le 07/04/2008 à 12:41 Profil de Anthony Configuration de Anthony

Admin
Ca ne marche pas probablement car tes id 1, 13 et 14 n'existent pas tous. si tu as l'id 1 qui existe et pas les autres, tu n'auras qu'un enregistrement de retourné. A toi de faire une requête dynamique pour placer les id dans le IN()
--

Hors ligneMyphp_51 Le 07/04/2008 à 14:08 Profil de Myphp_51 Configuration de Myphp_51

Si, les id 1, 13 et 14 existe bien dans ma table

-- 
-- Structure de la table `projet`
-- 

CREATE TABLE `projet` (
  `id` int(11) NOT NULL auto_increment,
  `etat` char(50) character set latin1 collate latin1_general_ci default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;

-- 
-- Contenu de la table `projet`
-- 

INSERT INTO `projet` VALUES (1, 'images/libre.gif');
INSERT INTO `projet` VALUES (14, 'images/libre.gif');
INSERT INTO `projet` VALUES (13, 'images/libre.gif');
        
--
Merci
Hors ligneAnthony Le 07/04/2008 à 16:49 Profil de Anthony Configuration de Anthony

Admin
Entre la requête dans PhpMyAdmin et regarde ce que ça retourne (il faut aller sur l'onglet "SQL" pour pouvoir taper une requête)
--

Hors ligneMyphp_51 Le 07/04/2008 à 23:16 Profil de Myphp_51 Configuration de Myphp_51

La requête s'exécute :


Affichage des enregistrements 0 - 2 (3 total, traitement: 0.0005 sec.)
requête SQL: 
SELECT etat
FROM projet
WHERE id
IN ( 1, 14, 13 )
LIMIT 0 , 30
--
Merci
Hors ligneAnthony Le 08/04/2008 à 00:08 Profil de Anthony Configuration de Anthony

Admin
Ah oui, tu fais un  $requete = mysql_query('SELECT etat FROM projet WHERE id IN(1, 14, 13)') OR die('Erreur de la requête MySQL');  

or tu tentes d'afficher le champ id dans ton résultat, il faut donc faire ceci :

$requete = mysql_query('SELECT id,etat FROM projet WHERE id IN(1, 14, 13)') OR die('Erreur de la requête MySQL');
--

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels