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 le contenu d'une base de données [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 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 23
    Par défaut Afficher le contenu d'une base de données
    Bonjour à tous,
    Voici mon problème :
    J'ai beaucoup de mal avec le php et j'utilise Joomla pour mon site internet. J'ai installé le composant FacileForms.

    Voici un morceau de code qui me permet d'afficher le contenu de ma BDD :

    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
    //connexion au serveur:
     
    $cnx = mysql_connect( "localhost", "root", "" );
    //sélection de la base de données:
    $db= mysql_select_db( "joomla" );
    //création de la requête SQL:
    $sql = "SELECT id, record, title, value FROM joo_facileforms_subrecords ORDER BY record, id ASC";
     
    //exécution de notre requête SQL:
    $requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
    //récupération avec mysql_fetch_array(), et affichage de nos résultats :
    echo( "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
    echo( "<tr>
    <td><div align=\"center\">ID</div></td>
    <td><div align=\"center\">titre</div></td>
    <td><div align=\"center\">valeur</div></td>
    <td><div align=\"center\">record</div></td>
    </tr>" );
     
    $rec = -1;
     
    while( $result = mysql_fetch_array( $requete ) )
    {
    if($rec != $result["title"])
    echo "<tr><td colspan='4'>&nbsp;</td></tr>";
     
    echo( "<tr>\n" );
    echo( "<td align='center'>".$result["id"]."</td>\n" );
    echo( "<td align='center'>".$result["title"]."</td>\n" );
    echo( "<td align='center'>".$result["value"]."</td>\n" );
    echo( "<td align='center'>".$result["record"]."</td>\n" );
    echo( "</tr>\n" );
     
    $rec = $result["title"];
    }
     
    echo( "</table><br>\n" );
     
     
    ?>
    Le problème est qu'il ne m'affiche pas ce que je souhaite .

    J'obtiens ceci :
    |title|value|
    -----------------
    tarif | 0,50 |
    -------------
    objet | facture|
    ----------------

    et j'aimerai ceci :
    |tarif|objet|
    -------------------------
    0,50 | facture |
    -------------------------

    J'espère être à peu près clair

  2. #2
    Invité
    Invité(e)
    Par défaut
    il taffiche ce que tu veux, c juste un soucis de mis en page avec ton tableau

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 23
    Par défaut
    Citation Envoyé par rbaatouc
    il taffiche ce que tu veux, c juste un soucis de mis en page avec ton tableau
    C'est possible aussi...

    Mais je crois que c'est la table de ce module qui est bizarre...
    J'ai un champs title, un autre value...
    Dans title je vais avoir "tarif", "objet" et dans value value, je vais avoir "0,50", "facture".
    Il aurait fallu des champs "tarif", "objet"... mais je ne peux pas changer ça.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Par défaut
    Tu as le schema de la table ? Post le please Ca peut servir

  5. #5
    Invité
    Invité(e)
    Par défaut
    essai comme ça
    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
    //connexion au serveur:
    
    $cnx = mysql_connect( "localhost", "root", "" );
    //sélection de la base de données:
    $db= mysql_select_db( "joomla" );
    //création de la requête SQL:
    $sql = "SELECT id, record, title, value FROM joo_facileforms_subrecords ORDER BY record, id ASC";
    
    //exécution de notre requête SQL:
    $requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
    //récupération avec mysql_fetch_array(), et affichage de nos résultats :
    echo( "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
    echo( "<tr>
    <td><div align=\"center\">ID</div></td>
    <td><div align=\"center\">titre</div></td>
    <td><div align=\"center\">valeur</div></td>
    <td><div align=\"center\">record</div></td>
    </tr>" );
    
    $rec = -1;
    echo( "<tr>\n" );
    while( $result = mysql_fetch_array( $requete ) )
    {
    if($rec != $result["title"])
    
    echo "<td colspan='4'><table>";
    echo "<tr><td>&nbsp;</td></tr>";
    echo( "<tr><td align='center'>".$result["id"]."</tr></td>\n" );
    echo( "<tr><td align='center'>".$result["title"]."</tr></td>\n" );
    echo( "<tr><td align='center'>".$result["value"]."</tr></td>\n" );
    echo( "<tr><td align='center'>".$result["record"]."</td></tr>\n" );
    echo "</table></td>";
    
    $rec = $result["title"];
    }
    echo( "</tr>\n" );
    echo( "</table><br>\n" );
    
    
    ?>
    en gras ce que j'ai modifié

  6. #6
    Invité
    Invité(e)
    Par défaut
    essai comme ça alors (ça a decalé car jai pas modifié les titres)
    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
    //connexion au serveur:
    
    $cnx = mysql_connect( "localhost", "root", "" );
    //sélection de la base de données:
    $db= mysql_select_db( "joomla" );
    //création de la requête SQL:
    
    //création de la requête SQL:
    $sql = "SELECT id, record, title, value FROM joo_facileforms_subrecords ORDER BY record, id ASC";
    
    //exécution de notre requête SQL:
    $requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
    //récupération avec mysql_fetch_array(), et affichage de nos résultats :
    echo( "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
    echo( "
    <tr>
    <td>
        <table>
            <tr>
            <td><div align=\"center\">ID</div></td>
            </tr>
            <tr>
            <td><div align=\"center\">titre</div></td>
            </tr>
            <tr>
            <td><div align=\"center\">valeur</div></td>
            </tr>
            <tr>
            <td><div align=\"center\">record</div></td>
            </tr>
        </table>
    </td>
    
    " );
    
    $rec = -1;
    
    while( $result = mysql_fetch_array( $requete ) )
    {
    if($rec != $result["title"])
    
    echo "<td><table>";
    echo "<tr><td>&nbsp;</td></tr>";
    echo( "<tr><td align='center'>".$result["id"]."</td></tr>" );
    echo( "<tr><td align='center'>".$result["title"]."</td></tr>" );
    echo( "<tr><td align='center'>".$result["value"]."</td></tr>" );
    echo( "<tr><td align='center'>".$result["record"]."</td></tr>" );
    echo "</table></td>";
    
    $rec = $result["title"];
    }
    echo( "</tr>\n" );
    echo( "</table><br>" );
    ?>
    en gras ce que j'ai modifié

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 23
    Par défaut

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 23
    Par défaut
    @rbaatouc : tout est déformé
    Il doit y avoir un problème avec une balise

    Quelqu'un peut-il me dire se que signifie exactement cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo( "<td align='center'>".$result["value"]."</td>\n" );

  9. #9
    Membre éprouvé
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Par défaut
    Voila monsieur, c'est fait un peu vite kand meme y'a peut etre de petites erreurs
    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
     
    function getFormData( $date = '' , $link = 'db' ) {
    	global $$link;
    	// s'assure de la bonne date
    	if ( $date == '' ) $date = date( 'Y-m-d', time() );
    	elseif ( is_numeric( $date )) $date = date( 'Y-m-d', $date );
    	else $date = date( 'Y-m-d', strtottime( $date ) );
     
    	... // a faire connection etc..
     
    	$row = false;
    	$sql = "select id,form,title,name from joo_facileforms_records where submitted = '$date'";
    	$res = mysql_query( $sql , $$link ) ;
    	if ( mysql_num_rows( $res ) > 0 ) {
    		$row = mysql_fetch_array( $res );
    		mysql_free_result( $res );	
    	}
    	return $row;
    }
     
    function getData( $formRecordId, $link = 'db' ) 
    {	global $$link;
    	$data = false;
    	if ( $formId > 0 ) {
    		$sql = "select name,title,value from joo_facileforms_subrecords where record = $formRecordId";
    		$res = mysql_query( $sql, $$link );
    		if ( mysql_num_rows( $res ) > 0 ) {
    			$data = array();
    			while( $row = mysql_fetch_array( $res ) ) {
    				$data[ $row['name'] ] = array( 'title' => $row['title'], 'value' => $row['value'] );
    			}
    		}
    	}
    	return $data;
    }
     
    $db = mysql_connect( 'localhost', 'user', 'pass' ) or die( "prob de connection a la base " );
    if ( mysql_select_db( 'mabase', $db ) )
    {
    	$formData = getFormData( '2006-05-08' );
    	if ( $formData !== false )
    	{
    		$elmData = getData( $formData['id'] );
    		$title  = "<table cellpadding=0 cellspacing=1 border=0 bgcolor=black width=100%>";
    		$title .= "<tr><td><h2>".$formData['title']."</h2></td></tr>";
    		$title .= "</table>";
    		echo $title;
     
    		if ( $elmData !== false ) {
    			$fieldNames = array_keys( $elmData );
    			$header   = "<table cellpadding=0 cellspacing=1 border=0 bgcolor=black width=100%>";
    			// entete
    			$header  .= "<tr>";
    			$content  = "<tr>";
    			foreach( $fieldNames as $name => $value ) {
    				$header   .= "<td bgcolor=#efefef> ".$value['title']." </td>";
    				$content  .= "<td bgcolor=#efefef> ".$value['value']." </td>";
    			}
    			$header  .= "</tr>";
    			$content .= "</tr>";
     
    			// data
     
    			$content .="<table>";
     
    			echo $header,$content;
    		}
    		else {
    			echo "pas de champs";	
    		}
    	}
    	else {
    		echo "formulaire non trouvé";
    	}
    }

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 23
    Par défaut
    J'ai fait quelques modifications... Apparement, il faut définir la date, il ne prend pas la date du jour.

    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
    <?php
    function getFormData( $date = '' , $link = 'db' ) {
    	global $$link;
    	// s'assure de la bonne date
    	if ( $date == '' ) $date = date( 'Y-m-d', time() );
    	elseif ( is_numeric( $date )) $date = date( 'Y-m-d', $date );
    	else $date = date( 'Y-m-d', strtotime( $date ) );
     
    	$row = false;
    	$sql = "select id,form,title,name from joo_facileforms_records where submitted = '$date'";
    	$res = mysql_query( $sql , $$link ) ;
    	if ( mysql_num_rows( $res ) > 0 ) {
    		$row = mysql_fetch_array( $res );
    		mysql_free_result( $res );	
    	}
    	return $row;
    }
     
    function getData( $formRecordId, $link = 'db' ) 
    {	global $$link;
    	$data = false;
    	if ( $formRecordId > 0 ) {
    		$sql = "select name,title,value from joo_facileforms_subrecords where record = $formRecordId";
    		$res = mysql_query( $sql, $$link );
    		if ( mysql_num_rows( $res ) > 0 ) {
    			$data = array();
    			while( $row = mysql_fetch_array( $res ) ) {
    				$data[ $row['name'] ] = array( 'title' => $row['title'], 'value' => $row['value'] );
    			}
    		}
    	}
    	return $data;
    }
     
    $db = mysql_connect( 'localhost', 'root', '' ) or die( "prob de connection a la base " );
    if ( mysql_select_db( 'joomla', $db ) )
    {
    	$formData = getFormData( '2006-05-10' );
    	if ( $formData !== false )
    	{
    		$elmData = getData( $formData['id'] );
    		$title  = "<table cellpadding=0 cellspacing=1 border=0 bgcolor=#cccccc width=100%>";
    		$title .= "<tr><td><h2>".$formData['title']."</h2></td></tr>";
    		$title .= "</table>";
    		echo $title;
     
    		if ( $elmData !== false ) {
    			$fieldNames = array_keys( $elmData );
    			$header   = "<table cellpadding=0 cellspacing=1 border=0 bgcolor=black width=100%>";
    			// entete
    			$header  .= "<tr>";
    			$content  = "<tr>";
    			foreach( $fieldNames as $name => $value ) {
    				$header   .= "<td bgcolor=#efefef> ".$value['title']." </td>";
    				$content  .= "<td bgcolor=#efefef> ".$value['value']." </td>";
    			}
    			$header  .= "</tr>";
    			$content .= "</tr>";
     
    			// data
     
    			$content .="<table>";
     
    			echo $header,$content;
    		}
    		else {
    			echo "pas de champs";	
    		}
    	}
    	else {
    		echo "formulaire non trouvé";
    	}
    }
    ?>
    Voici le résultat :


    Je suis vraiment désolé, mais là, je suis "out"...

  11. #11
    Membre éprouvé
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Par défaut
    Pour prendre la date du jour. Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $formData = getFormData( '2006-05-10' );
    tu met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $formData = getFormData( );

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 23
    Par défaut
    Bon, me revoila...
    J'ai modifier toute ma base et mon code... Ca fonctionne... mais...

    Dans ma table, j'ai un champ "date" au format 0000-00-00. J'aimerais que ne s'affiche que les données de ma table à la date du jour.

    Je vais recréé un post adequat...

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

Discussions similaires

  1. Afficher contenu d'une base de données
    Par billythekid dans le forum Langage
    Réponses: 12
    Dernier message: 21/01/2015, 11h00
  2. [MySQL] afficher le contenu d'une base de données selon les checkbox cochés
    Par lamou23 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/07/2010, 21h05
  3. Afficher le contenue d'une base de données dans une liste
    Par fdoncev dans le forum SharePoint
    Réponses: 3
    Dernier message: 16/07/2008, 18h00
  4. Réponses: 1
    Dernier message: 01/04/2008, 14h22
  5. Réponses: 4
    Dernier message: 29/11/2004, 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