Affichage d'une image avec ID

Eléphant du PHP | 257 Messages

05 avr. 2006, 13:47

Bon !
Alors maintenant j'ai un probleme pour afficher les logos !
Pourtant je pense que le script ci dessous est bon (enfin je pense :roll: :
<?php 
// on se connecte à MySQL 
$db = mysql_connect('localhost', 'agence', 'xxxxx'); 

// on sélectionne la base 
mysql_select_db('agences',$db); 

// on crée la requête SQL 
$id = isset($_GET['ID']) ? $_GET['ID'] : 1; 
$sql = 'SELECT ID FROM logo'; 

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
{ 
  ?>  
           <?php echo img src='../upload/logo_agence_$ID' width='111' height='46' border='0'><br><br> 
 <?
} 

// on ferme la connexion à mysql 
mysql_close(); 
?>
:oops:
Modifié en dernier par alexdarcy le 06 avr. 2006, 10:33, modifié 1 fois.

Invité
Invité n'ayant pas de compte PHPfrance

05 avr. 2006, 14:08

salut,

regarde ce que te renvoi la requête pour vérifier si c'est bien ce que tu attends... regarde si ta requête fonctionne sous PHPMyAdmin par exemple en prenant un exemple "bidon" :)

Mammouth du PHP | 768 Messages

05 avr. 2006, 14:09

Alors maintenant j'ai un probleme pour afficher les logos !
ça ne nous aidera pas à comprendre ton problème
$id = isset($_GET['ID']) ? $_GET['ID'] : 1; 
$sql = 'SELECT ID FROM logo'; 
est ce que la requête $sql dépend de ce que l'utilisateur va mettre dans l'URL (exemple: http://site/page.php?id=2) ?
while($data = mysql_fetch_assoc($req)) 
{ 
  ?>   
           <?php echo img src='../upload/logo_agence_$ID' width='111' height='46' border='0'><br><br> 
<? 
} 
si tu souhaites récupérer un champ d'un enregistrement MySQL, utilise $data['nomduchamp']
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphant du PHP | 257 Messages

06 avr. 2006, 10:28

J'ai ceci :
<?php 
// on se connecte à MySQL 
$db = mysql_connect('localhost', 'agence', 'xxxx'); 

// on sélectionne la base 
mysql_select_db('agences',$db); 

// on crée la requête SQL 
$id = isset($_GET['ID']) ? $_GET['ID'] : 1; $sql = 'SELECT ID FROM logo'; 

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
{ 
  ?>  <?php echo img src='../../agences//upload/logo_agence_$data['ID']' width='111' height='46' border='0'>'<br><br>' 
        <?
} 
// on ferme la connexion à mysql 
mysql_close(); 
?>
et voila le message d'erreur affiché:
Parse error: parse error, expecting `','' or `';'' in /var/www/xxxxxxx/rep_agents/agence_z.htm on line 644

comprends po :oops: :oops:

Mammouth du PHP | 768 Messages

06 avr. 2006, 11:20

vérifie cette ligne
  ?>  <?php echo img src='../../agences//upload/logo_agence_$data['ID']' width='111' height='46' border='0'>'<br><br>' 
        <? 
tu t'emmèles les pinceaux avec les quotes (') :P
cette page te donnera des infos sur la concaténation : http://phpdebutant.org/article55.php
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

06 avr. 2006, 11:48

C'est un peu plus qu'un emmelement de pinceau entre les apostrophes et les guillemets, c'est surtout un cafouillage entre php et html, les ouvertures et fermetures de balises php, et la concaténation :)
<? ...
while($data = mysql_fetch_assoc($req)) 
{ 
  ?>  <?php echo img src='../../agences//upload/logo_agence_$data['ID']' width='111' height='46' border='0'>'<br><br>' 
        <? 
} 
?>  
La mise en couleur permet de voir rapidement qu'il y a quand meme pas mal de choses qui clochent ;)

Eléphant du PHP | 257 Messages

06 avr. 2006, 11:54

C'est un peu plus qu'un emmelement de pinceau entre les apostrophes et les guillemets, c'est surtout un cafouillage entre php et html, les ouvertures et fermetures de balises php, et la concaténation :)
<? ...
while($data = mysql_fetch_assoc($req)) 
{ 
  ?>  <?php echo img src='../../agences//upload/logo_agence_$data['ID']' width='111' height='46' border='0'>'<br><br>' 
        <? 
} 
?>  
La mise en couleur permet de voir rapidement qu'il y a quand meme pas mal de choses qui clochent ;)
oui il y a ça : //upload qui est mauvais mais ça ne fontionne pas plus !

:cry:

Mammouth du PHP | 768 Messages

06 avr. 2006, 12:10

while($data = mysql_fetch_assoc($req)) 
{ 
   echo '<img src="../../agences/upload/logo_agence_'.$data['ID'].'" width="111" height="46" border="0"><br/><br/>';
} 
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

06 avr. 2006, 12:14

A la limite, c'était pas joli en effet, mais c'était le moins pire celui là ;)
<?php echo img src='../../agences//upload/logo_agence_$data['ID']' width='111' height='46' border='0'>'<br><br>' 
// echo suivi de l'instruction img, sans guillemets ou apostrophe sera interprété comme une commande... qui n'existe pas naturellement
// img sans balise ouvrante, c'est pas du html... : <img
// $data['ID'] ne sera pas interprété s'il est placé entre apostrophe
// '<br><br>' pas de point virgule à la fin de la ligne
<? // balise php ouverte, alors que la précédente n'est pas fermée
Bon aller, chuis d'une humeur généreuse :
<?
// Si tu veux concatener en php
while($data = mysql_fetch_assoc($req)) {  
  echo '<img src="../../agences/upload/logo_agence_' . $data['ID'] . '" width="111" height="46" border="0"><br><br>';
} 

