PHP: affichage bizarre !

Résolu/Fermé
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 24 déc. 2010 à 17:10
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 26 déc. 2010 à 13:24
Bonjour,

Sur le site http://editionsgracianne.free.fr/Agenda/Liste_Agenda.php j'ai un affichage un peu zarbi. Ça commence par 4 apostrophes ' ' ' ' puis le titre-lien puis l'auteur et enfin la date. Ce titre-lien n'est pas un lien comme il devrait l'être mais c'est en cliquant entre les 2 premières apostrophes qu'on accède à la fiche agenda. J'y ai passé 2 semaines en essayant tout ce qui était possible et aujourd'hui ça fonctionne (l'affichage de la fiche après avoir cliqué). Voici une partie du code:
// lecture et affichage des résultats  
    while($row = mysql_fetch_array($result)) 
	{
		echo "<tr>";
		echo "<td text-align='left'>"; 
	// on construit le lien vers la Fiche_Agenda.php en lui passant en paramètre : l'ID
//		printf ("<a href=\"Fiche_Agenda.php?&id=%s\">%s</a>"$row["ID"]$row["Lien"]&nbsp;&nbsp;$row["Source"]&nbsp;&nbsp;$row["Date"]); 
	// on affiche le lien pour le texte plus complet dans une autre page (Fiche_Agenda)
		echo '<a href="Fiche_Agenda.php?ID='.$row['ID'].'">"</a>"'.$row['Lien'].'&nbsp;&nbsp;<i>'.$row['Source'].'</i>&nbsp;&nbsp;'.$row['Date'].'';		
		echo "</tr>";
	}   
	echo "</table>";
    // fin du tableau.
Si je met $row["Lien"] avant la fin de </a> il apparait dans l'url de la page Fiche_Agenda en plus de ne rien changer à la liste des liens.
Merci beaucoup d'avance et Joyeuses fêtes à tous !.



A voir également:

6 réponses

duweb Messages postés 353 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 6 mars 2014 72
25 déc. 2010 à 09:42
le texte du lien doit se trouver entre le balises <a href...>texte du lien</a>.

étant donné qu'il n'y a que des guillemets, le résultat obtenu est normal.

ensuite quand tu mets $row["Lien"] entre ces balises, le lien ne fonctionne que pour la dernière ligne et c''est normal puisque tu ne fermes pas la balise <td> par </td>

si tu n'utilises pas une colonne par information : <td>lien</td><td>auteur</td><td>date</td>, autant utiliser les listes : <ul><li>lien auteur date</li>


comme tu n'utilises pas ta fonction print, je ne la corrige pas mais elle est fausse du début à la fin
0
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
25 déc. 2010 à 21:07
Bonjour duweb et j'espère que tu a passé de joyeuses fêtes !
"ensuite quand tu mets $row["Lien"] entre ces balises, le lien ne fonctionne que pour la dernière ligne et c''est normal puisque tu ne fermes pas la balise <td> par </td>" c'est corrigé depuis mais le résultat n'a pas changé.

En fait le print je l'ai utilisé mais je n'arriva pas a afficher la source et la date.
Quant au <li> l'inconvénient majeur est que je ne peux pas formater une partie en italique à moins que...
1- Je serais très, mais très heureux que tu me corrige le print (il marche bien sur mon site perso (http://www.abarka.eu) pour les prénoms (avec même une recherche.
1- Autre question: Dans la page d'authentification j'aurais voulu ajouter les boutons Modifier et Supprimer. Je m'explique: après s'être authentifié, je voudrai que l'on affiche le formulaire de modification (qui est caché) comme celui de l'ajout et qui se trouve sur la même page. Évidemment les champs seraient des <?php echo...> etc et la page Delete serait semblable à la fiche_Agenda mais avec le bouton Supprimer. Mon Pb c'est comment afficher le bon formulaire selon le bouton cliqué (Valider, Modifier et Supprimer).
3- Si tu clique entre les ' ' L'agenda d'Hélène et d'Eugène. ça m'affiche les balise de mise en forme du textarea du formulaire (http://editionsgracianne.free.fr/presse/Formulaire.php (user=test et pass=toto). J'ai essayé htmlentities mais certainement pas au bon endroit pour l'affichage.
En fait je crois que j'ai des comportements bizarres lors du transfert ftp avec Dreamweaver.
Merci encore !

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0
duweb Messages postés 353 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 6 mars 2014 72
25 déc. 2010 à 22:49
1 ---------------------------------------------------------------------------------------
dans ton exemple, print est inutile.

while....{
echo '<tr>
<td>
<a href="Fiche_Agenda.php?ID=' . $row['ID'] . '">' . $row['Lien'] . '</a>
</td>
<td>
<i>' . $row['Source'] . '</i>
</td>'
. $row['Date']
. '</td>
</tr>';
}
- sous quel format sont enregistrées les dates dans la base ?

2 ---------------------------------------------------------------------------------------
il suffit d'utilise l'id. l'id est cencé être unique dans ta base. tu peux donc utiliser CRUD (Create Read Update Delete) sur les données de ta base grâce à cet identifiant unique

3 ---------------------------------------------------------------------------------------
- pour le pb avec les formulaiers je te conseille de lire le chapitre en entier. il y a tous les problèmes et solutions :
https://books.google.fr/books?id=5uYacPrPlcAC&pg=PA439&dq=php+guillemet+echo+form&hl=fr&ei=n2EWTaqcCcaAOtbN1L8J&sa=X&oi=book_result&ct=result#v=onepage&q=php%20guillemet%20echo%20form&f=false
0
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
25 déc. 2010 à 23:05
Merci pour ta réponse.
J'ai modifier le format date en varchars dans le champ Date de la table.
Sinon il ne m'affichait que des zéros (0)

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
26 déc. 2010 à 01:39
Bonsoir,
Pour ce code
while....{
echo '<tr>
<td>
<a href="Fiche_Agenda.php?ID=' . $row['ID'] . '">' . $row['Lien'] . '</a>
</td>
<td>
<i>' . $row['Source'] . '</i>
</td>'
. $row['Date']
. '</td>
</tr>';
}
j'avais testé des dizaines de combinaisons, jusqu'aux plus invraisemblables mais ça ne marchait jamais.
Je suis donc passé à l'
echo...
sans résultat probant.
Mais j'avais oublié une chose essentielle, les balises </td>, <td> etc...
Bon ce Pb est désormais réglé grâce à toi et je t'en remercie.
Me reste à trouver comment supprimer l'affichage de la balise <strong> par exemple pour le remplacer par le mot entre celle-ci en gras.


Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
26 déc. 2010 à 13:24
J'ai modifié la mise en page ainsi et cela marche, maintenant, car j'avais déjà testé cette forme mais sans succès. Je ne sais pas ce qui s'est passé durant tout ce temps.

// lecture et affichage des résultats  
    while($row = mysql_fetch_array($result)) 
	{
	echo '<tr><td class="List_Agenda"><a href="Fiche_Agenda.php?ID=' . $row['ID'] . '">' . $row['Lien'] . '</a>&nbsp;&nbsp;&nbsp;<i>' . $row['Source'] . '</i>&nbsp;&nbsp;&nbsp;' . $row['Date']. '</td></tr>';
	}   
	echo "</table>";
    // fin du tableau.


Je clôture donc le post.
Merci Et passez de bonnes fêtes de fin d'année.

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0