Page 1 sur 2

Affichage d'une image avec ID

Posté : 05 avr. 2006, 13:47
par alexdarcy
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:

Posté : 05 avr. 2006, 14:08
par Invité
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" :)

Posté : 05 avr. 2006, 14:09
par mario
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']

Posté : 06 avr. 2006, 10:28
par alexdarcy
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:

Posté : 06 avr. 2006, 11:20
par mario
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

Posté : 06 avr. 2006, 11:48
par Ryle
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 ;)

Posté : 06 avr. 2006, 11:54
par alexdarcy
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:

Posté : 06 avr. 2006, 12:10
par mario
while($data = mysql_fetch_assoc($req)) 
{ 
   echo '<img src="../../agences/upload/logo_agence_'.$data['ID'].'" width="111" height="46" border="0"><br/><br/>';
} 

Posté : 06 avr. 2006, 12:14
par Ryle
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>
  <?
} 
?>

Posté : 06 avr. 2006, 13:02
par alexdarcy
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:

Posté : 06 avr. 2006, 13:05
par mario
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é !

Posté : 06 avr. 2006, 13:11
par alexdarcy
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 '

Posté : 06 avr. 2006, 13:30
par alexdarcy
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:

Posté : 06 avr. 2006, 13:54
par charabia
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>

Posté : 06 avr. 2006, 14:11
par alexdarcy
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: