Jump to content
Sign in to follow this  
rouly

SQL/PHP : ne pas afficher les champs vides

Rate this topic

Recommended Posts

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>

Share this post


Link to post
Share on other 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 = ''...

Edited by georges

Share this post


Link to post
Share on other 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 ?

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...