Bonjour à tous,
J'ai 1 table " mairies_web" qui liste toutes les communes qui ont leurs sites sur internet...
Cette table comprend 4 champs:
id mairies tel url
je sais faire une requete et mon tableau fonctionne parfaitement.
Mon tableau affiche le nom de la commune ainsi que son n° de téléphone.
Quand je clique sur le nom de la commune, une fenêtre s'ouvre avec son site.
Mon souci est celui-ci:
Toutes les communes n'ont pas de sites sur internet, alors comment faire pour dévalider
le clic sur le nom de ces communes et mettre un "alt" du type "pas de site" ?
Il faut certainement tester les cellules vides dans le champ "URL" ??
Merci
<?
bla-bla-bla-bla
?>
<table width= '100%' cellspacing="1" border="1" bordercolordark="white" bordercolorlight="maroon">
<?
// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 10;
// Préparation de la requête avec le LIMIT
$sql = 'SELECT mairies, tel, url FROM mairies_web ORDER BY mairies ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// on va scanner tous les résultats un par un
while ($row = mysql_fetch_array($req)) {
// on affiches les résultats dans la table
?>
<tr class="classe1" onmouseover="this.className='classe2';" onmouseout="this.className='classe1';">
<td width="693" height="21" align="center">')"> Commune de <? echo $row['mairies'];?>
Je ne crois pas que ça soit une bonne solution il y a plusieurs entrés
et la fonction mysql_num_rows est indiscutablement la fonction la plus
efficace pour vérifé combien d'entré est dans sa requête. Ta façon ne
marche pas en plus dans son cas.
Ooops après avoir relu ta question je me suis rendu compte que je ne
répondais pas exactement à ta question. La solution serait simplement
utilisé la fonction empty:
Merci de m'avoir répondu aussi vite !
j'ai 2 scripts identiques sur cette page (français et anglais) et
j'ai une erreur sur le ELSE entre les 2 pages...
?>
<?
// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 10;
// Préparation de la requête avec le LIMIT
$sql = 'SELECT mairies, tel, url FROM mairies_web ORDER BY mairies ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// on va scanner tous les résultats un par un
while ($row = mysql_fetch_array($req)){
if(empty($row['url'])){ [ code que j'ai rajouté] echo 'Pas de site';
}
else{
// on affiches les résultats dans la table
?>
----
')">Commune de <? echo $row['mairies'];?>,
,
<? echo $row['tel'];?>,
<?
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
?>
<?php
// on affiche enfin notre barre
echo ''.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($resultat);
// on ferme la connexion à la base de données.
mysql_close ();
?>
<!--Début script de page modifiée le-->
<?print("Dernière modification le ");?><?print(date("d/m/Y", filemtime($SCRIPT_FILENAME)));?>
<!--Fin du script de page modifiée le-->
<!-- Fin du script en français -->
<?
}
else { ERREUR ICI !! ?>
<!-- Début du script en anglais -->
<?
Pour ton erreur, où est-ce que tu as mis ta première condition? Regarde
bien tu as deux else de suite, ce qui est illogique et fait sortir
innévitablement une erreur par PHP.