begin process at 2012 05 31 18:26:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Tester une cellule vide dans un champ ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tester une cellule vide dans un champ ?

jeudi 20 janvier 2005 à 15:12:02 | Tester une cellule vide dans un champ ?

bonobos

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 !<br />'.$sql.'<br />'.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"><p align="center"><a href= mairies_web onclick="return apercu('<? echo $row['url'];?>')"><font face color="black" size="2" p align="center"><b>Commune de&nbsp;<font face color="darkblue"><? echo $row['mairies'];?></font></b></font></a></p></td>
                                       
        <td width="15" height="21" align="center">
            <p><img src="img/icone_tel.gif" width="21" height="21" border="0"></p></td>
                 
 <td width="386" height="21" align="center">
            <p align="left"><font face color="maroon" size="2" p align="center"><b><? echo $row['tel'];?></b></font></p></td>
  
 </tr>
<?
bla-bla-bla-bla
?>

jeudi 20 janvier 2005 à 15:52:43 | Re : Tester une cellule vide dans un champ ?

eXon

Membre Club
Tu n'as qu'à utilisé la fonction mysql_num_rows(). Exemple:
if(mysql_num_rows($result) < 1){
    echo 'Vide';
}
else{
     // ...
}

----------------
eXon
http://www.lookstrike.com
jeudi 20 janvier 2005 à 15:55:38 | Re : Tester une cellule vide dans un champ ?

malalam

Administrateur CodeS-SourceS
Hello,

ou alors tu fais un simple if dans l'affichage de ton tableau

if ($row['url']=="")
    affichage sans lien
else
    affichage avec lien
jeudi 20 janvier 2005 à 16:11:32 | Re : Tester une cellule vide dans un champ ?

eXon

Membre Club
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.

----------------
eXon
http://www.lookstrike.com
jeudi 20 janvier 2005 à 16:15:19 | Re : Tester une cellule vide dans un champ ?

eXon

Membre Club
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:
 if(empty($row['url'])){
    echo 'Pas de site';
}
else{
    // ...
}

----------------
eXon
http://www.lookstrike.com
jeudi 20 janvier 2005 à 16:18:18 | Re : Tester une cellule vide dans un champ ?

malalam

Administrateur CodeS-SourceS
Me disais aussi...lol.
jeudi 20 janvier 2005 à 17:40:51 | Re : Tester une cellule vide dans un champ ?

bonobos

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...

?>
    <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 !<br />'.$sql.'<br />'.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
  ?>
       <tr class="classe1" onmouseover="this.className='classe2';" onmouseout="this.className='classe1';">
     

       <td width="693" height="21" align="center"><p align="center"><a href= mairies_web onclick="return apercu('<? echo $row['url'];?>')"><font face color="black" size="2" p align="center"><b>Commune de&nbsp;<font face color="darkblue"><? echo $row['mairies'];?></font></b></font></a></p></td>
                                       
        <td width="15" height="21" align="center">
            <p><img src="img/icone_tel.gif" width="21" height="21" border="0"></p></td>
                 
 <td width="386" height="21" align="center">
            <p align="left"><font face color="maroon" size="2" p align="center"><b><? echo $row['tel'];?></b></font></p></td>
  
 </tr>
 <?
  } 

    // on libère l'espace mémoire alloué pour cette requête
    mysql_free_result ($req);
    ?>
    </table>
   
<p align="center">
<?php

    // on affiche enfin notre barre
    echo '<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';
}
// 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 ();
?>
<br><br>
<!--Début script de page modifiée le-->
<p align="left"><font face="Comic Sans MS"  color="black"><i><?print("Dernière modification le ");?><?print(date("d/m/Y", filemtime($SCRIPT_FILENAME)));?></i></font></p>
<!--Fin du script de page modifiée le-->

<BR><BR>
<!-- Fin du script en français -->
<?
}
else {     ERREUR ICI !!
?>
<!-- Début du script en anglais -->
<?

jeudi 20 janvier 2005 à 18:26:32 | Re : Tester une cellule vide dans un champ ?

Anthomicro

Salut,

évite les multiples ouvertures/fermetures des balises php (qui ne sont pas au passage <? mais <?php)

Ensuite ça :

<table width='100%' cellspacing="1" border="1" bordercolordark="white" bordercolorlight="maroon">

toujours mettre entre guillemets doubles les attributs html

<table width="100%" cellspacing="1" border="1" bordercolordark="white" bordercolorlight="maroon">

ensuite tu peux transformer ça en CSS mais bon c'est pas le but de la question (quoi que, ça serait utile)

<BR> et <br> : à remplacer par <br />

ensuite
<p align="left">

le <p> suffit normalement ;-)

<p align="center">à remplacer par :

<p style="text-align:center">

ton mysql_close ();  tu peux le mettre juste après avoir fait la requête pour avoir une connexion la plus courte possible.

Ensuite le mysql_fetch_array() peut être remplacé par un mysql_fetch_row() plus rapide.

ça donnerait ça :

dans une CSS :

.a{
width:693px;
}
.b{
width:15px;
}
.a,.b{
height:21px;
text-align:center;

}
.c{
width:386px;
height:21px;
font-weight:bold;

}

while ($row = mysql_fetch_row($req))
{
    if(empty($row[2])){
        echo 'Pas de site';
    }
    else{
        echo '<tr class="classe1" onmouseover="this.className=\'classe2\';"         onmouseout="this.className=\'classe1\';">
     <td class="a"><a href= mairies_web onclick="return apercu(\'',$row[2],'\')"><b>Commune de&nbsp;<span style="color:#0000FF">',$row[0],'</span></b></a></td>
                                       
         <td class="b"><img src="img/icone_tel.gif" style="border:0;height:21px;width:21px"></td>
         <td class="c">',$row[1],'</td>
         </tr>';
  }
}

a ++

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
jeudi 20 janvier 2005 à 18:30:58 | Re : Tester une cellule vide dans un champ ?

Anthomicro

tu peux aussi remplacer ça :

<img src="img/icone_tel.gif" style="border:0;height:21px;width:21px">

par ça :

<img src="img/icone_tel.gif" class="d">

et rajouter ça dans la CSS :

.d{
border:0;
height:21px;
width:21px;

}

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
jeudi 20 janvier 2005 à 21:45:59 | Re : Tester une cellule vide dans un champ ?

eXon

Membre Club
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.

----------------
eXon
http://www.lookstrike.com

1 2

Cette discussion est classée dans : sql, tester, debut, bla, mairies


Répondre à ce message

Sujets en rapport avec ce message

Traitement en deux parties d'une requete SQL [ par Tomcube ] Je m'explique.Je fais une requete SQL pour avoir tous les évènements qui vont se passer ou qui se sont déjà déroulés (par exemple dans une page "évène conseil et pb en sql avec mysql [ par herveguedj ] j'ai sur une page rech.php des liste pour le sexe sans bd et une liste qui liste les regions de ma table regionquand je fais une requete$sql="select Dreamweaver sql php au secours !! [ par fantastinet ] J'ai un problème avec dreamweaverje voudrais refaire mon site (http://Www.fantastinet.fr.st) a peu près de la meme facon mais avec sql phpj'ai créé un Stockés des formules PHP dans une BD SQL [ par macar ] J'aimerais pouvoir stockés dans des champs d'une table SQL des formules PHP (pour le moment pas de problème.Ma question en fait est comment exécuter à Requête et date, à l'aide !!! [ par Splite ] BonjourVoilà je voudrais executé cette requête SQL sur ma BDD, mais ca ne fonctionne pas, est ce que vous auriez une petite idée, merci $sql_delete = Erreur Mysql [ par FearBlue ] Slt a tous!!!!jai une erreur mysql :je v vous montrer mon code c en rapport avec LIKEif(isset($HTTP_POST_VARS['recherche'])){$db = mysql_connect('loca pb sql est les listes box [ par herveguedj ] bonjour,j'ai un site auto avec un formulaire de rech par marque un combo box qui liste toutes les marques je voudrais que quand la personne clique sur ## Où est l'erreur ???? bon diou !! [ par kodiask ] voila dite moi pourkoi lorsque je met le code la, il n'y a rien ki saffiche ? (c un système de citation aléatoire)mysql_select_db('cit_tbl',$db); $que sil vou plé où est l'erreur ? [ par kodiask ] voilà g fai un système de citation au hazard et kanje met le code là il maffiche rien du tout , pourkoi ? merci ....mysql_select_db('cit_tbl',$db); $q requête sql [ par yeble ] je débute en base de données, j'essaie de reproduire votre exemple de site marchand pour comprendre le fonctionnement.j'ai crée 2 tables (articles, ma


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales