IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Fermer une boucle simple quand il y en a une deuxieme de Mysql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Par défaut Fermer une boucle simple quand il y en a une deuxieme de Mysql
    Bonjour,

    j'ai un petit probleme pour fermer une boucle simple php qui est en conflit avec deuxieme de Mysql, car l'objectif est d'avoir un message de confirmation de la rechercher effectué en indiquant le nom tapé de la recherche, pour cela :

    J'ai mis une condition If au milieu de mon tableau html, pour afficher le nom tapé de la recherche, deplus la boucle while pour mon tableau est obligatoire, pour afficher les resultats dans le tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php while($ligne=mysql_fetch_array($resultat)){ 
    	  if($requete) {
    	  echo '<div align="center"><font face="arial" size="4" color="red">Résultat de votre recherche celon : '.$nom.'.  <p>Listing ! </p></font></div> '; 
    	  } 
    	  ?>
    je n'arrive pas a mettre deux fermeture de boucles ( } ) etant donnée qu'il y en a deux autre plus bas

    dans le tableau il me faut la boucle pour afficher tout les resultat, voila pourquoi j'utilise while
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tr>
            <th scope="row"><?php echo $ligne['id']?></th>
            <td><?php echo $ligne['Societe']?></td>
            <td><?php echo $ligne['Nom']?></td>
    etc...

    Plus bas pour fermer la boucle de mon tableau html j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
    	  //echo $ligne['id']. $ligne['Nom']."<br/>" ;
    	  } 
    	  }//toute la ligne est comprise dans la boucle while 
    	  ?>
    Tout le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
     
    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Recherche d'un nom dans l'annuaire téléphonique</title>
    <style type="text/css">
    <!--
    .Style1 {color: #FF0000}
    -->
    </style>
    </head>
     
    <body>
     
    <?php  
    // Connexion a la BDD avec login.php
    require ('login.php');
    $link = mysql_connect("$hote", "$login", "$pass"); //or die("Erreur de connexion...") ;
    $req = mysql_select_db($bdd, $link) or die("Erreur de connexion...") ;
     
     
    /* ------------------ A PARTIR D'ICI COMMANDE DU BOUTON : RECHERCHE APPROXIMATIVE ------------------ */
     
    		if(isset($_POST['envoyer-recherche-approximative']))
      {
    				$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
     
     
       				$requete= "SELECT * FROM telephonique WHERE Nom LIKE '$nom%'";
     
     
    $resultat = mysql_query($requete) or die(mysql_error());			
    ?>
     
        <?php echo $ligne['Adresse1']?>
        <table width="1493" border="1">
          <tr>
            <th width="17" scope="col">Id</th>
            <th width="49" scope="col">Société</th>
            <th width="32" scope="col">Nom</th>
            <th width="51" scope="col">Prénom</th>
            <th width="80" scope="col">Date de naissance </th>
            <th width="63" scope="col">Adresse1</th>
            <th width="63" scope="col">Adresse2</th>
            <th width="45" scope="col">Code Postal </th>
            <th width="31" scope="col">Ville</th>
            <th width="32" scope="col">Pays</th>
            <th width="74" scope="col">T&eacute;l&eacute;phone fixe </th>
            <th width="74" scope="col">T&eacute;l&eacute;phone internet </th>
            <th width="74" scope="col">T&eacute;l&eacute;phone portable </th>
            <th width="69" scope="col">Op&eacute;rateur</th>
            <th width="25" scope="col">Fax</th>
            <th width="46" scope="col">Email1</th>
            <th width="46" scope="col">Email2</th>
            <th width="76" scope="col">Messenger</th>
            <th width="439" scope="col">Remarque</th>
          </tr>
          <tr>
            <th scope="row">&nbsp;</th>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
    	  <?php while($ligne=mysql_fetch_array($resultat)){ 
    	  if($requete) {
    	  echo '<div align="center"><font face="arial" size="4" color="red">Résultat de votre recherche celon : '.$nom.'.  <p>Listing ! </p></font></div> '; 
    	  } 
    	  ?>	
          <tr>
            <th scope="row"><?php echo $ligne['id']?></th>
            <td><?php echo $ligne['Societe']?></td>
            <td><?php echo $ligne['Nom']?></td>
            <td><?php echo $ligne['Prenom']?></td>
            <td><?php echo $ligne['date_de_naissance']?></td>
            <td><?php echo $ligne['Adresse1']?></td>
            <td><?php echo $ligne['Adresse2']?></td>
            <td><?php echo $ligne['Code_Postal']?></td>
            <td><?php echo $ligne['Ville']?></td>
            <td><?php echo $ligne['Pays']?></td>
            <td><?php echo $ligne['Telephone_Fixe']?></td>
            <td><?php echo $ligne['Telephone_Internet']?></td>
            <td><?php echo $ligne['Telephone_portable']?></td>
            <td><?php echo $ligne['Operateur']?></td>
            <td><?php echo $ligne['Fax']?></td>
            <td><?php echo $ligne['Email1']?></td>
            <td><?php echo $ligne['Email2']?></td>
            <td><?php echo $ligne['Messenger']?></td>
            <td><?php echo $ligne['Remarque']?></td>
          </tr>
    	  <?php 
    	  } 
    	  }//toute la ligne est comprise dans la boucle while 
    	  ?>
    </table>
     
    	</p>
        <p align="center">Recherche d'un nom dans l'annuaire téléphonique, Veuillez indiquer ci-dessous le nom dans le champs pour effectuer une recherche. (<span class="Style1">*</span>) Champs obligatoire.
    <form action="" method='post'>
            </p>
        <table align="center" border="0">
        <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
         </tr>
        <tr>
          <td>Recherche (<span class="Style1">*</span> )</td>
          <td><input type="text" name="nom" size="20" maxlength="20" /></td>
          <td><input type="submit" name="envoyer-recherche-approximative" value="Rechercher"></td>
        </tr>
    </table>
     
     
     
    <p>&nbsp;</p>
        <p align="center">
    <td><FORM>
    <INPUT TYPE="button" 
    	VALUE="Retour"
    	onClick="history.back()">
    </FORM>
     
    <p>&nbsp;</p>
    </body>
    </html>
    <?php 
     
     
     
     
    mysql_close();
     
     ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Déjà tu n'as qu'une seule boucle dans ton code, donc une seule boucle a fermer.
    Ensuite $requete, c'est la chaine de requete ; c'est $resultat que tu veux tester. Et pour cela tu peux utiliser mysql_num_rows().
    Je le verrais plutot, si je comprends bien ce que tu veux faire, avant ta boucle.

    Pour finir, question de HTML, une div en plein milieu du code d'un tableau je ne pense pas que ca aille ; et il vaut mieux utiliser des déclaration CSS pour la mise en page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (mysql_num_rows($resultat) != 0) {
    	  echo '<tr>
                          <td colspan="19" style="text-align:center; font-family : arial; text-size: 10px; color: red;">Résultat de votre recherche selon : '.$nom.'<p>Listing ! </p></td>
                      </tr>'; 
    }
    <?php while($ligne=mysql_fetch_array($resultat)){ 
    	  ......
     
     }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Par défaut
    bonsoir,

    J'ai du mal m'exprimer, du cou je ne sais pas si vous avez bien compris ou si j'ai mal compris

    dans tout les cas

    Lorsque j'ajoute un accolade ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php while($ligne=mysql_fetch_array($resultat)){ 
    	  if($requete) {
    	  echo '<div align="center"><font face="arial" size="4" color="red">Résultat de votre recherche celon : '.$nom.'.  <p>Listing ! </p></font></div> '; 
    	  } 
    	  }
     
    	  ?>
    Il me repond :
    Parse error: syntax error, unexpected '}' in L:\Program files 2\wamp\www\maison\N7\Mon-annuaire-telephonique\recherche-de-donnees-mysql3.php on line 122
    La ligne 122 est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	  } //toute la ligne est comprise dans la boucle while

    C'est du faite qu'il y a deux accolades en bas a la fin de mon tableau html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <td><?php echo $ligne['Remarque']?></td>
          </tr>
    	  <?php 
    	  } 
    	  }//toute la ligne est comprise dans la boucle while 
    	  ?>
    </table>
    Donc comment je peut faire..

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Lorsque j'ajoute un accolade ici
    Pourquoi veux-tu mettre une accolade la ? ca n'a pas de sens.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Par défaut
    Bonsoir,

    Tout simplement par ce que si je tape dans la recherche van, il va m'afficher :
    Résultat de votre recherche celon : van.
    Listing !
    Résultat de votre recherche celon : van.
    Listing !
    Si j'en met un seul }

    Merci.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est ce que tu veux ou ce que tu ne veux pas ce que tu viens de montrer ?

    Dans les 2 cas, l'accolade que tu ajoutes est en trop.

    Si tu ne veux pas que la ligne soit repetée a chaque résultat, il faut la mettre en dehors du while comme je te l'ai montré.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] fermer un nombre fixé de fenêtres graphiques générées par une boucle de 'plot'
    Par maraval dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 24/04/2012, 23h29
  2. Réponses: 3
    Dernier message: 07/02/2011, 10h04
  3. [PHP 5.2] [PHP-JS] petit souci avec une boucle simple
    Par gtraxx dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2009, 15h26
  4. Erreur 1004 sur une boucle simple
    Par ruzakruzak dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/07/2007, 09h00
  5. Réponses: 4
    Dernier message: 26/08/2004, 08h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo