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 :

tableau HTML pour présentation des résultats de requêtes [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut tableau HTML pour présentation des résultats de requêtes
    bonjour à tous !!!

    Je suis un débutant en php/sql et je bloque sur ce probleme :

    Jai une base de données et un formulaire en php/html qui permet d'executer des requetes sur la base (recherche de titres...)
    Je présente les resultats de mes requetes dans un tableau html généré par php... le souci est que mon tableau est formé d'une seule ligne et d'un nombre variable de colones (en fonction du nombre de résultats...).
    J'aimerai maintenant faire en sorte que mon tableau prenne par exemple la forme : 10 colonnes et x lignes (en fonction des resultats)

    Voici le code que j'utilise :

    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
     
    echo "<table align='center' border='3' bordercolor='#FF0000' cellspacing='0'>";
    echo "<tr>";
    while ($data = mysql_fetch_assoc($resultat)) {
     
    	echo "<td align='center'>";
    	echo "<b>";
    	echo $data['ID'];
    	echo "<br>";
    	echo $data['Titre'];
    	echo "</b><br>";
    	$image_path = $data['Image'];
    	echo "<img src='$image_path'><br>";
    	echo "</td>";
     
    }
    echo "</tr>";
    echo "</table>";
    Voilà, j'espère avoir été assez clair....

    Merci d'avance pour votre aide...

  2. #2
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    ben tu es pas mal parti, qu'est ce que tu veux rajouter??? si tu veux 10 colonnes rajoute des balises <td></td> entre tes <tr></tr>.....

    suggestion :
    utilise des CSS pour formater ton tableau, ça te simplifiera la vie plus tard.
    Essaies de formater ton code HTML en XHTML (fais pas comme moi ) :
    <br> -> <br />
    <img>-><img />
    Mets un attribut alt/title à ton image

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    merci de ta réponse gerald2545.

    Mai en fait pour le moment mon tablo a cette forme (pluto schématic ):
    ________________
    | | | | |
    | | | | | .....
    | | | | |
    ________________

    et je voudrai qu'il devienne :

    ________
    | | |
    | | |
    | | |
    ________
    | | |
    | | |
    | | |
    ________
    ...
    .
    .
    .

    Voilà je sais pas si j'avais été très clair la derniere fois...

    Merci d'avance!!!

  4. #4
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    j'ai pas bien compris, tu peux mettre des données dans ton tableau que je vois concrètement ce que ça donne, ainsi que les endroits ou tu reviens à la ligne...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Tu dois mettre les balises <tr> à l'intérieur de ta boulce while
    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
    
    echo "<table align='center' border='3' bordercolor='#FF0000' cellspacing='0'>";
    
    while ($data = mysql_fetch_assoc($resultat)) {
    echo "<tr>";	
    	echo "<td align='center'>";
    	echo "<b>";
    	echo $data['ID'];
    	echo "<br>";
    	echo $data['Titre'];
    	echo "</b><br>";
    	$image_path = $data['Image'];
    	echo "<img src='$image_path'><br>";
    	echo "</td>";
    echo "</tr>";	
    }
    
    echo "</table>";

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    je vai etre un peu chiant...

    j'avai déja essayé cette solution mai ca ne fai que créer un tableau d'une colonne et X lignes.
    Je souhaiterai avoir un tableau de 10 colonnes et x lignes... il fo ke je me replonge dans l'algorithmique

  7. #7
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    une colonne est définie par les balises <td>contenu</td>. Donc si tu mets 10 fois cette balise dans ta boucle entre les balises <tr></tr>, ça te fera tes 10 colonnes, avec autant de lignes que d'enregistrements retournés par ta requête.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Ca y est !!!! Merci de ton aide gerald2545, je vien de trouver la solution !!!

    J'ai également lu la doc sur la fonction mysql_fetch_assoc et j'ai compris que chaque foi qu'elle est appelée elle passe à l'enregistrement suivant dans le tableau... donc voici le code que j'ai rajouté :

    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
    function affiche($resultat) {
    echo "<table align='center' border='3' bordercolor='#FF0000' cellspacing='0'>";
    	while ($data = mysql_fetch_assoc($resultat)) {	
    		echo "<tr>";
    		echo "<td align='center'>";
    		echo "<b>";
    		echo $data['ID'];
    		echo "<br>";
    		echo $data['Titre'];
    		echo "</b><br>";
    		$image_path = $data['Image'];
    		echo "<img src='$image_path'><br>";
    		echo "</td>";
    		$data = mysql_fetch_assoc($resultat);
    		echo "<td align='center'>";
    		echo "<b>";
    		echo $data['ID'];
    		echo "<br>";
    		echo $data['Titre'];
    		echo "</b><br>";
    		$image_path = $data['Image'];
    		echo "<img src='$image_path'><br>";
    		echo "</td>";
    		echo "</tr>";
    	}
    
    echo "</table><br><br>";
    }
    Il fallait donc rappeler une fois cette fonction pour passer à l'enregistrement suivant et crééer ainsi une autre <td></td> !!!

    Ouf !!!
    Encore merci de votre aide à tous, encore un forum vraiment utile et agréable !!
    Bonne continuation !!

  9. #9
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    Bon ben si tu es content tant mieux

    je n'avais pas vraiment compris ce que tu voulais faire apparemment.
    MAis bon le principal est que tu aies resolu ton souci,
    n'oublies pas de marquer ce post RESOLU,
    merci d'avance.

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

Discussions similaires

  1. [AC-2000] Requêtes pour gérer des résultats de tournois
    Par Sadavir dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 21/05/2010, 09h45
  2. Réponses: 5
    Dernier message: 08/01/2009, 09h05
  3. Réponses: 4
    Dernier message: 20/03/2008, 17h23
  4. Réponses: 1
    Dernier message: 17/06/2007, 10h10
  5. Réponses: 5
    Dernier message: 23/02/2007, 09h04

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