PHP: affichage bizarre !

Résolu/Fermé
Messages postés
3135
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
27 janvier 2022
-
Messages postés
3135
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
27 janvier 2022
-
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 !.



6 réponses

Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
73
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
Messages postés
3135
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
27 janvier 2022
437
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.
Messages postés
352
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
6 mars 2014
73
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
Messages postés
3135
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
27 janvier 2022
437
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.
Messages postés
3135
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
27 janvier 2022
437
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.
Messages postés
3135
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
27 janvier 2022
437
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.