cs_bonobos
Messages postés34Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention15 décembre 2005
-
20 janv. 2005 à 15:12
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
28 janv. 2005 à 17:00
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'];?>
cs_eXon
Messages postés166Date d'inscriptionlundi 17 janvier 2005StatutMembreDernière intervention 8 avril 20071 20 janv. 2005 à 16:11
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.
cs_eXon
Messages postés166Date d'inscriptionlundi 17 janvier 2005StatutMembreDernière intervention 8 avril 20071 20 janv. 2005 à 16:15
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:
cs_bonobos
Messages postés34Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention15 décembre 2005 20 janv. 2005 à 17:40
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 -->
<?
cs_eXon
Messages postés166Date d'inscriptionlundi 17 janvier 2005StatutMembreDernière intervention 8 avril 20071 20 janv. 2005 à 21:45
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.