Aller au contenu

SQL/PHP : ne pas afficher les champs vides


Sujets conseillés

Posté

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>

Posté (modifié)
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
Posté

`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 ?

Posté

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.

Veuillez vous connecter pour commenter

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



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