Page 1 sur 1

Boucle dans titre de colonne mysql

Posté : 25 mai 2013, 16:44
par Hofner
Bonjour! :)

J'ai déjà fait des boucles du genre:

Code : Tout sélectionner

$i = 1; while ($i <= $nb_equipes) { $nomdequipe = $_POST['equipe'][$i]; echo $nomdequipe; $i++; }
Donc avec un $_POST ca fonctionnait bien. J'essaie de faire la même chose avec un titre de colonne Mysql mais sans succès.
Mes 15 titres de colonnes sont: date_sem1 , date_sem2, date_sem3, etc...

Code : Tout sélectionner

$i = 1; while ($i <= 15) { $sql = "SELECT * FROM masc_dates"; $resultat = mysql_query ($sql); $colonne = mysql_fetch_array($resultat); $date_sem[$i] = $colonne['date_sem'][$i]; echo $date_sem[$i]; $i++; }
Mon code ne me retourne aucune erreur et ne retourne absolument rien...
Que faire?

Re: Boucle dans titre de colonne mysql

Posté : 25 mai 2013, 17:04
par Hofner
Pour que ça fonctionne, je suis obligé de faire cette affreuse démarche:

Code : Tout sélectionner

$sql = "SELECT * FROM masc_dates"; $resultat = mysql_query ($sql); $colonne = mysql_fetch_array($resultat); if($i =="1") {$date_sem = $colonne['date_sem1']; } elseif($i =="2") {$date_sem = $colonne['date_sem2']; } elseif($i =="3") {$date_sem = $colonne['date_sem3']; } elseif($i =="4") {$date_sem = $colonne['date_sem4']; } elseif($i =="5") {$date_sem = $colonne['date_sem5']; } elseif($i =="6") {$date_sem = $colonne['date_sem6']; } elseif($i =="7") {$date_sem = $colonne['date_sem7']; } elseif($i =="8") {$date_sem = $colonne['date_sem8']; } elseif($i =="9") {$date_sem = $colonne['date_sem9']; } elseif($i =="10") {$date_sem = $colonne['date_sem10']; } elseif($i =="11") {$date_sem = $colonne['date_sem11']; } elseif($i =="12") {$date_sem = $colonne['date_sem12']; } elseif($i =="13") {$date_sem = $colonne['date_sem13']; } elseif($i =="14") {$date_sem = $colonne['date_sem14']; } elseif($i =="15") {$date_sem = $colonne['date_sem15']; }

Re: Boucle dans titre de colonne mysql

Posté : 25 mai 2013, 17:34
par moogli
salut,

avec un boule for et la concaténation tu a ce que tu veux en quelques lignes !
<?php
$sql = "SELECT * FROM masc_dates";
$resultat = mysql_query($sql);
$nbligne = 0;
while ($colonne = mysql_fetch_array($resultat)) {
    for ($i = 1; $i < 16; $i++) {
        $date_sem[$nbligne][$i] = $colonne['date_sem' . $i];
    }
    $nbligne++;
}
$nbligne n'est pas obligatoire tu peux mettre la clef primaire de la table pour garder une références au données d'origine.

Ton code montre une méconnaissance de la modélisation des bases de données.
Dans ton cas tu devrais avoir une table en plus qui contient les dates. Cela te permettrais un gain en souplesse et au final en place vue que si tu ne te sert pas de toutes les dates les champs existe et sont inutile (même si c'est minime).

je t'invite à cherche un, ou plusieurs, tuto sur la méthode merise et plus précisément le modèle entité - association ou sur uml.

@+

Re: Boucle dans titre de colonne mysql

Posté : 25 mai 2013, 20:18
par Hofner44
J'ai toujours une variable vide...

Re: Boucle dans titre de colonne mysql

Posté : 25 mai 2013, 23:11
par moogli
Laquelle ?

On ne fait pas dans la voyance :mrgreen:

As tu message d'erreur ? (Est ce que ton error reporting est bien a E_ALL ?).

@+