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

Langage PHP Discussion :

[Tableaux] Problème dans ma boucle


Sujet :

Langage PHP

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    ben forcement, c'est qd ya pas de réservation qu'il rentrait dans le else, ou quand j'etait pas connecté

  2. #22
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est pas logique vu que la "condition" de ton if ($row1=$row1) était censée valoir toujours VRAI (car c'est une affectaion et pas une comparaison). Sauf si ça vaut la nouvelle valeur... Dans ce cas en mettant juste if($row1) ça pourrait marcher... Merci de me dire ce que ça donne.

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    if ($row1) marche bien, avec ou sans else ^^

    Enfin ca ne resoud pas mon probleme principal :s

  4. #24
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est quand même bien plus propre. Remets la dernière version de ton code.

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
    <table width='100%' border=1 frame=void><tr><td></td>";
    // bordercolor='#000066'
     
    affichage_formateur();
     
     
    // on definit le temps a 8 heures
    $heure = mktime(7,45);
    $apres = date("H:i",$heure);
    //$apres2 = date("H:i",$heure);
     
    // 44 correspond au nombre de lignes pour arriver a 19h00	
    while ($apres<='18:45') {
     
    // on ajoute 15 minutes
    $heure+=900;
    $apres = date("H:i",$heure);
    //$apres2 = date("H:i",$heure);
     
    // Affichage des heures sur la gauche du tableau ( de 8h à 19h )
      echo "<tr><td bgcolor='#99CCFF'><center><br><small>$apres</small><br></center></td>";
     
      $sql = "select num_formateur, nom_formateur, prenom_formateur, statut_formateur from formateur order by num_formateur";
      $result = mysql_query($sql);
     
     while($row = mysql_fetch_array($result)) {
     
    // Récupération de la table reservation	
    	$sql1 = "select * from reservation where num_formateur = " . $row['num_formateur'] . " and heure_debut = '" . $apres . "' and date = '" . $date_resa . "'"; 
    	$result1 = mysql_query($sql1);
    	$row1 = mysql_fetch_array($result1);
     
    	$sql4 = "select couleur_statut from statut where num_statut = '" . $row1['num_statut'] . "'"; 
    	$result4 = mysql_query($sql4);
    	$row4 = mysql_fetch_array($result4);
     
     
    echo "<td bgcolor='" . $row4['couleur_statut'] . "'";
     
    	require('rqt.php');
     
    	while (($dur!=$dur4) && ($dur<3600)) {
    		$i = $i+1;
    		$dur = $dur+15;
    	}
     
    		if ($dur4==$dur) {
    echo "rowspan='" . $i . "'>";
    echo "<font size='-3'><small><center>";
    		}	
    		else {
    echo "<font size='-3'><small><center>";
    		}	
     
    // Affichage des informations dans les cases correspondantes 
    		if ($row1) { 
    			$sql2 = "select nom_type from reservation r, type_reservation t where r.num_type = t.num_type and r.num_type= " . $row1['num_type'] . ""; 
    			$result2 = mysql_query($sql2);
    			$row2 = mysql_fetch_array($result2);
    			$sql3 = "select valeur_coeff from reservation r, coefficient c where r.num_coeff = c.num_coeff and r.num_coeff= " . $row1['num_coeff'] . ""; 
    			$result3 = mysql_query($sql3);
    			$row3 = mysql_fetch_array($result3);			
    			$sql4 = "select nom_statut, description_statut from reservation r, statut s where r.num_statut = s.num_statut and r.num_statut= " . $row1['num_statut'] . ""; 
    			$result4 = mysql_query($sql4);
    			$row4 = mysql_fetch_array($result4);	
     
    ?>
    <a 
    	class="lien3"
    	href="#"
    	title="En savoir plus ..."
    	onclick="window.open ('popup.php?formateur=<?php echo( $row['nom_formateur'] ); ?>&statut=<?php echo( $row4['description_statut'] ); ?>&coeff=<?php echo( $row3['valeur_coeff'] ); ?>&type=<?php echo( $row2['nom_type'] ); ?>&code=<?php echo( $row1['code_resa'] ); ?>&heure_debut=<?php echo( $row1['heure_debut'] ); ?>&date=<?php echo( $row1['date'] ); ?>&duree=<?php echo( $row1['duree'] ); ?>&heure_fin=<?php echo( $row1['heure_fin'] ); ?>&hc=<?php echo( $row1['heure_compta'] ); ?>&cree_par=<?php echo( $row1['cree_par'] ); ?>&description=<?php echo( $row1['description_resa'] );?>&observation=<?php echo( $row1['observation_resa'] ); ?>'
    			  , 'popup'
    			  , 'width=550,height=305,top=300,left=400'
    			 ); return false;"
    >
     
    <?	
     
    echo "Code :  <font color=red>" . $row1['code_resa'] . "</font> - Type : <font color=red>" . $row2['nom_type'] . "</font> <br> 
     Durée  <font color=red>: " . $row1['duree'] . "</font> - Coeff  <font color=red>: " . $row3['valeur_coeff']." </font><br>Heures Comptabilisées : <font color=red>" . $row1['heure_compta'] . "</font>
    </a></td>";
    		}		
     
      if(isset($_SESSION['nom'])) {
    	if ($_SESSION['acces'] == 10) {
    		echo "<a class='lien3' href='reservation.php?formateur=" . $row['nom_formateur'] . "&heure_debut=" . $apres . "&date=" . $date_resa . "'>Insérer</a></center></small></font></td>";
    	}
      }
     
    	}	
    // Affichage des heures sur la droite du tableau ( de 8h à 19h )
      echo "<td bgcolor='#99CCFF'><center><br><small>$apres</small><br></center></td>";
     
    	echo '</tr>';
     
    }
    echo "</table><table width='40%' align='center'><tr><td width='10%'><b><font color='#FFFF00' size='-1'> Prévu : Jaune </font></td><td width='10%'><b><font color='#66CCFF' size='-1'>Confirmé : Bleu </font></td><td width='10%'><b><font color='#00FF00 ' size='-1'>Réalisé : Vert </font></b></td></tr><tabble></body></html>";
    ?>
    Mon rqt.php ne change pas.


    Je viens de remarquer qu'il ya un lien insérer qui se balade au dessus du tableau, je ne sais pas d'où il débarque, aparement c'est celui de la réservation de mon exemple (meme date, heure, formateur) :s

  6. #26
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    J'ai travaillé sur mon problème mais je n'arrive pas a trouver de solution, ca fait maintenant plusieurs jours que je suis bloqué dessus, personne ne peut m'aider ?

  7. #27
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par Sandara
    J'ai travaillé sur mon problème mais je n'arrive pas a trouver de solution, ca fait maintenant plusieurs jours que je suis bloqué dessus, personne ne peut m'aider ?
    Bah ça a donné quoi la solution que tu avais imaginée ?

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    Pas grand chose, soit ca me fait le meme probleme avec des cellules sur la droite, soit j'ai uniquement les cellules avec les réservations ...

  9. #29
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    Bon j'ai essayé un truc pour résoudre mon problème cependant j'ai toujours des erreurs.

    Je vous montre mon code :

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
     
    <table width='100%' border=1 bgcolor='#FFFFFF' frame=void><tr><td></td>";
    $i=1;
    affichage_formateur();
        //-----------------------
        //Initialisation du tableau rowspan
        $rowspan[$i]=0;
        $i++;
        //-----------------	
    	echo "</tr>";
    // on definit le temps a 8 heures
    $heure = mktime(7,45);
    $apres = date("H:i",$heure);
    while ($apres<='18:45') {
    // on ajoute 15 minutes
    $heure+=900;
    $apres = date("H:i",$heure);
    // Affichage des heures sur la gauche du tableau ( de 8h à 19h )
      echo "<tr><td bgcolor='#99CCFF'><center><br><small>$apres</small><br></center></td>";
      $sql = "select num_formateur, nom_formateur, prenom_formateur, statut_formateur from formateur order by num_formateur";
      $result = mysql_query($sql);
      // gestion des colonnes
      $colonne=1; 
     
      while($row = mysql_fetch_array($result)) {
    // Récupération de la table reservation	
    	$sql1 = "select * from reservation where num_formateur = " . $row['num_formateur'] . " and heure_debut = '" . $apres . "' and date = '" . $date_resa . "'"; 
    	$result1 = mysql_query($sql1);
    	$row1 = mysql_fetch_array($result1);
    	$sql4 = "select couleur_statut from statut where num_statut = '" . $row1['num_statut'] . "'"; 
    	$result4 = mysql_query($sql4);
    	$row4 = mysql_fetch_array($result4);
     
     
        // Condition sur le rowspan
        if($rowspan[$colonne]==0) {
    		echo "<td bgcolor='" . $row4['couleur_statut'] . "'";	
     
    		require('rqt.php');
     
    		while (($dur!=$dur4) && ($dur<3600)) {
    			$i = $i+1;
    			$dur = $dur+15;
    		}
     
    		if ($dur4==$dur) {
    			echo "rowspan='" . $i . "'>";
                ///----------ajout :
                $rowspan[$colonne]=$i;
     
            }	
            echo "<font size='-3'><small><center>";
    		// Affichage des informations dans les cases correspondantes 
    		if ($row1) { 
    			$sql2 = "select nom_type from reservation r, type_reservation t where r.num_type = t.num_type and r.num_type= " . $row1['num_type'] . ""; 
    			$result2 = mysql_query($sql2);
    			$row2 = mysql_fetch_array($result2);
    			$sql3 = "select valeur_coeff from reservation r, coefficient c where r.num_coeff = c.num_coeff and r.num_coeff= " . $row1['num_coeff'] . ""; 
    			$result3 = mysql_query($sql3);
    			$row3 = mysql_fetch_array($result3);			
    			$sql4 = "select nom_statut, description_statut from reservation r, statut s where r.num_statut = s.num_statut and r.num_statut= " . $row1['num_statut'] . ""; 
    			$result4 = mysql_query($sql4);
    			$row4 = mysql_fetch_array($result4);	
        ?>
        <a 				class="lien3"  				
                  href="#" 				
                  title="En savoir plus ..." 				
                  onclick="window.open ('popup.php?
          formateur=      
          <?php echo( $row['nom_formateur'] ); ?>
          &statut=
          <?php echo( $row4['description_statut'] ); ?>
          &coeff=
          <?php echo( $row3['valeur_coeff'] ); ?>
          &type=
          <?php echo( $row2['nom_type'] ); ?>
          &code=
          <?php echo( $row1['code_resa'] ); ?>
          &heure_debut=
          <?php echo( $row1['heure_debut'] ); ?>
          &date=
          <?php echo( $row1['date'] ); ?>
          &duree=
          <?php echo( $row1['duree'] ); ?>
          &heure_fin=
          <?php echo( $row1['heure_fin'] ); ?>
          &hc=
          <?php echo( $row1['heure_compta'] ); ?>
          &cree_par=
          <?php echo( $row1['cree_par'] ); ?>
          &description=
          <?php echo( $row1['description_resa'] );?>
          &observation=
          <?php echo( $row1['observation_resa'] ); ?>      ', 
          'popup', 
          'width=550,height=305,top=300,left=400'      ); 
          return false;"      
        >
    <?	
     
    			echo "Code :  <font color=red>" . $row1['code_resa'] . "</font> - Type : <font color=red>" . $row2['nom_type'] . "</font> <br> 
    			Durée  <font color=red>: " . $row1['duree'] . "</font> - Coeff  <font color=red>: " . $row3['valeur_coeff']." </font><br>Heures Comptabilisées : <font color=red>" . $row1['heure_compta'] . "</font>
    			</a></td>";
     
    		} // Fermeture du troisième if
     
            else{
                $rowspan[$colonne]--;
            }
    	} // Fermeture du premier if
     
    		else {
    			if(isset($_SESSION['nom'])) {
    				if ($_SESSION['acces'] == 10) {
    		echo "<a class='lien3' href='reservation.php?formateur=" . $row['nom_formateur'] . "&heure_debut=" . $apres . "&date=" . $date_resa . "'><font color='#FFFFFF'><img src='new.gif'></a></center></small></font></td>";
    				}
    			}
    		}
      //-------------------------------------
     $colonne++;
     //-------------------------------------
     
      } // Fermeture du second while
     
    // Affichage des heures sur la droite du tableau ( de 8h à 19h )
      echo "<td bgcolor='#99CCFF'><center><br><small>$apres</small><br></center></td>";
    	echo '</tr>';
     
    } // Fermeture du premier while
    echo "</table>";

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 52
    Points
    52
    Par défaut
    Ca me retourne les erreurs suivantes :

    Notice: Undefined offset: 2 in c:\program files\easyphp1-7\www\grh191\index.php on line 81

    Notice: Undefined offset: 3 in c:\program files\easyphp1-7\www\grh191\index.php on line 81

    Notice: Undefined offset: 4 in c:\program files\easyphp1-7\www\grh191\index.php on line 81

    Notice: Undefined offset: 5 in c:\program files\easyphp1-7\www\grh191\index.php on line 81

    Notice: Undefined offset: 6 in c:\program files\easyphp1-7\www\grh191\index.php on line 81

    Notice: Undefined offset: 7 in c:\program files\easyphp1-7\www\grh191\index.php on line 81

    Notice: Undefined offset: 8 in c:\program files\easyphp1-7\www\grh191\index.php on line 81


    La ligne 81 etant celle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
        if($rowspan[$colonne]==0) {
    De plus il n'y a que ma première ligne qui se créee, les images d'insertion de réservation ne s'affiche pas pour le reste du tableau ...

Discussions similaires

  1. Problème dans une boucle
    Par Pitou5464 dans le forum Access
    Réponses: 5
    Dernier message: 11/08/2006, 14h51
  2. [Tableaux] Problème dans caddie
    Par dldstyle dans le forum Langage
    Réponses: 7
    Dernier message: 31/07/2006, 19h41
  3. [Tableaux] DELETE dans une boucle
    Par mikedimoi dans le forum Langage
    Réponses: 5
    Dernier message: 15/01/2006, 18h16
  4. Réponses: 5
    Dernier message: 24/12/2005, 15h40
  5. [Tableaux] Problème avec les boucles
    Par speed_man002 dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 15h42

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