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

Langage PHP Discussion :

Crée un tableau avec php/mysql


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut Crée un tableau avec php/mysql
    Bonjour voilà je suis vraiment bloqué ,je voudrais aller chercher des informations sur une table mysql et retourner le résultat sous forme de tableau mais je n'y arrive pas...

    Je voulais savoir si quelqu'un pouvait m'aider.

    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
    <?php 
    session_start(); // On relaye la session
    if (session_is_registered("authentification") && $_SESSION['privilege'] == "user"){ // vérification sur la session authentification (la session est-elle enregistrée?)
    // On vérifie également si la session ouverte est bien une session admin et on place ici les éventuelles actions en cas de réussite de la connexion
    }
    else {
    header("Location:index.php?erreur=intru"); // redirection en cas d'échec
    }
    require('connexion.php');
    ?>
     
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
    <html>
     
    <head>
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="styles.css" rel="stylesheet" type="text/css">
    <meta name="" content="">
    <title>Supprimer une annonce</title>
    <meta name="Microsoft Theme" content="none">
    </head>
    <?php include_once('haut.php'); ?>
    <body>
    <?
        $date=date("Y-m-d H:i:s");  // Date actuelle au format (JJ-MM-AAAA)
        $ladate=date("d-m-Y");
        $lheure=date("H:i:s");
    ?>
    <div align="center">
      <table width="90%" border="0" align="center">
        <tr>
          <td><font size="2" class="titre">Rechercher une demande</font></td>
      </tr>
      <tr>
          <td height="22"> 
            <div align="left"> 
              <p align="left"><u>Pour plus de detail sur une annonce, 
                vous devez cliquer sur le lien '<font color="#0099CC">Detail</font>'</u></p>
          </div>
          </td>
      </tr>
    </table>
      <br>
      <form method="post" action="">
        <table width="90%" border="1" cellpadding="0" cellspacing="0" class="tableaux">
          <tr> 
            <td width="2%"><b>Nom;</b></td>
            <td width="19%"><b>Prénom </b></td>
            <td width="37%"><b>Message</font></b></td>
            <td width="28%"><b>Etat</b></td>
            <td width="14%"><b>Detail</b></td>
          </tr>
          <?      
              $j=1;
     
            $dbprotect = mysql_connect($hostname_dbprotect, $username_dbprotect, $password_dbprotect) or trigger_error(mysql_error(),E_USER_ERROR); 
            mysql_select_db($database_dbprotect, $dbprotect);
            $select = ("SELECT 'Nom_du_patient','Prenom_du_patient','Etat' FROM `dossier_tbl` WHERE service='user'");
            $result = mysql_query($select,$dbprotect) or die("Erreur SQL : $resultat<br/>".mysql_error());;
            $total = mysql_num_rows($result);
     
        if($total) {
              while( $ligne=mysql_fetch_array($result)){?>
                <tr> 
                    <td width="2%"> 
                      <?php echo $j++; ?>
                    </td>
                    <td width="19%">
                      <?php echo $ligne["Nom_du_patient"]; ?> 
                    </td>
                    <td width="37%"> 
                      <?php 
                      echo stripslashes(nl2br($ligne["Prenom_du_patient"])); 
                      ?>
                      &nbsp;
                    </td>
                    <td width="28%">
                      <?
                      echo $ligne["Etat"];
                       ?>
                      &nbsp;
                    </td>
                    <td width="14%"> <div align="center"><a href="detail.php?form_no=<?php echo $ligne["id"];?>">Detail</a></div>
                    </td>
                </tr> 
                    <? } ?>
     
          <? } ?>
        </table>
      </form>  
      <p>&nbsp;</p>
      <p><a href="ajouter.php">Ajouter une annonce</a></p>
      <p>&nbsp;</p>
    </div>
     
    </body>
    </html>
    <? include_once('bas.php'); ?>

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 464
    Points : 4 645
    Points
    4 645
    Par défaut
    Salut,

    C'est où que tu coinçe ?

    note : je ne crois pas que ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $total = mysql_num_rows($result);
    if($total)
    soit nécessaire, tu peux directement partir sur ton while

    ps : t'as un point-virgule en trop ligne 60
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Salut,

    ta requête SQL n'est tout simplement pas bonne (ou du moins, elle ne fait pas tout a fait ce que tu souhaites faire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            $select = ("SELECT 'Nom_du_patient','Prenom_du_patient','Etat' FROM `dossier_tbl` WHERE service='user'");
    devrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            $select = ("SELECT `Nom_du_patient`,`Prenom_du_patient`,`Etat` FROM `dossier_tbl` WHERE service='user'");
    Les guillemets simples et doubles ( "", '' ) sont vue comme une chaine de caractères par MySQL. (Ce dernier ne va jamais "les interpréter" (ce ne seront pas des nom de colonne, table ou des mots réservées).

    Si je reprend ta requête SQL, MySQL retourne 3 colonnes avec des valeurs fixes : Nom_du_patien, Prenom_du_patient et Etat.

    Ce que tu veux faire est en réalité informer mysql que certaines valeurs (le nom de tes colonnes) ne sont pas des mots réservées mais que MySQL doit toute même "interpréter" la valeur. (Ici considérer «nom_du_patient» en tant qu'une colonne).

    Une petite chose, tu n'as pas besoin de vérifier le nombre d'enregistrement pour effectuer ta boucle mysql_fetch_array().

    Concrètement tu peux utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    $result = mysql_query($select,$dbprotect) or die("Erreur SQL : $resultat<br/>".mysql_error());
     
    while( $ligne=mysql_fetch_array($result)){?>
    ...
    puisque PHP effectue en deux temps la boucle

    la première est de définir la valeur de la variable
    (Récupère la prochaine donnée si elle existe, si elle n'existe pas la fonction retourne tout simplement «false» sans afficher d'erreur)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ligne=mysql_fetch_array($result)
    la 2e est d'interpréter la variable en tant que condition

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Par simple hasard, lorsque tu visites la page correspondante au code php que tu as posté plus bas il n'y aurai pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ".mysql_error());; $total = mysql_num_rows($result); if($total) { while( $ligne=mysql_fetch_array($result)){?>
    qui est affiché dans ton navigateur ? (Normalement il est affiché juste au dessus de ton tableau)

    Si c'est le cas je regarderais le code HTML de la page (Généralement, clic droit dans ta page web dans ton navigateur puis «Afficher la source») pour t'inviter à remarque quelque chose. Certaines portions de ton code php sont envoyées au navigateur.

    Pourquoi ? PHP n'est tout simplement pas interpelé à analyser ces portions. Il existe deux raisons :
    • PHP n'est pas correctement installé via Apache (je peux t'affirmer que ce n'est pas le problème ici puisque le code HTML n'est pas identique à 100% au code que tu nous a posté. Par conséquent PHP effectue bien son travail... sur certains blocs uniquement
    • Tu n'a pas ouvert de «balise» php.

    Si tu remarques bien, les portions de code PHP non interprétées son ouverts via qui, selon la documentation PHP est une manière de débuter la programmation en PHP.
    En réalité, cette balise peut être utilisée selon la valeur de la directive (du fichier php.ini) short_open_tag. Si elle vaut «on» (ce qui n'est plus le cas depuis plusieurs années) alors PHP analyse le code des balises débutantes par . Autrement (ce qui est notre cas), PHP retourne (au même titre que les balises HTML ou n'importe quelle chaine de caractères) tout simplement la «chaine de caractères» au navigateur.

    En résumé, remplace toute utilisation de dans ton code par et n'utilise plus jamais

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    oui, exactement il y a ce que vous dite ! qui est afficher juste au-dessus du tableau

Discussions similaires

  1. [MySQL] Afficher un tableau avec php mysql
    Par slnprojet dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/07/2010, 16h56
  2. [SGBD] Gérer des droits avec php/mysql
    Par pontus21 dans le forum Administration
    Réponses: 9
    Dernier message: 04/05/2006, 19h56
  3. Quel SGBD avec PHP : MySQL ou Postgres
    Par charliejo dans le forum Requêtes
    Réponses: 6
    Dernier message: 25/01/2006, 12h13
  4. Apparition d'un tableau avec PHP
    Par poah dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/12/2005, 15h09
  5. multi update avec php/ mysql
    Par arnoweb dans le forum Administration
    Réponses: 1
    Dernier message: 17/11/2005, 22h10

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