bonsoir,

J'ai une question peut-être simple mais je ne vois pas comment réaliser mon but.
J'ai une fonction a double mysql_query dans la quelle je retrouve d'une part les noms de champs de la table et d'autre part je met en page le résultat via des div
Mon problème est que je voudrais pouvoir appliquer des styles a certains champs afin de maitriser la mise en page mais je n'arrive pas à capturer ces champs [ date et auteur en l'occurence] .

Cette fonction si fonctionne mais dispose les éléments l'un en dessous de l'autre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function makeRes($Qry,$Caption){
 include("var.php"); # var.php is a file used to stored connections variable could be replaced by a conf file
 echo"<div class='resDIV'>"; #define css class for div !!!! 
 echo "<p><H3>".$Caption ."</H3></p>";# writing page caption 
 $Results=mysql_query($Qry) or die(mysql_error());
$field_names = array_keys(mysql_fetch_assoc($Results)); #get the fields names
 
mysql_data_seek($Results, 0); # finally populating the dataset on table need to reset Dataset to 0 to get all data returned!
while ($data= mysql_fetch_row($Results)){
       echo "<div class='data'>";
 
        for ($i=0;$i<=count($data)-1;$i++){
 
 
	if (is_string($data[$i]))	{
		echo "<h7>".ucwords($field_names[$i]).":</h7> "; # here we are capturing the fields names to generate the  rendering on page field : <content>
	 #echo "<p>". stripslashes($data[$i])."</p>"; #here we add the content
	 if(strlen($data[$i])>200 ) {
			$newData=substr($data[$i], 0, 180);
			echo "<p>".stripslashes($newData) ."</p>";
			}
			else {
	 echo  "<p>". stripslashes($data[$i])."</p>"; #here we add the content
	}
	}
 
}
C'est dans la partie While que mon probleme se pose

J'essaie quelque chose comme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
while ($data= mysql_fetch_row($Results)){
       echo "<div class='data'><p>";
 
        for ($i=0;$i<=count($data)-1;$i++){
 
 
	if ((is_string($data[$i]))&&( $field_names[$i]==array_search("date", $field_names) || $field_names[$i]=array_search("author", $field_names))){
		echo "<span class='authorTitle'><h7>".ucwords($field_names[$i]).":</h7> "; # here we are capturing the fields names to generate the  rendering on page field : <content>
	 echo  stripslashes($data[$i])."</span>"; #here we add the content
	}
	else {
		echo "<Div class='titleText'><h7>".ucwords($field_names[$i]).": </h7>"; # here we are capturing the fields names to generate the  rendering on page field : <content>
		if(strlen($data[$i])>200 ) {
			$newData=substr($data[$i], 0, 180);
			echo stripslashes($newData) ."</Div>";
			}
			else {
	 echo  stripslashes($data[$i])."</Div>"; #here we add the content
	}
Mais il prend le "else" a tout les coups. Je n'arrive pas à lui faire prendre les style pour les champs "date" et "author" afin de lui faire appliquer les styles voulus.

Si quelqu'un a une indication à donner sur comment procéder ? ou indiquer quelle fonction PHP je devrais utiliser je serais très heureux.