<table> obligatoire pour afficher une série de données

Résolu
Utilisateur anonyme -  
 Profil bloqué -
Bonjour,

J'ai un intranet en cours d'élaboration.
Je souhaite afficher les données d'une table dans des divs, qui elles mêmes sont dans des accordions (jQuery).

Mes questions sont :

* Pour afficher mes données dans une div puis sauter une ligne, rajouter la même div, afficher les données et ainsi de suite, dois-je obligatoirement insérer des balises <table> ? (Sinon toutes les données s'affichent à la suite).

* Je souhaiterais que le titre de mes accordions dépendent de valeurs de base de données là encore ! --> Même question : doit-il y avoir les balises <table> ? Sinon comment faire ?

* Dernière question (oui oui promis!!) : Je souhaite afficher dans chaque accordion, les données ou un champ précis correspondant au titre de l'accordion dans lequel il se trouve.

Voici le bout de mon code concerné :

<div id="accordion">
<h3>Programmation de Mars 2013</h3>
<div>

<div id="tableau-etat-film"> 
<div class="date">
<br>
27/03/2013
</div>
<div class="film">
LE TITRE DU FILM EN FRANCAIS
<font color="grey"><p>NOM SUR LE DCP</p></font>
</div>
<div class="etats">
<div class="smartjog"><img src="images/ok_g.png" width="35" height="35" /> </div>
<div class="doremi"><img src="images/no_ok_g.png" width="35" height="35" /></div>
<div class="kdm"><img src="images/no_ok_g.png" width="30" height="30" /> </div> 
<div class="show"><img src="images/no_ok_g.png" width="30" height="30" /></div>
</div>
</div> 
<div id="tableau-etat-film-bas">
<center><p>Créer un rapport - Supprimer</p></center>
</div>
<br><br>
				


Merci de votre aide..!

Romain

5 réponses

  1. Profil bloqué
     
    Salut,

    1) Non, du tout, tu peux très bien mettre des echo "<div class="taclass">;" au milieu de ta requête (du style pour chaque entrée, écrire echo... puis la réponse, etc)

    2) La encore même réponse, rien ne t'empêche de faire pour chaque ligne de données un echo ton accordéon, ton titre, ton div, tes données, la fermeture de ton div puis de ton accordéon

    3) Tu peux mettre le titre de ton accordion dans une variable php et la reprendre pour faire une requête dans ta bdd ou (deuxième solution) générer les titres des accordions en fonction des données de ta bdd (et non l'inverse)
    0
  2. Utilisateur anonyme
     
    Hello,

    Tout d'abord, merci de m'aider car ton pseudo s'affiche souvent sur mes posts en ce moment ^^

    Donc, en cherchant bien j'ai trouver des explications grace à tes conseils (enfin!!!)

    Si j'ai bien capté :
    Je dois mettre un
    echo
    devant chaque ligne en HTML et finir par un
    ;
    comme pour tout code PHP.

    Suis-je vraiment obliger de mettre un
    echo
    partout comme je l'ai fait là :

    while($data = mysql_fetch_assoc($req))
        {
        // on affiche les informations de l'enregistrement en cours
        
    
    
    /*echo '<div style="width:100px; background-color:#DDDDDD;">';
    echo $data['titre_dcp'];
    echo '<p>eee</p>';
    echo '</div>'; */
    
    
    
    
    
    
    		echo			'<div id="tableau-etat-film">
    					<div class="date">
    					<br>';
    		echo			'<p>27/03/2013</p>';
    		echo			'</div>';
    		echo			'<div class="film">';
    		echo			$data['titre_film']; 
    		echo			'<font color="grey"><br></font>';
    		echo			$data['titre_dcp']; 
    		echo			'</div>
    					<div class="etats">';
    		echo			'<div class="smartjog"><img src="images/ok_g.png" width="35" height="35" /> </div>
    							</div>
    							</div>';
    		
    		echo			'<div id="tableau-etat-film-bas">';
    		echo			'<center><p>Créer un rapport - Supprimer</p></center>';
    		echo			'</div>';
    		echo			'<br><br>';
    					
    					
    	}
    ?>	
    


    En revanche, le font color ne marche plus...
    0
  3. Profil bloqué
     
    De rien !

    Non, tu peux mettre echo "xxxx".$xx."xxx".$... etc

    D'ailleurs "<div class='xxx'>xxx</div>".$variable."etc" marche aussi

    Si ton font color marche plus, c'est que le lien doit avoir une erreur (sur la classe ou autre) au pire, mets directement le css dedans mais ça devrait marcher
    0
  4. Utilisateur anonyme
     
    Alors par contre, comment fait-on pour avoir une boucle dans une autre boucle ?

    A quel moments doit-on insérer les incollades pour refermer la boucle ?
    J'ai essayé plusieurs solutions mais... sans résultat...

    	
    	<?php
    // on crée la requête SQL
    $sql = 'SELECT prog FROM progs';
    
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_assoc($req))
        {
    echo		'<h3>Programmation de &nbsp;';
    echo		$data['prog']; 		 
    echo		'</h3>';
    echo 		'<div>';
    	
    ?>	
    <?php
    // on crée la requête SQL
    $sql = 'SELECT titre_film, titre_dcp, date_show FROM etats_films';
    
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    while($data = mysql_fetch_assoc($req))
       
        {
        	
        // on affiche les informations de l'enregistrement en cours
    
    		echos du centre
    				
    	}
    ?>				
    					
    						
    <?php				
    
    echo '</div>';
    
    	}
    ?>
    
    0
    1. Profil bloqué
       
      Le même code écrit plus simplement (si le précédant marche, celui-ci aussi) :

      <?php
      // on crée la requête SQL
      $sql = 'SELECT prog FROM progs';

      // on envoie la requête
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

      // on fait une boucle qui va faire un tour pour chaque enregistrement
      while($data = mysql_fetch_assoc($req))
      {
      echo '<h3>Programmation de  '.$data['prog'].'</h3>'. '<div>';

      ?>
      <?php
      // on crée la requête SQL
      $sql = 'SELECT titre_film, titre_dcp, date_show FROM etats_films';

      // on envoie la requête
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

      // on fait une boucle qui va faire un tour pour chaque enregistrement
      while($data = mysql_fetch_assoc($req))

      {

      // on affiche les informations de l'enregistrement en cours

      echos du centre

      }
      ?>


      <?php

      echo '</div>';

      }
      ?>
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    Ouaip le code marche y'a pas de souci. En revanche, ma "sous fonction" ne marche pas.
    J'ai donc :

    <?php
    // Première requête BDD-1 table-1

    {
    echo '<h3>Programmation de '.$data['prog'].'</h3>'. '<div>';

    ?>

    <?php
    // Deuxième requête (dans une table différente) BDD-1 table-2

    {
    mes echo';
    }
    ?>

    <?php

    echo '</div>';

    } // fin de la boucle de ma première requête
    ?>

    La boucle centrale marche bien mais la première boucle qui se termine à la fin ne marche pas...
    J'ai essayé plusieurs cas différents. Lorsque je ferme ma boucle directement dans la première requête, mes valeurs s'affichent mais pas en tant que titres d'accordion.
    0
    1. Profil bloqué
       
      Peut-être que le problème vient du fait que tu fermes le <?php> alors que tu es dans une boucle (donc dans du php), je ne suis pas spécialiste en la matière, mais essaie de mettre tout ton code php dans une seule balise php et non plein.
      0
    2. Utilisateur anonyme
       
      Mon problème venait que mes variables avaient le même nom... La honte...
      Je te remercie de l'aide précieuse que tu m'as apporté !! :-)

      Romain
      0
    3. Profil bloqué
       
      Lol ! Tant mieux alors si c'est résolu
      0