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 des données dans un tableau [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 23
    Par défaut afficher des données dans un tableau
    Bonjour

    j'aimerai afficher des données d'une table dans un tableau de 4 colonnes et ensuite que les lignes s'ajoutent au fur et à mesure des entrées.

    j'y travaille depuis plusieurs jours... soit je n'ai que ma dernière entrée, soit je n'ai qu'une ligne et plusieurs colonnes soit l'inverse, que des lignes dans une cellule.

    c'est un tuto que j'ai trouvé et que j'ai tenté de mettre à profit... j'ai essayé de comprendre mais là, je ne sais plus quoi faire...

    si vous pouviez m'indiquer mon erreur ? je suis inexpérimenté

    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
     
    <?php
    // $NbreData : le nombre de données à afficher
    // $NbrCol : le nombre de colonnes
    // $NbrLigne : calcul automatique AVANT affichage
    // -------------------------------------------------------
    // on se connecte à notre base
    				mysql_connect ("localhost", "id", "mdp");
    				mysql_select_db ("table");	
    // requête
    $sql = "SELECT ref_a, lieu_a, auteurdate_a, url_a FROM table ORDER BY id"; 
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    //-----------------------
    $result = mysql_query($sql);
    $NbreData = mysql_num_rows($result);
     
    if ($result == 0) {
    	echo 'Pas de photo pour le moment.';
    }
    else {
    	while ($data = mysql_fetch_array($req)) {
    $ref = $data['ref_a'];
    $url = $data['url_a'];
    $lieu = $data['lieu_a'];
    $page = '<a href=" '.$url.' ">'.$lieu.'</a>';
     
    // affichage
    $NbrCol = 4;
    $NbrLigne = 0;
    if ($NbreData != 0) {
    $j = 1;
    echo '<table border="1" cellspacing="8">';
    echo '<tr>';
    if ($j%$NbrCol == 1) {
            $NbrLigne++;
          $fintr = 0;
       }
       echo '<td>';
            // AFFICHAGE des DONNEES
      echo '<br />';
    	echo $ref;
        echo '&nbsp','-','&nbsp';
       echo $page;
       echo '<br />';
       echo $autdat;
       }
     
        // ------------------------------------------
       echo '</td>';
       if ($j%$NbrCol == 0) {
          echo '</tr>';
          $fintr = 1;
       }
       $j++;
     
    if ($fintr!=1) { echo '</tr>'; }}}
    echo '</table>';
    // on libère l'espace mémoire alloué pour cette requête
    mysql_free_result ($req);
    mysql_close();
    ?>
    merci pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par ytzmi Voir le message
    ...c'est un tuto que j'ai trouvé...
    "ton" tuto * me fait beaucoup penser au mien : Affichage de données dans un tableau HTML

    Par contre, je l'ai mis à jour en août 2016, et suis passé de l'API mysql_ (OBSOLETE !!) à PDO.

    Je t'invite donc à en faire autant (Comprendre PDO), et reprendre cette section : IV. Affichage "en ligne" avec Base de Données



    * Peux-tu me dire où tu l'as trouvé (URL ?) ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 23
    Par défaut
    bonjour

    * Peux-tu me dire où tu l'as trouvé (URL ?) ?
    J'en ai fais plusieurs et oui, il semblerai que ce soit le tien...

    Donc, j'en conclus que je dois impérativement passer en PDO car je n'aurai aucune aide...
    le site est héberger par Free...

    j'ai essayé il y a quelques mois pour une autre page et ça ne fonctionnait pas....


    Free serait entrain de le mettre en place... comment savoir si c'est fait ?
    tu vas me répondre en refaisant tout ton tuto
    youpi !

    ok....
    j'ai repris et voici.
    ma page connexion.php a été mise en ligne

    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
     
    <?php require('connexion.php'); ?>
    <!DOCTYPE html>
    <html>
    <head>
    	 <meta charset="utf-8" />
    	 <title>Affichage en ligne avec Base de Donnees</title>
    </head>
    <body>
     
    <?php
    // --------------------------------
    // $NbrCol : le nombre de colonnes
    // $NbrLigne : calcul automatique a la FIN
    $NbrCol = 4;	// (par exemple)
    // --------------------------------
    // La requete (exemple) : toutes les "CHOSE" commençant par un "b", classées par ordre alphabétique.
    $query = "SELECT ref_a, lieu_a, auteurdate_a, url_a FROM table ORDER BY id;";
      try {
    	$pdo_select = $pdo->prepare($query);
    	$pdo_select->bindValue(	':ref_a', 'lieu_a', 'auteurdate_a', 'url_a', PDO::PARAM_STR);
    	$pdo_select->execute();
    	$NbreData = $pdo_select->rowCount();	// nombre de cellules à remplir
    	$rowAll = $pdo_select->fetchAll();
      } catch (PDOException $e){ echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    // --------------------------------
    // affichage
    $NbrLigne = 0;
    if ($NbreData != 0) {
    	$j = 1;
    ?>
    	<table border="1">
    	<tbody>
    <?php
    	foreach ( $rowAll as $row )
    	{
    		if ($j%$NbrCol == 1) {
    			$NbrLigne++;
    			$fintr = 0;
    ?>		<tr>
    <?php		}
    ?>
    			<td>
    <?php			// -------------------------
    			// DONNEES A AFFICHER dans la cellule
    			echo $row['ref_a'];
    			echo '<br/>';
    			echo '<i>'.$row['auteurdate_a'].'</i>';
    			// -------------------------
    ?>			</td>
    <?php		if ($j%$NbrCol == 0) {
    			$fintr = 1;
    ?>		</tr>
    <?php		}
    		$j++;
    	} // fin while
    	// fermeture derniere balise /tr
    	if ($fintr!=1) {
    ?>		</tr>
    <?php	} ?>
    	</tbody>
    	</table>
    <?php
    } else { ?>
    	pas de données à afficher
    <?php
    }
    ?>
     
    </body>
    </html>
    le message d'erreur est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    syntax error, unexpected '{' in
    qui correspond à

    désolé mais cela fait des semaines que je travaille là-dessus... cela paraît tellement simple mais mon inexpérience me bloque

    merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    le site est héberger par Free...
    Argh !... C'est vrai qu'ils sont en retard pour PDO...


    Cela dit, le principe reste le même !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 23
    Par défaut
    Cela dit, le principe reste le même !
    cela m'avance vraiment ?
    car là, je ne vois pas...

  6. #6
    Invité
    Invité(e)
    Par défaut
    1/ Un message d'erreur se lit jusqu'au bout (là, tu ne montres que le début...)

    2/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $query = "SELECT ref_a, lieu_a, auteurdate_a, url_a FROM table ORDER BY id;";
      try {
    	$pdo_select = $pdo->prepare($query);
    	$pdo_select->bindValue(	':ref_a', 'lieu_a', 'auteurdate_a', 'url_a', PDO::PARAM_STR);
    Que vient faire ce $pdo_select->bindValue ici ?

    Je t'ai mis des liens, ce n'est pas pour rien...

    Il faut savoir avancer pas à pas.
    Avant de t'engager à faire cette <table>, commence déjà par apprendre à faire des requêtes PDO, et à en afficher le contenu.

    Tu peux aussi créer la table MATABLE, selon l'exemple, et copier-coller le code fourni.

    3/ Si PDO ne fonctionne pas sur free.fr, reviens à la syntaxe mysql_, mais en adaptant la structure de code donné pour PDO.

    Et puis... on ne peut pas apprendre à ta place...


    N.B. Une dernière chose : DEBOGAGE DE BASE
    • AFFICHE les variables / requetes : echo ....;
    • AFFICHE les array : var_dump(....);
    • AFFICHE le code HTML généré, pour voir si la <table> a la structure voulue.
    • ...

    Bref, au lieu de rester comme une poule devant un couteau, AGIS !
    Dernière modification par Invité ; 01/05/2017 à 16h51.

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

Discussions similaires

  1. [WD10] Afficher des valeurs dans un tableau
    Par dj-julio dans le forum WinDev
    Réponses: 4
    Dernier message: 19/03/2014, 11h32
  2. Afficher des données dans un tableau
    Par scarfunk dans le forum VB.NET
    Réponses: 16
    Dernier message: 26/04/2010, 16h45
  3. Réponses: 1
    Dernier message: 28/08/2009, 02h45
  4. Réponses: 3
    Dernier message: 05/12/2005, 02h30
  5. [BDE] Afficher des données dans un TDBComboBox
    Par $grm$ dans le forum C++Builder
    Réponses: 6
    Dernier message: 30/09/2004, 10h37

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