Aller au contenu

SQL/PHP : ne pas afficher les champs vides


rouly

Sujets conseillés

Bonjour,

Je souhaiterais n'afficher que les <gras>CHAMPS REMPLIS</gras> dans mon tableau, cad que pour les champ email, web et myspace, je souhaiterais laisser le tableau vide si rien n'est saisi.

Pouvez-vous m'éclairer ???

Merci.

VOICI LES INFOS :

Base de données :

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE TABLE IF NOT EXISTS `lardon_artistes` (
`nom` varchar(50) collate latin1_general_ci NOT NULL,
`style` varchar(40) collate latin1_general_ci NOT NULL,
`sousstyle` varchar(40) collate latin1_general_ci NOT NULL,
`musiciens` varchar(2) collate latin1_general_ci NOT NULL,
`booking` varchar(100) collate latin1_general_ci NOT NULL,
`contact` varchar(50) collate latin1_general_ci NOT NULL,
`adresse` varchar(250) collate latin1_general_ci NOT NULL,
`code` varchar(5) collate latin1_general_ci NOT NULL,
`ville` varchar(25) collate latin1_general_ci NOT NULL,
`pays` varchar(2) collate latin1_general_ci NOT NULL default 'FR',
`portable` varchar(14) collate latin1_general_ci NOT NULL,
`email` varchar(100) collate latin1_general_ci NOT NULL,
`web` varchar(100) collate latin1_general_ci NOT NULL default 'www.',
`myspace` varchar(100) collate latin1_general_ci NOT NULL default 'www.myspace.com/',
`defraiement` varchar(5) collate latin1_general_ci NOT NULL,
`cachet` int(5) NOT NULL,
`demo` varchar(1) collate latin1_general_ci NOT NULL,
`pressbook` varchar(1) collate latin1_general_ci NOT NULL,
`technique` varchar(1) collate latin1_general_ci NOT NULL,
`joue` varchar(1) collate latin1_general_ci NOT NULL,
`date1` varchar(10) collate latin1_general_ci NOT NULL,
`date2` varchar(10) collate latin1_general_ci NOT NULL,
`date3` varchar(10) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`nom`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Je souhaite afficher les infos dans un tableau, voici mon script :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]">
<html xmlns="[http://www.w3.org/1999/xhtml]">
<head>
</head>
<body>
<?php


// Le nom de notre table
$tablename = 'lardon_artistes';

// Tri sur colonne
$tri_autorises = array('nom','style','sousstyle','musiciens','booking','contact','adresse','code','ville','pays','telephone','portable','email','web','myspace','defraiement','cachet','demo','pressbook','technique','joue','date1','date2','date3','splitte');
$order_by = in_array($_GET['order'],$tri_autorises) ? $_GET['order'] : 'nom';

// Sens du tri
$order_dir = isset($_GET['inverse']) ? 'DESC' : 'ASC';

// Préparation de la requête
$sql = "
SELECT *
FROM {$tablename}
ORDER BY {$order_by} {$order_dir}
";
$result = mysql_query($sql);

// Notre fonction qui affiche les liens
function sort_link($text, $order=false)
{
global $order_by, $order_dir;
if(!$order)
$order = $text;
$link = '<a href="?order=' . $order;
if($order_by==$order && $order_dir=='ASC')
$link .= '&inverse=true';
$link .= '"';
if($order_by==$order && $order_dir=='ASC')
$link .= ' class="order_asc"';
elseif($order_by==$order && $order_dir=='DESC')
$link .= ' class="order_desc"';
$link .= '>' . $text . '</a>';

return $link;
}

// Affichage
?>

<table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF">
<tr>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Nom', 'nom') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Style', 'style') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Sous-style', 'sousstyle') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Nbre', 'musiciens') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Booking', 'booking') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Contact', 'contact') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Code', 'code') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Ville', 'ville') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Pays', 'pays') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Portable', 'portable') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Email', 'email') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Web', 'web') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Space', 'myspace') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Déf.', 'defraiement') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Cachet', 'cachet') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('CD', 'demo') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('PB', 'pressbook') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('FT', 'technique') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Déja joué', 'joue') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Date 1', 'date1') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Date 2', 'date2') ?></b></span></td>
<td bgcolor="#49194a" align="center"><span class="titre"><b><?php echo sort_link('Date 3', 'date3') ?></b></span></td>
</tr>
<?php while( $row=mysql_fetch_assoc($result) ) : ?>
<tr>
<td align="center"><?php echo $row['nom'] ?></td>
<td align="center"><?php echo $row['style'] ?></td>
<td align="center"><?php echo $row['sousstyle'] ?></td>
<td align="center"><?php echo $row['musiciens'] ?></td>
<td align="center"><?php echo $row['booking'] ?></td>
<td align="center"><?php echo $row['contact'] ?></td>
<td align="center"><?php echo $row['code'] ?></td>
<td align="center"><?php echo $row['ville'] ?></td>
<td align="center"><?php echo $row['pays'] ?></td>
<td align="center"><?php echo $row['portable'] ?></td>
<td align="center"><a href="mailto:<?php echo $row['email'] ?>"><img src="[http://festivallardon.free.fr/bdd/img/email.jpg]" /></a></td>
<td align="center"><a href='http://<?php echo $row['web'] ?>' target='_blank'><img src="[http://festivallardon.free.fr/bdd/img/ie.jpg]" /></a></td>
<td align="center"><a href='http://<?php echo $row['myspace'] ?>' target='_blank'><img src="[http://festivallardon.free.fr/bdd/img/myspace.jpg]" /></a></td>
<td align="center"><?php echo $row['defraiement'] ?></td>
<td align="center"><?php echo $row['cachet'] ?></td>
<td align="center"><?php echo $row['demo'] ?></td>
<td align="center"><?php echo $row['pressbook'] ?></td>
<td align="center"><?php echo $row['technique'] ?></td>
<td align="center"><?php echo $row['joue'] ?></td>
<td align="center"><?php echo $row['date1'] ?></td>
<td align="center"><?php echo $row['date2'] ?></td>
<td align="center"><?php echo $row['date3'] ?></td>
</tr>
<?php endwhile ?>
</table>
</body>
</html>

Lien vers le commentaire
Partager sur d’autres sites

cad que pour les champ email, web et myspace, je souhaiterais laisser le tableau vide si rien n'est saisi.

`email` varchar(100) collate latin1_general_ci NOT NULL,

`web` varchar(100) collate latin1_general_ci NOT NULL default 'www.',

`myspace` varchar(100) collate latin1_general_ci NOT NULL default 'www.myspace.com/',

salut,

alors il faudrait spécifier default = ''...

Modifié par georges
Lien vers le commentaire
Partager sur d’autres sites

`email` varchar(100) collate latin1_general_ci NOT NULL,

`web` varchar(100) collate latin1_general_ci NOT NULL default 'www.',

`myspace` varchar(100) collate latin1_general_ci NOT NULL default 'www.myspace.com/',

salut,

alors il faudrait spécifier default = ''...

Comment ca ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Tu as des valeurs par défaut dans ta base de données. Donc quand tu la remplis, si rien n'avait été spécifié par l'utilisateur, les champs auront quand même une valeur, soit "www", soit "www.myspace.com", etc. Pour ne pas avoir ce phénomène, il faut que tu modifies la structure de ta base de données et que tu mettes dans la colonne "default" des valeurs vides " " pour ces éléments.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...