8791 sujets

Développement web côté serveur, CMS

Bonjour,
je souhaiterai afficher les entrées que j'ai importé dans une bdd.
Chaque entrée compte un titre (qui se trouve dans la table jos_sobi2_item),
un repère (qui se trouve dans le champs data_txt de la table jos_sobi2_fields_data quand la valeur de fieldid='20'),
une activité (qui se trouve dans le champs data_txt de la table jos_sobi2_fields_data quand la valeur de fieldid='18'),
et un niveau (qui se trouve dans le champs data_txt de la table jos_sobi2_fields_data quand la valeur de fieldid='16').

je suis légèrement très limité par mes connaissances en php & sql,
pour le moment, j'ai édité cela :
$requete = mysql_query("
	SELECT jos_sobi2_item.title, jos_sobi2_fields_data.data_txt, jos_sobi2_fields_data.fieldid 
	FROM jos_sobi2_item 
	LEFT JOIN jos_sobi2_fields_data 
	ON jos_sobi2_item.itemid=jos_sobi2_fields_data.itemid 
	GROUP BY jos_sobi2_item.itemid 
	ORDER BY jos_sobi2_item.itemid DESC
") or die (mysql_error());

<table id="" width="660" height="" border="1" cellpadding="0" cellspacing="0">
	<tr>
		<td>Niveau</td>
		<td>Enseigne</td>
		<td>Activit&eacute;</td>
		<td>Rep&egrave;res</td>
	</tr>
<?php
while ($row = mysql_fetch_array($requete)) 
  {
  echo("
	<tr>
		<td>".$row["data_txt"]."</td> //// il faudrait que j'ajoute une condition >> pour fieldid='20'
		<td>".$row["title"]."</td>
		<td>".$row["data_txt"]."</td> //// il faudrait que j'ajoute une condition >> pour fieldid='18'
		<td>".$row["data_txt"]."</td> //// il faudrait que j'ajoute une condition >> pour fieldid='16'
	</tr>
 ") ; 
 }
?>
</table>

Ce code me permet d'afficher :
upload/13541-tentative2.png
Mais ce que je voudrais serait plutôt :
upload/13541-resultat.png

auriez-vous une idée ??
je vous remercie
De base je dirais un truc comme ça... A moins que une même entrée puisse avoir plusieurs fieldid, et dans ce cas-là, je dirais plutôt qu'il nous faut la structure exacte de la table ^^


while ($row = mysql_fetch_array($requete)) 
  {
	echo"<tr>";
	if($row['fieldid']==20])
	{
		echo "<td>".$row["data_txt"]."</td>"; //// il faudrait que j'ajoute une condition >> pour fieldid='20'
	}
	else
	{
		echo "<td>/*la valeur que tu veux mettre quand y a pas de niveau*/</td>";
	}
	echo "<td>".$row["title"]."</td>";
	if($row['fieldid']==18)
	{
		echo "<td>".$row["data_txt"]."</td>"; //// il faudrait que j'ajoute une condition >> pour fieldid='18'
	}
	else
	{
		echo "<td>/*la valeur que tu veux mettre quand y a pas d'activité*/</td>";
	}
	if($row['fieldid']==16)
	{
		echo "<td>".$row["data_txt"]."</td>"; //// il faudrait que j'ajoute une condition >> pour fieldid='16'
	}
	else
	{
		echo "<td>/*la valeur que tu veux mettre quand y a pas de repère*/</td>";
	}
	echo "</tr>";
 }

Modifié par Lothindil (23 May 2012 - 15:23)
Je vous remercie de vous intéresser à mon problème.

j'ai donc inséré :
<?php  
while ($row = mysql_fetch_array($requete)) 
  {
	echo"<tr>";
	if($row['fieldid']==16)
	{
		echo "<td>".$row["data_txt"]."</td>"; 
	}
	else
	{
		echo "<td>aucune</td>";
	}
	echo "<td>".$row["title"]."</td>";
	if($row['fieldid']==18)
	{
		echo "<td>".$row["data_txt"]."</td>"; 
	}
	else
	{
		echo "<td>aucune</td>";
	}
	if($row['fieldid']==20)
	{
		echo "<td>".$row["data_txt"]."</td>"; 
	}
	else
	{
		echo "<td>aucune</td>";
	}
	echo "</tr>";
 }
 ?>

et ça m'a donné :
upload/13541-tentative3.png

Voici la structure de la table jos_sobi2_fields_data :
upload/13541-Capturede7.png
upload/13541-capture3.png

et Voici la structure de la table jos_sobi2_item :
upload/13541-caputre4.png
upload/13541-cap5.png