// Si tu veux faire propre :
while($data = mysql_fetch_assoc($req)) { 
  ?>  
    <img src="../../agences/upload/logo_agence_<?php echo $data['ID']; ?>" width="111" height="46" border="0">
    <br><br>
  <?
} 
?>

Eléphant du PHP | 257 Messages

06 avr. 2006, 13:02

ainsi :
{ 
    // on affiche les informations de l'enregistrement en cours 
    <img src="./upload/logo_agence_<?php echo $data['ID']; ?>" width="111" height="46" border="0"> <br><br>
  echo '<b><a href="agences.php?ID='.$data['ID'].'"><b>'.$data['nom'].'</a></b><br>'.$data['adresse'].'<br><br></b>Mail : 
'.$data['mail'].'<br></b>Tel : '.$data['telephone'].'<br>Fax : '.$data['fax'].'<br><br></b><i>AGENTS : <b><font color="#FF7E00"><br>'.$data['agent1'].'</b></font><br>'.$data['mail1'].'<b><font color="#FF7E00"><br>'.$data['agent2'].'</b></font><br>'.$data['mail2'].'<b><font color="#FF7E00"><br>'.$data['agent3'].'</b></font><br>'.$data['mail3'].'<br>'; 
}
???
:oops:

Mammouth du PHP | 768 Messages

06 avr. 2006, 13:05

cette page te donnera des infos sur la concaténation : http://phpdebutant.org/article55.php

j'insiste, lit cette page :P
si un tableau php dans le style $data[] n'est pas placé entre <?php et ?>, il ne sera jamais interprété !
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphant du PHP | 257 Messages

06 avr. 2006, 13:11

cette page te donnera des infos sur la concaténation : http://phpdebutant.org/article55.php

j'insiste, lit cette page :P
si un tableau php dans le style $data[] n'est pas placé entre <?php et ?>, il ne sera jamais interprété !
oui ça je le sais :cry:
<?php 
// on se connecte à 
MySQL 
$db = mysql_connect('localhost', 'agence', 'xxxx'); 

// on sélectionne la base 
mysql_select_db('agences',$db); 

// on crée la requête SQL 
$id = isset($_GET['ID']) ? $_GET['ID'] : 1; 
$sql = "SELECT ID,nom,adresse,telephone,fax,mail,agent1,mail1,agent2,mail2,agent3,mail3 
    FROM agences_tbl 
    WHERE ID=". $ID; 

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL 
!<br>'.$sql.'<br>'.mysql_error()); 
// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
{ 
    // on affiche les informations de l'enregistrement en cours 
    echo '<img src="./upload/logo_agence_' . $data['ID'] . '" width="111" height="46" border="0"><br><br>';
  <b>echo ' <a 
href="agences.php?ID='.$data['ID'].'"><b>'.$data['nom'].'</a></b><br>'.$data['adresse'].'<br><br></b>Mail : 

'.$data['mail'].'<br></b>Tel : '.$data['telephone'].'<br>Fax : '.$data['fax'].'<br><br></b><i>AGENTS : <b><font 
color="#FF7E00"><br>'.$data['agent1'].'</b></font><br>'.$data['mail1'].'<b><font color="#FF7E00"><br>'.$data['agent2'].'</b></font><br>'.$data['mail2'].'<b><font color="#FF7E00"><br>'.$data['agent3'].'</b></font><br>'.$data['mail3'].'<br>'; 
} 

// on ferme la connexion à mysql 
mysql_close(); 
?>
mais j'ai plutôt un probleme avec echo '

Eléphant du PHP | 257 Messages

06 avr. 2006, 13:30

c'est bien ce que je pensais, maintenant l'image s'affiche bien mais plus les autres infos .. il y a un probleme avec echo'
?>   
    <img src="./upload/logo_agence_<?php echo $data['ID']; ?>" width="111" height="46" border="0"><br><br> 
  <? 
}
 ?> <b>echo ' <a 
href="agences.php?ID='.$data['ID'].'"><b>'.$data['nom'].'</a>
Mumm :oops:

Avatar du membre
ViPHP
ViPHP | 3008 Messages

06 avr. 2006, 13:54

Regardes bien, tu mets du code PHP hors balise PHP...
<img src="./upload/logo_agence_<?php echo $data['ID']; ?>" width="111" height="46" border="0"><br><br> 
<?php
}
?>
<a href="agences.php?ID=<?php echo $data['ID']; ?>"><b><?php echo $data['nom']; ?></b></a>

Eléphant du PHP | 257 Messages

06 avr. 2006, 14:11

fonctionne toujours po voilà ce que j'ai à l'écran (l'image s'affiche bien) :

'.$data['adresse'].'

Mail : '.$data['mail'].'
Tel : '.$data['telephone'].'
Fax : '.$data['fax'].'

AGENTS :
'.$data['agent1'].'
'.$data['mail1'].'
'.$data['agent2'].'
'.$data['mail2'].'
'.$data['agent3'].'
'.$data['mail3'].'
'; } // on ferme la connexion à mysql mysql_close(); ?>

:oops: :oops: