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 :

Afficher une table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut Afficher une table
    Bonjour

    J'aimerai me faire un programme générique pour afficher une table de donnée quelconque dans un fichier texte. Voici ce que j'ai fait :
    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
    <?php session_start();
    include "../include/session.php"; // protection : vérification des variables de sessions
    include "../config/base.php"; // ouverture de la bonne base de données
     
    $base=$HTTP_GET_VARS['choix']; // récupération du nom de la base
     
    $query="select *  FROM $base"; // lecture de la base
    $result = mysql_query($query);
     
    while ($val = mysql_fetch_array($result)) // parcours des lignes
    {
     foreach ($val as $entree) // parcourt des colonnes
      echo "$entree ";
     echo "
    "; // saut de ligne
    }
     
    mysql_close(); // fermeture de la base
    ?>
    Devant ma surprise du résultat, j'ai modifié un peu ce programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     foreach ($val as $key => $entree) // parcourt des colonnes
      echo "$key => $entree , ";
     echo "
    "; // saut de ligne
    Et voici le code récupéré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    0 => bernard , nom => bernard , 1 => 1 , lire => 1 , 2 => b1ff5ef06673c0129d3568af9daef561 , passe => b1ff5ef06673c0129d3568af9daef561 , 3 => T ma12 , module => T ma12 , 
    0 => elian , nom => elian , 1 => 2 , lire => 2 , 2 => d41d8cd98f00b204e9800998ecf8427e , passe => d41d8cd98f00b204e9800998ecf8427e , 3 =>  , module =>  , 
    0 => samuel , nom => samuel , 1 => 1 , lire => 1 , 2 => d41d8cd98f00b204e9800998ecf8427e , passe => d41d8cd98f00b204e9800998ecf8427e , 3 =>  , module =>  , 
    0 => aline , nom => aline , 1 => 2 , lire => 2 , 2 => d41d8cd98f00b204e9800998ecf8427e , passe => d41d8cd98f00b204e9800998ecf8427e , 3 => T ma11
     ma12 ma22 , module => T ma11
     ma12 ma22 ,
    Mes questions :
    1) Est-ce normal que j'ai à la fois les indices nombre et nom (0 et nom par exemple)
    2) J'aimerai pouvoir générer un saut de ligne sans code html (comme un <br />) dans l'affichage par firefox. Est-ce envisageable ? (je pense que non ).
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Salut,

    Pour le saut de ligne :

    Effectivement ton browser n'affichera pas les sauts de lignes avec juste des "\n" mais tu as deux solutions :

    ns2br() qui va convertir les \n en <br /> ou encadrer l'affichage par <pre></pre> qui aura pour effet de préformater l'affichage.

    Pour les indices c'est dû à mysql_fetch_array(). Pour avoir juste les indices du nom des champs : mysql_fetch_assoc()

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Merci pour mysql_fetch_assoc
    Pour l'autre point... Mon but est de générer un fichier sans aucune balise... C'est donc moi qui balise : pas de solution...
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  4. #4
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Salut,

    Le "\n" n'est pas une balise mais un caractère invisible, un simple retour à la ligne.
    Le balisage tu le fais à l'affichage et non à l'insertion.

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Pour le balisage, le problème est autre (et n'a rien à voir avec le php ou le MySQL). Mon but est de générer un fichier cd cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    bernard	1	b1ff5ef06673c0129d3568af9daef561	T ma12	
    marie-claire	1	d41d8cd98f00b204e9800998ecf8427e	ma12	
    elian	2	d41d8cd98f00b204e9800998ecf8427e		
    samuel	1	d41d8cd98f00b204e9800998ecf8427e		
    aline	2	b1ff5ef06673c0129d3568af9daef561	T ma11 ma12 ma22
    afin de pouvoir le sauvegarder directement !
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  6. #6
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Et quel est le problème ?
    En utilisant "\n" le retour à la ligne se fait bien dans un fichier texte

  7. #7
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Mais l'affichage dans firefox avant sauvegarde n'est pas joli , c'est tout
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  8. #8
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Il y'a un autre moyen sinon :

    De forcer les headers "text/plain" grâce à header('content-type: text/plain'); qui va forcer le browser à interpréter comme un fichier text simple et donc formater l'affichage sans balise

  9. #9
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut

    Et je ne sais que dire d'autre !
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

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

Discussions similaires

  1. Afficher une table dans un formulaire
    Par noob_vba dans le forum IHM
    Réponses: 8
    Dernier message: 20/06/2006, 16h54
  2. Comment Afficher Une Table A L'aide Quick Report
    Par lnpt23 dans le forum Bases de données
    Réponses: 8
    Dernier message: 20/06/2006, 15h56
  3. Afficher une table masquée
    Par Tierisa dans le forum Access
    Réponses: 2
    Dernier message: 14/06/2006, 09h08
  4. Réponses: 24
    Dernier message: 02/06/2006, 10h58
  5. [C#] creer et afficher une table en code behind
    Par shams dans le forum ASP.NET
    Réponses: 9
    Dernier message: 13/07/2005, 16h51

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