scipt php, inserer un lien en fonction de la table

scipt php, inserer un lien en fonction de la table - PHP - Programmation

Marsh Posté le 27-05-2003 à 11:06:57    

Bonjour,
 
Dans une table de mysql, j'ai une colonne "lien" dans laquelle se trouve des "http://...".
Dans un tableau j'affiche toute les lignes de la table et dans la colonne lien, je ne veux pas afficher "hhtp..." mais "lien" qui emmene sur le lien quand on clique.
J'ai l'impression de ne pas etre loin mais j'y arrive pas.
 

....
echo "</td><td>"; echo $tableau[$compteur][6];
echo "</td><td>"; echo $tableau[$compteur][7];
echo "</td><td>"; echo $tableau[$compteur][8];
[#0000ff]echo "</td><td>"; ?> <a href=<? echo "$tableau[$compteur][10]" ?>>lien</a>[/#0000ff]


Si je fais un affichage normal (comme 6,7,8 par ex), ca me met bien "http://...."


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 27-05-2003 à 11:06:57   

Reply

Marsh Posté le 27-05-2003 à 11:14:40    

bodbod a écrit :

Bonjour,
 
Dans une table de mysql, j'ai une colonne "lien" dans laquelle se trouve des "http://...".
Dans un tableau j'affiche toute les lignes de la table et dans la colonne lien, je ne veux pas afficher "hhtp..." mais "lien" qui emmene sur le lien quand on clique.
J'ai l'impression de ne pas etre loin mais j'y arrive pas.
 

....
echo "</td><td>"; echo $tableau[$compteur][6];
echo "</td><td>"; echo $tableau[$compteur][7];
echo "</td><td>"; echo $tableau[$compteur][8];
[#0000ff]echo "</td><td>"; ?> <a href=<? echo "$tableau[$compteur][10]" ?>>lien</a>[/#0000ff]


Si je fais un affichage normal (comme 6,7,8 par ex), ca me met bien "http://...."


Mets un ';' à la fin de ton echo....

Reply

Marsh Posté le 27-05-2003 à 11:15:04    

Essaie avec :
 

<?php echo "<a href=\"" . $tableau[$compteur][10] . "\">lien</a>"; ?>


Message édité par Cherrytree le 27-05-2003 à 11:15:34

---------------
Le site de ma maman
Reply

Marsh Posté le 27-05-2003 à 11:17:15    

Le lien est toujours le meme  :sweat:  
 
Et il fini toujours par ...do/Array[10]


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 27-05-2003 à 11:18:53    

Cherrytree a écrit :

Essaie avec :
 

<?php echo "<a href=\"" . $tableau[$compteur][10] . "\">lien</a>"; ?>



Euh ca sert a quoi de concaténer????
C'est pas tres clair...

Reply

Marsh Posté le 27-05-2003 à 11:19:36    

bodbod a écrit :

Le lien est toujours le meme  :sweat:  
 
Et il fini toujours par ...do/Array[10]

Tu peux nous mettre ton code....
Avec les requêtes et tout....

Reply

Marsh Posté le 27-05-2003 à 11:19:46    

Voici ma facon de proceder :

$compteur=0;
while (list($variable, je les mets toutes) = mysql_fetch_row($result))
{
 
  $tableau[$compteur][1]=$variable1;
  $tableau[$compteur][2]=$variable2;
  ......
  $tableau[$compteur][10]=$lien;
  $compteur++;
}  
 
for ($compteur=0;$compteur <count($tableau);$compteur++)
{
   echo "<tr bgcolor=#FFEBD7><td>"; echo $tableau[$compteur][1];
   echo "</td><td>"; echo $tableau[$compteur][2];
   echo "</td><td>"; echo $tableau[$compteur][3];
   echo "</td><td>"; echo $tableau[$compteur][4];
   echo "</td><td>"; echo $tableau[$compteur][5];
   echo "</td><td>"; echo $tableau[$compteur][6];
   echo "</td><td>"; echo $tableau[$compteur][7];
   echo "</td><td>"; echo $tableau[$compteur][8];
   echo "</td><td>"; echo $tableau[$compteur][10];
   echo "</td><td>"; ?> <a href=<? echo "$tableau[$compteur][10]" ; ?>>lien</a>


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 27-05-2003 à 11:20:56    

harrysauce a écrit :

Euh ca sert a quoi de concaténer????
C'est pas tres clair...


A faire style.


---------------
Le site de ma maman
Reply

Marsh Posté le 27-05-2003 à 11:21:26    

harrysauce a écrit :

Tu peux nous mettre ton code....
Avec les requêtes et tout....


J'abonde. C'est pas ton affichage qui chie, c'est ta récup.


---------------
Le site de ma maman
Reply

Marsh Posté le 27-05-2003 à 11:23:06    

harrysauce a écrit :

<?php echo "<a href=\"" . $tableau[$compteur][10] . "\">lien</a>"; ?>

Ca marche  :bounce:  
merci ;)
Pas contre je sais pas trop pourquoi il fallait mettre href=\"". et le ."\" ??


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 27-05-2003 à 11:23:06   

Reply

Marsh Posté le 27-05-2003 à 11:25:00    

bodbod a écrit :

Voici ma facon de proceder :

$compteur=0;
while (list($variable, je les mets toutes) = mysql_fetch_row($result))
{
 
  $tableau[$compteur][1]=$variable1;
  $tableau[$compteur][2]=$variable2;
  ......
  $tableau[$compteur][10]=$lien;
  $compteur++;
}  
 
for ($compteur=0;$compteur <count($tableau);$compteur++)
{
   echo "<tr bgcolor=#FFEBD7><td>"; echo $tableau[$compteur][1];
   echo "</td><td>"; echo $tableau[$compteur][2];
   echo "</td><td>"; echo $tableau[$compteur][3];
   echo "</td><td>"; echo $tableau[$compteur][4];
   echo "</td><td>"; echo $tableau[$compteur][5];
   echo "</td><td>"; echo $tableau[$compteur][6];
   echo "</td><td>"; echo $tableau[$compteur][7];
   echo "</td><td>"; echo $tableau[$compteur][8];
   echo "</td><td>"; echo $tableau[$compteur][10];
   echo "</td><td>"; ?> <a href=<? echo "$tableau[$compteur][10]" ; ?>>lien</a>




C'est du n'importe quoi ton truc!!!
Deja tes balises <td></td> ne sont pas bien placés, ensuite, y'a quand meme moyen de faire ca plus simplement (et surtout plus clairement parce que ton code c'est le foutoir!!!)

Code :
  1. while ($liens = mysql_fetch_row($result)){
  2.    echo "<tr bgcolor=#FFEBD7><td>$liens[1]</td>";
  3.    echo "<td>$liens[2]</td>";
  4.    ....
  5.    echo "<td><a href=\"$liens[10]\">lien</a></td>";
  6.    echo "</tr>";
  7. }


Message édité par harrysauce le 27-05-2003 à 11:27:19
Reply

Marsh Posté le 27-05-2003 à 11:26:08    

Reply

Marsh Posté le 27-05-2003 à 11:26:20    

bodbod a écrit :

Ca marche  :bounce:  
merci ;)
Pas contre je sais pas trop pourquoi il fallait mettre href=\"". et le ."\" ??

c'est cherrytree qui l'a ecrit, pas moi...
Et c'est pas tres beau comme truc, et fait plutot comme je te montre au dessus c'est bien plus propre...

Reply

Marsh Posté le 27-05-2003 à 11:26:42    

ya aussi le fait que les tablo n'aiimen po être afiché comme ca.
 
echo $tableau[$compteur][10];

Reply

Marsh Posté le 27-05-2003 à 11:27:29    

Reply

Marsh Posté le 27-05-2003 à 11:28:20    

DocWario a écrit :

ya aussi le fait que les tablo n'aiimen po être afiché comme ca.
 
echo $tableau[$compteur][10];

surtout que ca ne sert a rien du tout!!!!

Reply

Marsh Posté le 27-05-2003 à 11:30:14    

ben y t'a repondu n'importe quoi.....
 
EDIT : regarde ma methode et dis moi si c'est pas plus lisible/simple....


Message édité par harrysauce le 27-05-2003 à 11:30:49
Reply

Marsh Posté le 27-05-2003 à 11:33:41    

bodbod a écrit :

Ca marche  :bounce:  
merci ;)
Pas contre je sais pas trop pourquoi il fallait mettre href=\"". et le ."\" ??

Le . c'est la concatenation en PHP, en fait il ecrit d'aborg href.. il le concatene avec le contenu de ton tableau qu'il concatene avec le >lien</a>....

Reply

Marsh Posté le 27-05-2003 à 11:37:55    

bodbod a écrit :

Ca marche  :bounce:  
merci ;)
Pas contre je sais pas trop pourquoi il fallait mettre href=\"". et le ."\" ??


Mon code illustre la concaténation de chaîne. Chaque morceau commence et termine pas ". Ceci étant, pour que le code HTML soit valide, il faut entourer chaque attribut par des ". De ce fait, j'échappe ces derniers par \". Rien de bien méchant.


---------------
Le site de ma maman
Reply

Marsh Posté le 27-05-2003 à 11:38:37    

while (list($variable, je les mets toutes) = mysql_fetch_row($result))  
{  
   echo "<tr bgcolor=#FFEBD7><td>"; echo $tableau[$compteur][1];  
  echo "</td><td>"; echo $variable1[1];
  echo "</td><td>"; echo $variable2[2];
  .......
  echo "</td><td>"; echo $lien[9];  
  echo "<td><a href=\"$liens[10]\">lien</a></td>";  
  echo "</tr>";  
}  
 
Un truc qui ressemble a ca ?


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 27-05-2003 à 11:39:28    

