aide lien avec base de données

ricardo
Invité n'ayant pas de compte PHPfrance

26 août 2005, 21:07

Marche tjs pas
 <table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> 
  <tr> 
<?php 
while($val=mysql_fetch_array($result)) 
{ 
    if($val['id_fiche']) 
    { 
?> 
    <td align="center"><a href="cadre_fiches_ok.php?id_fiche=<?php echo($val["id_fiche"]); ?>" title="<? echo($val["titre_fiche"]); ?>"><? echo($val["id_fiche"]);?></a></td> 
<?php 
    } 
} 
?> 
  </tr> 
</table>  
Merci

Mammouth du PHP | 19672 Messages

26 août 2005, 21:24

Est-ce que ta requête SQL testée directement dans phpMyAdmin retourne les résultats attendus ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

26 août 2005, 21:28

Oui

SELECT id_fiche,titre_fiche FROM fiches ORDER BY `id_fiche`

Merci

Mammouth du PHP | 19672 Messages

26 août 2005, 21:33

As-tu vérifié le code source HTML généré ? ça donne quoi ? Parce que je vois mal pourquoi ça ne fonctionnerait pas. Vérifie ce que contiennent les attributs title dans le html produit par le script ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

26 août 2005, 21:36

Comment faire les vérifent ? Ou ?

Merci

Mammouth du PHP | 19672 Messages

26 août 2005, 21:38

affiche ta page normalement, Affichage>Source de la page
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

26 août 2005, 21:44

Merci pour l'info je connaissais pas cette technique :
Apparement c'est ok :

<td align="center"><a href="cadre_fiches_ok.php?id_fiche=3" title="<p><font size="+2" color="#990000">Logement : la cage</font></p>">3</a></td>

Non

Mammouth du PHP | 19672 Messages

27 août 2005, 08:11

Non, enfin il y a un contenu, mais il ne devrait pas y avoir de balise <p> ni <font> ni aucune balise html dans le contenu de l'attribut. Si tu traites la variables avant pour l'afficher dans la cellule en la formatant, prépares une seconde variable avec juste le contenu. À moins que tu enregistres le contenu formaté dans la base ? Là, il faudrait ne récupérer que le contenu et ce n'est pas le plus facile, mais ça se fait avec des expressions régulières. ...:-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

27 août 2005, 09:11

Ok pour le fonctionnement, par contre mes liens sont beaucoup trop espacés les uns par rapport aux autres.

Merci
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> 
  <tr> 
<?php 
while($val=mysql_fetch_array($result)) 
{ 
    if($val['id_fiche']) 
    { 
?> 
    <td align="center"><a href="cadre_fiches_ok.php?id_fiche=<?php echo($val["id_fiche"]); ?>" title="<? echo($val["infobulle"]); ?>"><? echo($val["id_fiche"]);?></a></td> 
<?php 
    } 
} 
?> 
  </tr> 
</table> 

Mammouth du PHP | 19672 Messages

27 août 2005, 09:23

Tu les as mis dans des cellules de tableau html, il est normal qu'il y ait un espace. Par contre, de la manière dont tu as construit ça, plus tu auras de liens, plus ils seront rapprochés et plus tu as des chances d'avoir une barre de défilement horizontale: tous les liens seront sur la même ligne.

Deux solutions possibles:
- Mettre un lien par ligne:
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<?php
while($val=mysql_fetch_array($result))
{
    if($val['id_fiche'])
    {
?>
  <tr>
    <td align="center"><a href="cadre_fiches_ok.php?id_fiche=<?php echo($val["id_fiche"]); ?>" title="<? echo($val["infobulle"]); ?>"><? echo($val["id_fiche"]);?></a></td>
  </tr>
<?php
    }
}
?>
</table>
- Mettre tous les liens dans la même cellule:
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center">
<?php
while($val=mysql_fetch_array($result))
{
    if($val['id_fiche'])
    {
?>
<a href="cadre_fiches_ok.php?id_fiche=<?php echo($val["id_fiche"]); ?>" title="<? echo($val["infobulle"]); ?>"><? echo($val["id_fiche"]);?></a><br />
<?php
    }
}
?>
    </td>
  </tr>
</table>
Et dans ce dernier cas, il y a lieu de se demander quelle est vraiment l'utilité d'utiliser un tableau html... :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

27 août 2005, 09:41

Meme resultat avec les deux codes, les lien s'affichent les uns en dessous des autres, moi je préfèrerai sur la meme ligne car d'ici peut j'en aurai une vingtaine.

Merci

Mammouth du PHP | 19672 Messages

27 août 2005, 09:44

J'ai très envie de te laisser chercher. Dans le premier cas, tu ne pourras effectivement pas faire autrement qu'un lien en dessous de l'autre puisque chacun est dans une ligne du tableau html. Mais dans le second cas, ils sont tous dans la même cellule. Regarde attentivement ce que j'ai mis au bout de la ligne du lien: Tu as une seule balise à faire sauter pour avoir tous les liens les uns à la suite des autres.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

27 août 2005, 09:48

Trouver, merci pour ton aide.
Ou est le bouton Résolu

Mammouth du PHP | 19672 Messages

27 août 2005, 09:53

Ou est le bouton Résolu
En haut à gauche, au dessus des messages.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

27 août 2005, 09:58

Voit pas ! :wink: