8791 sujets

Développement web côté serveur, CMS

Bonjour,

Rien de mieux qu'un exemple concret !

J'ai dans mon fichier php :


      <td align="center" valign="middle"><?php echo $row[19]; ?></td> 
      <td align="center" valign="middle"><?php echo $row[20]; ?></td> 
      <td align="center" valign="middle"><?php echo $row[21]; ?></td> 
      .......etc 
      <td align="center" valign="middle"><?php echo $row[602]; ?></td> 
      


Je voudrais remplacer automatiquement tous les
<?php echo $row[00]; ?>
par :


<?php if($row[00] == 0) { echo ''; } else { echo $row[00]; } ?> 


en gardant bien évidemment les bonnes valeurs de champs entre les [].

Voyez-vous mon problème ???

Existe-t-il un outil ou logiciel pour me faire ça automatiquement en fonction des champs pour ne pas avoir à taper les 600 lignes moi-même ?

Ou alors est-il possible de le dire une fois dans la requête sql ?
Mais je ne sais pas comment faire.

Je suis sur mac pour infos.
Merci par avance pour votre aide.
Modifié par Cybernatus (20 Mar 2009 - 13:29)
Salut,

ta table contient vraiment 600 zones ? Smiley eek

Quoi qu'il en soit tu pourrais faire quelque chose comme :
$sql = 'Select * from matable order by id';
$result = mysql_query($sql);
$premier_champ = 0; // A modifier selon le cas
if (mysql_num_rows($result) > 0) {
	echo "<table>\n";
	$num_fields = mysql_num_fields($result);
	while($row = mysql_fetch_row($result)) {
		echo "\t<tr>\n";
		for($i = $premier_champ; $i < $num_fields; $i++) {
			$texte = !empty($row[$i]) ? $row[$i] : '';
			echo "\t\t<td>".$texte."</td>\n";
		}
		echo "\t</tr>\n";
	}
	echo "</table>\n";
}


Edit: au passage les attributs de mise en forme (comme align et valign) sont obsolètes et avantageusement remplacés par des déclarations CSS.
Modifié par Heyoan (20 Mar 2009 - 14:06)