Citation :

while (list($variable, je les mets toutes) = mysql_fetch_row($result))  
{  
   echo "<tr bgcolor=#FFEBD7><td>"; echo $tableau[$compteur][1];  
  echo "</td><td>"; echo $variable1[1];
  echo "</td><td>"; echo $variable2[2];
  .......
  echo "</td><td>"; echo $lien[9];  
  echo "<td><a href=\"$liens[10]\">lien</a></td>";  
  echo "</tr>";  
}


 
Un truc qui ressemble a ca ?


Message édité par bodbod le 27-05-2003 à 11:40:35

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 27-05-2003 à 11:43:13    

bodbod a écrit :

Citation :

while (list($variable, je les mets toutes) = mysql_fetch_row($result))  
{  
   echo "<tr bgcolor=#FFEBD7><td>"; echo $tableau[$compteur][1];  
  echo "</td><td>"; echo $variable1[1];
  echo "</td><td>"; echo $variable2[2];
  .......
  echo "</td><td>"; echo $lien[9];  
  echo "<td><a href=\"$liens[10]\">lien</a></td>";  
  echo "</tr>";  
}


 
Un truc qui ressemble a ca ?


Ben pourquoi les [1] et [2]????
En fait tu fais exactement comme quans tu metais le contenu  de ta table dans ton tableau, sauf qu'au lieu de mettre dans ton tableau ($tableau[$compteur][10]=$lien; ) tu l'affiches (echo "<td><a href=\"$liens\">lien</a></td>"; )


Message édité par harrysauce le 27-05-2003 à 11:43:36
Reply

Marsh Posté le 27-05-2003 à 12:02:12    

bodbod a écrit :

while (list($variable1,$variable2,...,$variable9,$lien) = mysql_fetch_row($result))  
{  
   echo "<tr bgcolor=#FFEBD7><td>"; echo $tableau[$compteur][1];  
  echo "</td><td>"; echo $variable1;
  echo "</td><td>"; echo $variable2;
  .......
  echo "</td><td>"; echo $variable9;  
  echo "<td><a href=\"$liens\">lien</a></td>";  
  echo "</tr>";  
}  


Ca doit donner ca non ? ;)
 
desolé, je vais partir au boulot, je serais de retour ce soir


Message édité par bodbod le 27-05-2003 à 12:03:50

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 27-05-2003 à 12:03:43    

bodbod a écrit :


Ca doit donner ca non ? ;)
 
desolé, je vais partir au boulot, je serais de retour ce soir

c'est deja mieux ;)

Reply

Marsh Posté le 27-05-2003 à 12:04:19    

harrysauce a écrit :

c'est deja mieux ;)

et dans le while en haut ?
C'est que c'est un peu plus comprehensible pour un novice ;)


Message édité par bodbod le 27-05-2003 à 12:04:45

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 27-05-2003 à 12:07:45    

bodbod a écrit :

et dans le while en haut ?
C'est que c'est un peu plus comprehensible pour un novice ;)


Ben dans le while moi j'aurai fait un :
 
while ($lien = mysql_fetch_object($resultat)){
 
   echo "<td>$lien["nom_de_ton_champ1"]</td>";
   echo "<td>$lien["nom_de_ton_champ2"]</td>";
   echo "<td>$lien["nom_de_ton_champ3"]</td>";
....
}
 
Où nom_de_ton_champ1.... correspondent aux noms de tes champs dans la base de données....

Reply

Marsh Posté le 27-05-2003 à 12:13:54    

ah en fait, on nomme qu'une seule variable dans while ?
MLoi je pensais qu'il fallait en mettre une pour chaque champ  :sweat:  
 
Donc, c'est encore plus simple  :)
 

while ($lien = mysql_fetch_object($resultat)){
 
   echo "<td>$lien["nom_de_ton_champ1"]</td>";
   echo "<td>$lien["nom_de_ton_champ2"]</td>";
   echo "<td>$lien["nom_de_ton_champ3"]</td>";
....
   echo "<td><a href=\"$lien["nom_du_champ_lien"\">lien</a></td>";  
   echo "</tr>";  
}


Message édité par bodbod le 27-05-2003 à 12:16:58

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 28-05-2003 à 10:50:27    

finalement, j'ai fini par faire

while (list($variable_champ1,....,$lien) = mysql_fetch_row($result)){
 
   echo "<tr bgcolor=#FFEBD7><td>"; echo $variable_champ1;
   echo "</td><td>"; echo $variable_champ2;
   ......
   echo "</td><td>"; echo "<a href=\"" . $lien . "\" target=\"_blank\">lien</a>";  
   echo "</tr>";  


 
Impossible de faire marcher ca.
Apres avoir bidouiller comme j'ai pu, j'ai fini par une erreur sur la ligne "while ($lien = mysql_fetch_object($resultat)){ "

while ($lien = mysql_fetch_object($resultat)){  
 
  echo "<td>$lien["nom_de_ton_champ1"]</td>";  
  echo "<td>$lien["nom_de_ton_champ2"]</td>";  
  echo "<td>$lien["nom_de_ton_champ3"]</td>";  
....  
  echo "<td><a href=\"$lien["nom_du_champ_lien"\">lien</a></td>";    
  echo "</tr>";    
}


 
La deuxieme m'aurai interessé car pratique dans certain ;)


Message édité par bodbod le 28-05-2003 à 10:51:50

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 29-05-2003 à 18:35:33    

Reply

Marsh Posté le 29-05-2003 à 19:41:08    

si tu fais un mysql_fetch_object c'est pas la meme syntaxe que mysql_fetch_array :
 

Code :
  1. while ($lien = mysql_fetch_object($resultat)){ 
  2. echo "<td>$lien->nom_de_ton_champ1</td>";
  3. ...

Reply

Marsh Posté le 29-05-2003 à 19:48:08    

impulse a écrit :

si tu fais un mysql_fetch_object c'est pas la meme syntaxe que mysql_fetch_array :
 

Code :
  1. while ($lien = mysql_fetch_object($resultat)){ 
  2. echo "<td>$lien->nom_de_ton_champ1</td>";
  3. ...



honte a moi, c'est moi qui me suis trompé, je suis impardonable  :pfff:

Reply

Marsh Posté le 29-05-2003 à 20:07:50    

Citation :

honte a moi, c'est moi qui me suis trompé, je suis impardonable

 
 
:lol: ca arrive a tout le monde ;)

Reply

Marsh Posté le 29-05-2003 à 20:35:33    

harrysauce a écrit :

honte a moi, c'est moi qui me suis trompé, je suis impardonable  :pfff:  

c'estr pas grave ;)
 
donc il faut remplacer :
 

Citation :

while ($lien = mysql_fetch_object($resultat)){  
echo "<td>$lien["nom_de_ton_champ1"]</td>";  
 
par
 
while ($lien = mysql_fetch_object($resultat)){    
echo "<td>$lien->nom_de_ton_champ1</td>";

Il faut remplacer les [champ] par ->champ c'est ca ?


---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le 29-05-2003 à 20:39:14    

peut etre un autre robleme.
J'avais encore bidouiller le code pour afficher "lien" seulement quand le champ "lien" etait non vide.
 
puis je reutiliser la variable $lein->champ ?
 
voici ce que j'avais fait

Citation :

....
$lienaff = '';
   if( $lien=="" ) { $lien=$lienaff; }
   else { $lienaff = 'lien'; }
   echo "<a href=\"" . $lien . "\" target=\"_blank\">$lienaff</a>";
 
ce code marchait au top ;)


Message édité par bodbod le 29-05-2003 à 20:40:03

---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed