Condition WHERE

Mammouth du PHP | 687 Messages

24 sept. 2012, 00:09

Bonsoir,
un tout petit problème qui je pense va être très vite réglé...
Je souhaite créer une condition dans mon SELECt avec un WHERE mais je ne sais pas comment faire, voici la condition que j'ai créé:
 $sql = "select * from "programmes" WHERE reference = reference order by type asc "; 
En fait je souhaite que ma condition n'affiche que les valeurs qui ont la mêle référence... sans devoir spécifier la valeur car il y aura des dizaines de références...

Avez-vous une idée de comment faire la chose?

Merci par avance.

Mammouth du PHP | 687 Messages

24 sept. 2012, 00:53

Alors en faisant cela ça fonctionne:
		<script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js" type="text/javascript"></script>

		<script type="text/javascript" src="fabtabulous.js"></script>

<fieldset class="fieldset"><legend class="legend">Tous les programmes</legend>

<style>
.panel {
	clear: both;
	display: none;
	border: 3px solid #CCC;
	padding: 1em;
}
.panel.active-tab-body {
	display: block;
}
#tabs {
	list-style: none;
}

#tabs li {
	float: left;
}

#tabs a {
	float: left;
	padding: 5px 8px;
	margin-left: 6px;
	background-color: #F2F2F2;
	text-decoration: none;
	color: #999999;
}

#tabs a.active-tab {
	background-color: #CCC;
	border-top: 3px solid #999;
	padding-top: 3px;
	color: #000;
}
input.disabled {
	border: 1px solid #F2F2F2;
	background-color: #F2F2F2;
}

input.required, textarea.required {
	border: 1px solid #00A8E6;
}
input.validation-failed, textarea.validation-failed {
	border: 1px solid #FF3300;
	color : #FF3300;
}
input.validation-passed, textarea.validation-passed {
	border: 1px solid #00CC00;
	color : #000;
}

.validation-advice {
	margin: 5px 0;
	padding: 5px;
	background-color: #FF3300;
	color : #FFF;
	font-weight: bold;
}

.custom-advice {
	margin: 5px 0;
	padding: 5px;
	background-color: #C8AA00;
	color : #FFF;
	font-weight: bold;
}

fieldset {
	padding: 1em;
	margin-bottom: 0.5em;
}

label {
	font-weight: bold;
}
.form-row {
	clear: both;
	padding: 0.5em;
}

.field-label {

}

.field-widget {

}
</style>
<?php
include "include_fns.php";
	   $conn = db_connect();
   	   $sql = "select * from programmes"; 
	   $result = mysql_query($sql, $conn);
	   $reference = mysql_fetch_array($result);
 //connexion et requete dans la table autres_photos pour affichage des photos supplementaires
	   $conn = db_connect();
   	   $sql = "select * from programmes WHERE reference = '$reference[reference]' order by type asc "; 
   	   $resultat = mysql_query($sql, $conn);
	   $resultats = mysql_query($sql, $conn);
?>
<table width="100%" border="0">
  <tr>
    <td width="14%" rowspan="2"><img src="http://pilot-invest.fr/catalogue/programmes/resize?u=/uploads/programmes/9/photo170_0.jpg" width="125" height="75"></td>
    <td width="43%">Titre : </td>
    <td width="43%">Lieux</td>
  </tr>  <tr>
    <td>Nombre de lots dispos</td>
    <td>Livraison:</td>
  </tr>
  <tr>
    <td>Type</td>
    <td colspan="2">

			<div id="mainmenu">
					<ul id="tabs">
                   	<?php while ($programmes = mysql_fetch_array($resultat)) { ?>
						<li>
							<a href="#<?php echo "".$programmes['type'].""; ?>"><?php echo "".$programmes['type'].""; ?></a>
						</li>
                        <?php } ?>
						</ul>
				<div>
				<div class="bar">&nbsp;</div>
                <?php while ($programmes = mysql_fetch_array($resultats)) { ?>
				<div class="panel" id="<?php echo "".$programmes['type'].""; ?>">
					<?php
					 echo "".$programmes['type']."";
					?>
				</div>
                <?php }?>
				
		</div>
		
	</div>
    
    
    
    </td>
  </tr>
  <tr>
    <td> 

    
					</td>
    <td colspan="2">&nbsp;</td>
  </tr>
</table>


</fieldset>
Problème... C'est que cela n'affiche que les résultats qui ont la même référence, les autres ne sont pas affichées...

Ce que je voudrais c'est:
Si les références sont identiques alors j'affiche dans le même tableau, sinon j'affiche un autre tableau.... et ainsi de suite...

Savez-vous comment je peux procéder?
Merci beaucoup pour votre aide.

ViPHP
ViPHP | 2577 Messages

24 sept. 2012, 08:11

Bonjour,

Il faut mettre une condition du genre reference = '$reference' en mettant avant ce que tu veux comme référence dans $reference. Ceci si tu ne veux qu'une référence à la fois.

Mammouth du PHP | 687 Messages

24 sept. 2012, 08:17

Merci pour ta réponse,
du coup j'ai fait ça:
<?php

//------------------------------ entete de la page ----------------------------------------
 include_once("haut.php");
//-----------------------------------------------------------------------------------------

//-------------------------------- menu placer a gauche -----------------------------------
 $menu_gauche = get_variable('menu_gauche');
 if ($menu_gauche == "OUI") {
?>
  <div class="menu-gauche"><?php include_once("menu_modules_gauche.php"); ?></div>
<?php
 }
//-----------------------------------------------------------------------------------------

//-------------------------------- menu placer a droite -----------------------------------
 $menu_droite = get_variable('menu_droite');
 if ($menu_droite == "OUI") {
?>
  <div class="menu-droite"><?php include_once("menu_modules_droite.php"); ?></div>
<?php
 }
//-----------------------------------------------------------------------------------------
       
?>
                <script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js" type="text/javascript"></script>

                <script type="text/javascript" src="fabtabulous.js"></script>

<fieldset class="fieldset"><legend class="legend">Tous les programmes</legend>

<style>
.panel {
        clear: both;
        display: none;
        border: 3px solid #CCC;
        padding: 1em;
}
.panel.active-tab-body {
        display: block;
}
#tabs {
        list-style: none;
}

#tabs li {
        float: left;
}

#tabs a {
        float: left;
        padding: 5px 8px;
        margin-left: 6px;
        background-color: #F2F2F2;
        text-decoration: none;
        color: #999999;
}

#tabs a.active-tab {
        background-color: #CCC;
        border-top: 3px solid #999;
        padding-top: 3px;
        color: #000;
}
input.disabled {
        border: 1px solid #F2F2F2;
        background-color: #F2F2F2;
}

input.required, textarea.required {
        border: 1px solid #00A8E6;
}
input.validation-failed, textarea.validation-failed {
        border: 1px solid #FF3300;
        color : #FF3300;
}
input.validation-passed, textarea.validation-passed {
        border: 1px solid #00CC00;
        color : #000;
}

.validation-advice {
        margin: 5px 0;
        padding: 5px;
        background-color: #FF3300;
        color : #FFF;
        font-weight: bold;
}

.custom-advice {
        margin: 5px 0;
        padding: 5px;
        background-color: #C8AA00;
        color : #FFF;
        font-weight: bold;
}

fieldset {
        padding: 1em;
        margin-bottom: 0.5em;
}

label {
        font-weight: bold;
}
.form-row {
        clear: both;
        padding: 0.5em;
}

.field-label {

}

.field-widget {

}
</style>
<?php
include "include_fns.php";
           $conn = db_connect();
           $sql = "select * from programmes";
           $result = mysql_query($sql, $conn);
           $reference = mysql_fetch_array($result);
 //connexion et requete dans la table autres_photos pour affichage des photos supplementaires
           $conn = db_connect();
           $sql = "select * from programmes WHERE reference = '$reference[reference]' order by type asc ";
           $resultat = mysql_query($sql, $conn);
           $resultats = mysql_query($sql, $conn);
           $resultat_reference = mysql_query($sql, $conn);
           $total_reference = mysql_fetch_array($resultat_reference);
?>
<?php if ($total_reference['reference'] == '35') { ?>
<table width="100%" border="0">
  <tr>
    <td width="14%" rowspan="2"><img src="http://pilot-invest.fr/catalogue/programmes/resize?u=/uploads/programmes/9/photo170_0.jpg" width="125" height="75"></td>
    <td width="43%">Titre : </td>
    <td width="43%">Lieux</td>
  </tr>  <tr>
    <td>Nombre de lots dispos</td>
    <td>Livraison:</td>
  </tr>
  <tr>
    <td>Type</td>
    <td colspan="2">

                        <div id="mainmenu">
                                        <ul id="tabs">
                        <?php while ($programmes = mysql_fetch_array($resultat)) { ?>
                                                <li>
                                                        <a href="#<?php echo "".$programmes['type'].""; ?>"><?php echo "".$programmes['type'].""; ?></a>
                                                </li>
                        <?php } ?>
                                                </ul>
                                <div>
                                <div class="bar">&nbsp;</div>
                <?php while ($programmes = mysql_fetch_array($resultats)) { ?>
                                <div class="panel" id="<?php echo "".$programmes['type'].""; ?>">
                                        <?php
                                         echo "".$programmes['type']."";
                                        ?>
                                </div>
                <?php }?>
                               
                </div>
               
        </div>
   
   
   
    </td>
  </tr>
  <tr>
    <td>

   
                                        </td>
    <td colspan="2">&nbsp;</td>
  </tr>
</table>
<?php }
else {
?>
<table width="100%" border="0">
  <tr>
    <td width="14%" rowspan="2"><img src="http://pilot-invest.fr/catalogue/programmes/resize?u=/uploads/programmes/9/photo170_0.jpg" width="125" height="75"></td>
    <td width="43%">Titre : </td>
    <td width="43%">Lieux</td>
  </tr>  <tr>
    <td>Nombre de lots dispos</td>
    <td>Livraison:</td>
  </tr>
  <tr>
    <td>Type</td>
    <td colspan="2">

                        <div id="mainmenu">
                                        <ul id="tabs">
                        <?php while ($programmes = mysql_fetch_array($resultat)) { ?>
                                                <li>
                                                        <a href="#<?php echo "".$programmes['type'].""; ?>"><?php echo "".$programmes['type'].""; ?></a>
                                                </li>
                        <?php } ?>
                                                </ul>
                                <div>
                                <div class="bar">&nbsp;</div>
                <?php while ($programmes = mysql_fetch_array($resultats)) { ?>
                                <div class="panel" id="<?php echo "".$programmes['type'].""; ?>">
                                        <?php
                                         echo "".$programmes['type']."";
                                        ?>
                                </div>
                <?php }?>
                               
                </div>
               
        </div>
   
   
   
    </td>
  </tr>
  <tr>
    <td>

   
                                        </td>
    <td colspan="2">&nbsp;</td>
  </tr>
</table>
<?php } ?>


</fieldset>
<?php
//-----------------------------------------------------------------------------------------

//------------------------------------------- bas de page ---------------------------------
 include_once("bas.php");
//-----------------------------------------------------------------------------------------
?>
pour la condition ça fonctionne à priori mais pour ce qui est d'afficher dans des tableaux différents les résultats si les références sont différentes ça ne fonctionne pas...
Je pense qu'il doit y avoi un code à utiliser que je ne maitrise pas encore et qe je serais ravi d'apprendre... Si quelqu'un veut bien avoir la gentillesse de m'expliquer?

Merci.

Mammouth du PHP | 687 Messages

24 sept. 2012, 08:55

Voila je pense que je suis sur la bonne piste avec ça :
<?php

//------------------------------ entete de la page ----------------------------------------
 include_once("haut.php");
//-----------------------------------------------------------------------------------------

//-------------------------------- menu placer a gauche -----------------------------------
 $menu_gauche = get_variable('menu_gauche');
 if ($menu_gauche == "OUI") {
?>
  <div class="menu-gauche"><?php include_once("menu_modules_gauche.php"); ?></div>
<?php
 }
//-----------------------------------------------------------------------------------------

//-------------------------------- menu placer a droite -----------------------------------
 $menu_droite = get_variable('menu_droite');
 if ($menu_droite == "OUI") {
?>
  <div class="menu-droite"><?php include_once("menu_modules_droite.php"); ?></div>
<?php
 }
//-----------------------------------------------------------------------------------------
      	
?>
		<script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js" type="text/javascript"></script>

		<script type="text/javascript" src="fabtabulous.js"></script>

<fieldset class="fieldset"><legend class="legend">Tous les programmes</legend>

<style>
.panel {
	clear: both;
	display: none;
	border: 3px solid #CCC;
	padding: 1em;
}
.panel.active-tab-body {
	display: block;
}
#tabs {
	list-style: none;
}

#tabs li {
	float: left;
}

#tabs a {
	float: left;
	padding: 5px 8px;
	margin-left: 6px;
	background-color: #F2F2F2;
	text-decoration: none;
	color: #999999;
}

#tabs a.active-tab {
	background-color: #CCC;
	border-top: 3px solid #999;
	padding-top: 3px;
	color: #000;
}
input.disabled {
	border: 1px solid #F2F2F2;
	background-color: #F2F2F2;
}

input.required, textarea.required {
	border: 1px solid #00A8E6;
}
input.validation-failed, textarea.validation-failed {
	border: 1px solid #FF3300;
	color : #FF3300;
}
input.validation-passed, textarea.validation-passed {
	border: 1px solid #00CC00;
	color : #000;
}

.validation-advice {
	margin: 5px 0;
	padding: 5px;
	background-color: #FF3300;
	color : #FFF;
	font-weight: bold;
}

.custom-advice {
	margin: 5px 0;
	padding: 5px;
	background-color: #C8AA00;
	color : #FFF;
	font-weight: bold;
}

fieldset {
	padding: 1em;
	margin-bottom: 0.5em;
}

label {
	font-weight: bold;
}
.form-row {
	clear: both;
	padding: 0.5em;
}

.field-label {

}

.field-widget {

}
</style>
<?php

error_reporting(E_ALL);   
$conn = db_connect();
$sql = "SELECT * FROM programmes ORDER by type ASC";
$result = mysql_query($sql, $conn);
$tab_mois = array();
while ($result && $row = mysql_fetch_array($result))
{
        $mois = $row["reference"];
        $tab_mois[$mois][] = $row; //tableau indéxé par mois = regroupement des $row par mois
}
//pour le débugage : afficher le tableau
echo "<pre>"; print_r($tab_mois); echo "</pre>";

?>
<?php
foreach ($tab_mois as $mois=>$row) { //lignes indexées par mois dans le tableau $tab_mois
?>
 <?php echo mb_strtoupper($mois); ?>
 
 
 <?php foreach($row as $champ){ //chaque ligne $row contient les champs de détail d'un événement du calendrier ?>  

<table width="100%" border="0">
  <tr>
    <td width="14%" rowspan="2"><img src="http://pilot-invest.fr/catalogue/programmes/resize?u=/uploads/programmes/9/photo170_0.jpg" width="125" height="75"></td>
    <td width="43%">Titre : </td>
    <td width="43%">Lieux</td>
  </tr>  <tr>
    <td>Nombre de lots dispos</td>
    <td>Livraison:</td>
  </tr>

  <tr>
    <td>Type</td>
    <td colspan="2">

			<div id="mainmenu">
					<ul id="tabs">

						<li>
							<a href="#<?php echo "".$champ['type'].""; ?>"><?php echo "".$champ['type'].""; ?></a>
						</li>

						</ul>
				<div>
				<div class="bar">&nbsp;</div>
              
				<div class="panel" id="<?php echo "".$champ['type'].""; ?>">
					<?php
					 echo "".$champ['type']."";
					?>
				</div>

				
		</div>
		
	</div>
    
    
    
    </td>
  </tr>

  <tr>
    <td> 

    
					</td>
    <td colspan="2">&nbsp;</td>
  </tr>
</table>
<?php } } ?>
</fieldset>
<?php
//-----------------------------------------------------------------------------------------

//------------------------------------------- bas de page ---------------------------------
 include_once("bas.php"); 
//-----------------------------------------------------------------------------------------
?>

Les résultats s'affichent mais même si les $champs["referece"] sont identiques le code me donnent autant de tableau qu'il y a de références :-(

Mammouth du PHP | 687 Messages

24 sept. 2012, 10:07

Voilà, la j'ai vraiment besoin de vous car je tourne en rond...
Voici mon code final:
<?php

//------------------------------ entete de la page ----------------------------------------
 include_once("haut.php");
//-----------------------------------------------------------------------------------------

//-------------------------------- menu placer a gauche -----------------------------------
 $menu_gauche = get_variable('menu_gauche');
 if ($menu_gauche == "OUI") {
?>
  <div class="menu-gauche"><?php include_once("menu_modules_gauche.php"); ?></div>
<?php
 }
//-----------------------------------------------------------------------------------------

//-------------------------------- menu placer a droite -----------------------------------
 $menu_droite = get_variable('menu_droite');
 if ($menu_droite == "OUI") {
?>
  <div class="menu-droite"><?php include_once("menu_modules_droite.php"); ?></div>
<?php
 }
//-----------------------------------------------------------------------------------------
      	
?>

<style>
.panel {
	clear: both;
	display: none;
	border: 3px solid #CCC;
	padding: 1em;
}
.panel.active-tab-body {
	display: block;
}
#tabs {
	list-style: none;
}

#tabs li {
	float: left;
}

#tabs a {
	float: left;
	padding: 5px 8px;
	margin-left: 6px;
	background-color: #F2F2F2;
	text-decoration: none;
	color: #999999;
}

#tabs a.active-tab {
	background-color: #CCC;
	border-top: 3px solid #999;
	padding-top: 3px;
	color: #000;
}
input.disabled {
	border: 1px solid #F2F2F2;
	background-color: #F2F2F2;
}

input.required, textarea.required {
	border: 1px solid #00A8E6;
}
input.validation-failed, textarea.validation-failed {
	border: 1px solid #FF3300;
	color : #FF3300;
}
input.validation-passed, textarea.validation-passed {
	border: 1px solid #00CC00;
	color : #000;
}

.validation-advice {
	margin: 5px 0;
	padding: 5px;
	background-color: #FF3300;
	color : #FFF;
	font-weight: bold;
}

.custom-advice {
	margin: 5px 0;
	padding: 5px;
	background-color: #C8AA00;
	color : #FFF;
	font-weight: bold;
}

fieldset {
	padding: 1em;
	margin-bottom: 0.5em;
}

label {
	font-weight: bold;
}
.form-row {
	clear: both;
	padding: 0.5em;
}

.field-label {

}

.field-widget {

}
</style>

<script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js" type="text/javascript"></script>
<script type="text/javascript" src="fabtabulous.js"></script>



<?php
error_reporting(E_ALL);   
$conn = db_connect();
$sql = "SELECT * FROM programmes ORDER by type ASC";
$result = mysql_query($sql, $conn);
$tab_mois = array();
while ($result && $row = mysql_fetch_array($result))
{
        $mois = $row["reference"];
        $tab_mois[$mois][] = $row; //tableau indéxé par mois = regroupement des $row par mois
}
//pour le débugage : afficher le tableau
//echo "<pre>"; print_r($tab_mois); echo "</pre>";

?>
<fieldset class="fieldset"><legend class="legend">Tous les programmes</legend>
<?php
foreach ($tab_mois as $mois=>$row) { //lignes indexées par mois dans le tableau $tab_mois
?>

<?php echo mb_strtoupper($mois); ?> 

<table width="100%" border="0">

  <tr>
    <td width="14%" rowspan="2"><img src="http://pilot-invest.fr/catalogue/programmes/resize?u=/uploads/programmes/9/photo170_0.jpg" width="125" height="75"></td>
    <td width="43%">Titre : </td>
    <td width="43%">Lieux</td>
  </tr>  
  
  <tr>
    <td>Nombre de lots dispos</td>
    <td>Livraison:</td>
  </tr>

  <tr>
    <td>Type</td>
     

    <td colspan="2">
	
			<div id="mainmenu">
            

					<ul id="tabs">
<?php foreach($row as $champ){ //chaque ligne $row contient les champs de détail d'un événement du calendrier ?> 
						<li>
							<a href="#<?php echo "".$champ['type'].""; ?>"><?php echo "".$champ['type'].""; ?></a>
						</li>
                        <?php }  ?> 	       
						</ul> 
                        <?php foreach($row as $champ){ //chaque ligne $row contient les champs de détail d'un événement du calendrier ?> 
				<div>
				<div class="bar">&nbsp;</div>
				<div class="panel" id="<?php echo "".$champ['type'].""; ?>">
					<?php
					 echo "".$champ['type']."";
					?>
				</div>

	   	
		</div>
		<?php } ?>
	</div>
    </td>
  </tr>
  <tr>
    <td colspan="2">&nbsp;</td>
  </tr>
</table>
 <?php }   ?>
</fieldset>
<?php
//-----------------------------------------------------------------------------------------

//------------------------------------------- bas de page ---------------------------------
include_once("bas.php"); 
//-----------------------------------------------------------------------------------------
?>

Lorsque les références sont identiques alors les valeurs sont contenues dans le même tableau, en revanche lorsque qu'une référence est différente alors un autre tableau se créé mais le lien contenu dans
<li>
							<a href="#<?php echo "".$champ['type'].""; ?>"><?php echo "".$champ['type'].""; ?></a>
						</li>
ne fonctionne pas...

Je suis sur qu'il ne doit pas y avoir grand chose à faire mais la je n'ai presque plus de cheveux, donc si quelqu'un a pitié pour ceux qu'il me reste! Mdr

Merci beaucoup.

ViPHP
xTG
ViPHP | 7331 Messages

24 sept. 2012, 10:48

Il n'y a aucune ancre de définie dans la page que tu nous montres.
Une ancre se définie ainsi :
<a name="nom"></a>
Pour l'accès :
<a href="#nom">Aller à l'ancre</a>
Bref ce que tu fais c'est comme pointer sur une page n'existant pas.

Mammouth du PHP | 687 Messages

24 sept. 2012, 10:51

Merci pour ta réponse.
Pour l'ancre j'avais mis celle-ci : <a href="#<?php echo "".$champ['type'].""; ?>"><?php echo "".$champ['type'].""; ?></a>
ce n'est pas bon ?

ViPHP
xTG
ViPHP | 7331 Messages

24 sept. 2012, 10:59

C'est un lien vers une ancre, pas une ancre.
Relis mon message pour voir la différence. ;)

Mammouth du PHP | 687 Messages

24 sept. 2012, 11:06

en fait le lien fonctionne mais l'affichage n'est pas bon lorsque les références sont différentes tu vas comprendre tout de suite en voyant ça : http://dl.free.fr/iKwlU2W6g

- Affichage ok avec 1 seule référence (ref 35).jpg : sur cette image le fonctionnement est parfait car les références sont identiques (ici la référence est 35)
- Erreur affichage avec 2 références différentes (ref 35 et 40).jpg : sur cette image tu constates qu'il y a 2 références (35 et 40), la référence 40 affiche le tableau normalement avec les informations tandis que la référence 35 affiche juste l'onglet nommé T2 sans afficher les informations, on constate également que l'onglet T2 n'est pas affiché de la même façon de T1 alors que ça le devrait...

Je pense que ce sera plus clair avec ces deux images...

Merci beaucoup

ViPHP
ViPHP | 2577 Messages

24 sept. 2012, 11:56

J'ai du mal à comprendre ton problème. Entre autre les liens par type et l'affichage par référence.

Mammouth du PHP | 687 Messages

24 sept. 2012, 12:13

En gros j'ai cette base sql:
-- phpMyAdmin SQL Dump
-- version 3.4.10.1
-- http://www.phpmyadmin.net
--
-- Client: localhost
-- Généré le : Lun 24 Septembre 2012 à 08:27
-- Version du serveur: 5.5.20
-- Version de PHP: 5.3.10

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données: `agence_immo`
--

-- --------------------------------------------------------

--
-- Structure de la table `programmes`
--

CREATE TABLE IF NOT EXISTS `programmes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `photo` varchar(250) NOT NULL,
  `titre` varchar(250) NOT NULL,
  `lieux` varchar(250) NOT NULL,
  `nbre_lots` int(11) NOT NULL,
  `livraison` varchar(250) NOT NULL,
  `type` varchar(50) NOT NULL,
  `num_lot` int(11) NOT NULL,
  `genre` varchar(250) NOT NULL,
  `etage` varchar(250) NOT NULL,
  `orientation` varchar(250) NOT NULL,
  `avec` varchar(250) NOT NULL,
  `surface_fiscale` varchar(250) NOT NULL,
  `surface_habitable` varchar(250) NOT NULL,
  `surface_jardin` varchar(250) NOT NULL,
  `surface_terasse` varchar(250) NOT NULL,
  `surface_loggia` varchar(250) NOT NULL,
  `surface_cave` varchar(250) NOT NULL,
  `tva` varchar(250) NOT NULL,
  `prix_pack_1` varchar(250) NOT NULL,
  `prix_pack_2` varchar(250) NOT NULL,
  `loyer_scellier_15` varchar(250) NOT NULL,
  `loyer_scellier_9` varchar(250) NOT NULL,
  `adresse_programme` varchar(250) NOT NULL,
  `num_permis_construction` varchar(250) NOT NULL,
  `permis_delivre` varchar(250) NOT NULL,
  `adresse_notaire` varchar(250) NOT NULL,
  `signature_prévisionnelle` varchar(250) NOT NULL,
  `reference` varchar(250) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Contenu de la table `programmes`
--

INSERT INTO `programmes` (`id`, `photo`, `titre`, `lieux`, `nbre_lots`, `livraison`, `type`, `num_lot`, `genre`, `etage`, `orientation`, `avec`, `surface_fiscale`, `surface_habitable`, `surface_jardin`, `surface_terasse`, `surface_loggia`, `surface_cave`, `tva`, `prix_pack_1`, `prix_pack_2`, `loyer_scellier_15`, `loyer_scellier_9`, `adresse_programme`, `num_permis_construction`, `permis_delivre`, `adresse_notaire`, `signature_prévisionnelle`, `reference`) VALUES
(1, '', 'test', 'paris', 3, '1T2013', 'T2', 111, 'appartement', '2', 'sud', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '35'),
(2, '', 'test2', 'test2', 3, '2T2013', 'T1', 112, 'appartement', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '35');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 
Et une page qui affiche les données (page citée plus haut)
Ce que je souhaite faire :
- Afficher par système de tableau (comme j'ai fait) toutes les informations ayant pour point commun une référence
- Dès qu'une référence est différente alors un autre tableau est créé pour afficher ces nouvelles informations et ainsi de suite

Ce qui fonctionne pour le moment:
- lorsque les références sont identiques alors le tableau généré est bien paramétré ( T1 et T2 sont bien côte à côte car ils ont pour référence "35")

Par contre si les référence sont différentes alors les tableaux affichés ne sont plus corrects (image jointe dans le précédent message)

Mammouth du PHP | 687 Messages

24 sept. 2012, 12:37

Voici une petite illustration que je viens de créer pour vous permettre de comprendre : http://dl.free.fr/jQxLqmxwp

Mammouth du PHP | 687 Messages

24 sept. 2012, 14:31

en fait au vue de l'erreur d'affichage, j'ai l'impression que mes foreach sont mals placés, non? Car en regardant bien le deuxième tableau généré ne prends pas en considération le formatage créé via le css.
Qu'est que vous en pensez? je les bouge un peu partout mais rien y fait...

Mammouth du PHP | 687 Messages

24 sept. 2012, 15:09

J'ai l'impression que le problème vient du CSS et notamment à cause de ça:
.panel {
clear: both;
display: none;
border: 3px solid #CCC;
padding: 1em;
}
.panel.active-tab-body {
display: block;
}
quelqu'un sait pourquoi?