Jump to content
  • 0
Esaïe

Intitulé D'un Tableau Défini Par Des Rubriques Liées En Php

Question

Hello

 

C'est pour une association qui a 6 responsable. J'ai un tableau en PHP qui m'affiche les événements (Table événement) avec une rubrique "Date" de cette table où j'affiche les absences prévue à des événements (Rubriques liée via 6 liens sur 6 vues  d'une autre table "Absence" ), jusque que là tout fonctionne, maintenant j'aimerai rendre dynamique les intitulés de ce tableau car il contient les nom des 6 responsables et j'ai ces informations dans une table lié ce qui m'évitera de modifié la page chaque fois qu'il y a un changement et c'est là que je bloque complément, quoi que je fasse j'ai le droit à une page blanche .....

 

voilà le code de ma page qui fonctionne :

<html><head><title>Evenements Absences</title><!-- declare charset as UTF-8 --><meta http-equiv="content-type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="style.css"></head><body><table id="main"><tr><th id="table-title" colspan="3">Planing</th></tr><?php // Include FileMaker APIrequire_once ('FileMaker.php');$fm = new FileMaker("Fichier", "localhost", "php", "php");?><tr><th>Date</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th></tr><?php// Create FileMaker_Command_Find on layout to search$findCommand =& $fm->newFindAllCommand('Evenement');// Sort records in descending 'Title' order$findCommand->addSortRule('Date', 1, FILEMAKER_SORT_ASCEND);// Execute find command$result = $findCommand->execute();if (FileMaker::isError($result)) {    echo "Error: " . $result->getMessage() . "\n";    exit;}// Get array of found records$records = $result->getRecords();// Setup row count variable to alternate row background color$row = 0;foreach ($records as $record) {	// if $row is odd, set class of <tr> to alt-row-color	if ($row % 2 == 0) {		echo "<tr class=\"alt-row-color\">";	} else {		echo "<tr>";	}    	echo "<td>" . $record->getField('Date') . "</td>";    	echo "<td>" . $record->getField('Absences 1::text') . "</td>";    	echo "<td>" . $record->getField('Absences 2::text') . "</td>";    	echo "<td>" . $record->getField('Absences 3::text') . "</td>";    	echo "<td>" . $record->getField('Absences 4::text') . "</td>";    	echo "<td>" . $record->getField('Absences 5::text') . "</td>";    	echo "<td>" . $record->getField('Absences 6::text') . "</td>";    	echo "</tr>";    	$row++;    	}?></table></body></html>

et voilà le code pour les rubriques de mes intitulés:

    	echo "<tr><th>Date</th>";		echo "<th>" . $record->getField('ParametresEvenement::Nom_personne1') . <"/th>";		echo "<th>" . $record->getField('ParametresEvenement::Nom_personne2') . "</th>";		echo "<th>" . $record->getField('ParametresEvenement::Nom_personne3') . "</th>";		echo "<th>" . $record->getField('ParametresEvenement::Nom_personne4') . "</th>";		echo "<th>" . $record->getField('ParametresEvenement::Nom_personne5') . "</th>";		echo "<th>" . $record->getField('ParametresEvenement::Nom_personne6') . "</th>";    	echo "</tr>";

et ça doit remplacer la ligne 19 html suivante: 

<tr><th>Date</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th></tr>

Si quelqu'un peut me soufflé une ou deux piste, ça serai génial, merci d'avance 

 

Esaïe

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Tu as un guillemet mal placé dans la balise de fin de ta 2ème ligne

echo "<th>" . $record->getField('ParametresEvenement::Nom_personne1') . <"/th>";echo "<th>" . $record->getField('ParametresEvenement::Nom_personne1') . "</th>";

Accessoirement, une page toute blanche indique que tu n'affiches pas les erreurs fatales (très bien en prod, très chiant en dev), ce qui était le cas ici à cause de la mauvaise syntaxe.

Je te suggère très fortement de modifier ton php.ini pour indiquer

display_errors = On

sinon, tu vas avoir très régulièrement des pages blanches.

 

Yvan

Share this post


Link to post
Share on other sites
  • 0

Accessoirement, une page toute blanche indique que tu n'affiches pas les erreurs fatales (très bien en prod, très chiant en dev), ce qui était le cas ici à cause de la mauvaise syntaxe.

Je te suggère très fortement de modifier ton php.ini pour indiquer

display_errors = On

 

Merci Yvan pour l'astuce et merci aussi pour le guillemet mal placé. 

 

J'étais obnubilé à vouloir placer mes intitulés avant les enregistrements php de mon tableau alors qu'il fallait simplement que je les rajoutes à la première ligne ....

 

donc si ça peut aider un autre grand débutant que moi en php voilà le code que j'ai mis entre les lignes 44 et 45 :

	// if $row est le premier, ajouter les intitulés	if ($row == 0) {	    echo "<tr><th>Date</th>";                echo "<th>" . $record->getField('ParametresEvenement::Nom_personne1') . "</th>";                echo "<th>" . $record->getField('ParametresEvenement::Nom_personne2') . "</th>";                echo "<th>" . $record->getField('ParametresEvenement::Nom_personne3') . "</th>";                echo "<th>" . $record->getField('ParametresEvenement::Nom_personne4') . "</th>";                echo "<th>" . $record->getField('ParametresEvenement::Nom_personne5') . "</th>";                echo "<th>" . $record->getField('ParametresEvenement::Nom_personne6') . "</th>";    	        echo "</tr>";		echo "<tr class=\"alt-row-color\">";	} else 

Share this post


Link to post
Share on other sites
  • 0

petit question subsidiaire, y'a t'il une solution pour que mon premier rang reste fixe en haut de la page ?

Share this post


Link to post
Share on other sites
  • 0

petit question subsidiaire, y'a t'il une solution pour que mon premier rang reste fixe en haut de la page ?

Gné ?

Pas compris, là... peux-tu donner un exemple de 1er rang pas en haut de la page ? Qu'y a t-il au-dessus ?

 

Edit : je crois que je viens de comprendre... Tu voudrais que, quelle que soit la hauteur de la page, le 1er rang soit toujours visible (même si on utilise l'ascenseur).

Il n'y a pas de solution PHP simple (ou alors, il faut gérer la pagination). Il faut taper dans le css et/ou le javascript, car ce que tu demandes se passe du coté client, pas du coté serveur.

 

Yvan

Share this post


Link to post
Share on other sites
  • 0

 Il faut taper dans le css et/ou le javascript, car ce que tu demandes se passe du coté client, pas du coté serveur.

 

Ok nickel, j'ai nettement plus de notion css et je comprend généralement mieux sa logique je devrai donc réussir à faire quelque chose bien que dans le cas dans mes premiers essais j'arrive pas à faire coïncider les intitulés à leur cellule pourtant j'ai les mêmes valeurs de largeur que ce soit en pixel, em ou %  :arg:

 

Merci encore pour l'aide 

 

Esaïe

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...