[RESOLU] Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\GSB - FRAIS\cSuivrePaiemen

Lerikal
Invité n'ayant pas de compte PHPfrance

03 mars 2015, 20:16

Bonjour, j'ai fais un partie PHP mais une erreur appparaît pouvez-vous m'aider a le résoudre s'il vous plaît. Il me semble que c'est une " } " mais je ne sais pas ou là fermez. il me semble au niveau de : if (isset ($_SESSION['idValidation'])) { qu'il n'es pas fermé mais je ne sais pas si c'est cela et où la fermer s'il vous plaît

Lerikal
Invité n'ayant pas de compte PHPfrance

03 mars 2015, 20:18

Bonjour, j'ai fais un partie PHP mais une erreur appparaît pouvez-vous m'aider a le résoudre s'il vous plaît. Il me semble que c'est une " } " mais je ne sais pas ou là fermez. il me semble au niveau de : if (isset ($_SESSION['idValidation'])) { qu'il n'es pas fermé mais je ne sais pas si c'est cela et où la fermer s'il vous plaît
<html>
<head>
<body>
<?php

/** 
 * Script de controle et d'affichage du cas d'utilisation "Valider une fiche de frais"
 
 * @package default
 * @author  GSB
 */


  $repInclude = './include/';
  require($repInclude . "_init.inc.php");
 
  // page inaccessible si visiteur non connecté
  if ( ! estUserConnecte() ) { 
?>
		<script language="Javascript">
			<!--
			document.location.replace("cSeConnecter.php");
			// -->
		</script>';
<?php
  }
  
  // Supprime toutes les variables SESSION si action bouton annuler
  if (isset($_POST['effacer'])){
		
	unset($_SESSION['idValidation']);
	unset($_SESSION['moisValidation']);
	unset($_SESSION['etatFiche']);
	unset($_SESSION['nomValidation']);
	unset($_SESSION['prenomValidation']);
		
	}

  require($repInclude . "_entete.inc.html");
  require($repInclude . "_sommaire.inc.php");
  
	// page inaccessible si comptable non connecté
	if ($_SESSION["metierUtilisateur"] != 'comptable'){
?>
		<script language="Javascript">
			<!--
			document.location.replace("cAccueil.php");
			// -->
		</script>';
<?php
	
	}
	
  /* -- DEBUT RECCUPERATION DONNEES ENVOYEES PAR POST -- */


  // acquisition de l'étape du traitement 
  
  $etape=lireDonnee("etape","demanderSaisie");
  
  
  // acquisition des quantités des éléments forfaitisés 
  
  $tabQteEltsForfait=lireDonneePost("txtEltsForfait", "");
  
  
  // acquisition des données d'une nouvelle ligne hors forfait
  
  $idLigneHF = lireDonnee("idLigneHF", "");
  $dateHF = lireDonnee("txtDateHF", "");
  $libelleHF = lireDonnee("txtLibelleHF", "");
  $montantHF = lireDonnee("txtMontantHF", "");
  
  //Mise à jour du nombre de justificatifs
  
  $nbJustificatifs = lireDonnee("nbJustificatifs", "");
  
 
  // structure de décision sur les différentes étapes du cas d'utilisation
  
    if ($etape == "validerSaisie") { 
      // l'utilisateur valide les éléments forfaitisés         
      // vérification des quantités des éléments forfaitisés
	  
      $ok = verifierEntiersPositifs($tabQteEltsForfait);    
	  
      if (!$ok) {
	  
          ajouterErreur($tabErreurs, "Chaque quantité doit être renseignée et être numérique positive.");
		  
      }
	  
      else { 
		  // mise à jour des quantités des éléments forfaitisés
		  
          modifierEltsForfait($idConnexion, $_SESSION['moisValidation'], $_SESSION['idValidation'], $tabQteEltsForfait);
		  calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
?>
		  <script>
		     alert("Les valeurs des élements forfaitisés ont bien été changé. Merci");
	      </script>
<?php
      }
  } 
  
    elseif ($etape == "validerRefusLigneHF") {
  
      refuserLigneHF($idConnexion, $idLigneHF);
	  calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
	  
?>
	  
	  <script>
		alert("Votre Refus à bien été pris en compte . Merci");
	  </script>
	  
<?php
	  
  }

    elseif ($etape == "reporterLigneHF") {
  
     $req = reporterEltsHorsForfaitFicheFrais($idConnexion, $_SESSION['moisValidation'],  $_SESSION['idValidation'], $idLigneHF);
     $reporter = mysql_query($req, $idConnexion);
     echo $reporter;
?>
	  
	  <script>
		alert("La ligne hors forfait à  été reportée au mois suivant !");
	  </script>
	  
<?php
	  
  }
  
   elseif ($etape == "validerValidationLigneHF") {
  
      accepterLigneHF($idConnexion, $idLigneHF);
      calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
	  
?>
	  
	  <script>
		alert("Votre validation à bien été pris en compte. Merci");
	  </script>
	  
<?php
	  
  }
  
	elseif ($etape == "changerNbJustificatifs") {
  
      changerNbJustificatifs($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation'], $nbJustificatifs );
	  calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
	  
?>
	  <script>
		alert("Le nombre de justificatifs à bien été mis à jour. Merci");
	  </script>
<?	  
  }

  /* -- FIN RECCUPERATION DONNEES ENVOYEES PAR POST -- */
?>
  
   <div id="contenu">
		<h2>Valider une fiche de frais</h2>
		<div id="centerPrincipale">
<?php
	  
		if (!empty ($_POST['idValidation'])) {
			$_SESSION['idValidation'] = $_POST['idValidation'];
			$infoValidation = obtenirDetailUser($idConnexion, $_SESSION['idValidation']);
			$_SESSION['nomValidation'] = $infoValidation['nom'];
			$_SESSION['prenomValidation'] = $infoValidation['prenom'];
		}
		
		if (!empty ($_POST['moisValidation'])) {
			$_SESSION['moisValidation'] = $_POST['moisValidation'];
		}

		if (!empty ($_POST['etatFiche'])) {
			$_SESSION['etatFiche'] = $_POST['etatFiche'];
		}
		
		$id = array(); 
		$nom = array(); 
		$prenom = array(); 

		$visiteurs = obtenirListeVisiteurs();

		while($row=mysql_fetch_array($visiteurs)) {
		
			$id[]=$row['id'];
			$nom[]=$row['nom'];
			$prenom[]=$row['prenom'];

		}
		
		$compteTableau = count($nom);


/* ------- SI ID EST ENVOYE ------- */

		if (isset ($_SESSION['idValidation'])) {
		

/* ------- SI ID & MOIS  SONT ENVOYES ------- */

		if (isset ($_SESSION['moisValidation']) && isset ($_SESSION['idValidation']) && !isset ($_SESSION['etatFiche'])) {
		
			$tabFicheFrais = obtenirDetailFicheFrais($idConnexion, $_SESSION['moisValidation'], $_SESSION['idValidation']);
			
			if ($tabFicheFrais["idEtat"] == 'CR' || $tabFicheFrais["idEtat"] == 'VA')
			{
?>			
			<p style="font-weight:bold;font-size:19px;"><?php echo $_SESSION['nomValidation']; ?> - <?php echo $_SESSION['prenomValidation']; ?> </p>
			<form method="post" action="cValidationFicheFrais.php" class="formulairesAnnulation">
				<p style="color:red;font-weight:bold;">Cliquez sur le bouton ci-dessous pour retourner à la selection du visiteur</p>
				<input type="submit" value="Annuler" name="effacer">
			</form>
			<hr />
			<h3>Fiche de frais du mois de <span style="font-weight:bold;color:#0055E3"><?php echo obtenirLibelleMois(intval(substr($_SESSION['moisValidation'],4,2))) . " "?></span> : 
				<em style="color:#0055E3"><?php echo $tabFicheFrais["libelleEtat"]; ?> </em>
				depuis le <em><?php echo date('d/m/Y', strtotime($tabFicheFrais["dateModif"])); ?></em></h3>
				<div class="encadre">
					<h3>Changer l'état de la fiche : </h3>  

						<form action="cValidationFicheFrais.php" method="post">
						  <select id="etatFiche" name="etatFiche">   
							 <option value="CR" selected="selected" id="chgmEtCree">CREER(EN COURS)</option>
							 <option value="VA"  id="chgmEtValid">VALIDER</option>
						  </select>
						  <button id="start">executer</button>
						</form>

					
					<p>Montant validé : <?php echo $tabFicheFrais["montantValide"] ;?></p>
				 

					<form action="cValidationFicheFrais.php" method="post">
						<div class="corpsForm">
						<input type="hidden" name="etape" value="validerSaisie" />
							<fieldset>
								<legend>Eléments forfaitisés</legend>
								
						
<?php
							// demande de la requête pour obtenir la liste des éléments 
							// forfaitisés du visiteur connecté pour le mois demandé
							
							$req = obtenirReqEltsForfaitFicheFrais($_SESSION['moisValidation'],  $_SESSION['idValidation']);
							$idJeuEltsFraisForfait = mysql_query($req, $idConnexion);
							echo mysql_error($idConnexion);
							$lgEltForfait = mysql_fetch_assoc($idJeuEltsFraisForfait);
							while ( is_array($lgEltForfait) ) {
							
								$idFraisForfait = $lgEltForfait["idFraisForfait"];
								$libelle = $lgEltForfait["libelle"];
								$quantite = $lgEltForfait["quantite"];
?>
									<p>
										<label for="<?php echo $idFraisForfait ?>">* <?php echo $libelle; ?> : </label>
										<input type="text" id="<?php echo $idFraisForfait ?>" 
										name="txtEltsForfait[<?php echo $idFraisForfait ?>]" 
										size="10" maxlength="5"
										title="Entrez la quantité de l'élément forfaitisé" 
										value="<?php echo $quantite; ?>" />
									</p>
<?php						                
							$lgEltForfait = mysql_fetch_assoc($idJeuEltsFraisForfait);
							}
							
							mysql_free_result($idJeuEltsFraisForfait);
			
?>							
						
						         </fieldset>
						</div>
						<div class="piedForm">
							<p>
								<input id="ok" type="submit" value="Valider" size="20" 
										title="Enregistrer les nouvelles valeurs des éléments forfaitisés" />
								<input id="annuler" type="reset" value="Effacer" size="20" />
							</p> 
						</div>
					</form>
					<table class="listeLegere">
					   <caption>Descriptif des éléments hors forfait :</caption> 
							 <tr>
								<th class="date">Date</th>
								<th class="libelle">Libellé</th>
								<th class="montant">Montant</th>                
							 </tr>
<?php          
							// demande de la requête pour obtenir la liste des éléments hors
							// forfait du visiteur connecté pour le mois demandé
							
							$req = obtenirReqEltsHorsForfaitFicheFrais($_SESSION['moisValidation'], $_SESSION['idValidation']);
							$idJeuEltsHorsForfait = mysql_query($req, $idConnexion);
							$lgEltHorsForfait = mysql_fetch_assoc($idJeuEltsHorsForfait);
							
							// parcours des éléments hors forfait 
							
							while ( is_array($lgEltHorsForfait) ) {
?>
								<tr>
									<td><?php echo date('d/m/Y', strtotime($lgEltHorsForfait["date"])) ; ?></td>
									<td><?php echo filtrerChainePourNavig($lgEltHorsForfait["libelle"]) ; ?></td>
									<td><?php echo $lgEltHorsForfait["montant"] ; ?></td>
									<td>	
										<?php 
											$verif = preg_match("/REFUSE/i", $lgEltHorsForfait["libelle"]);
											if (!$verif){
?>
										<form action="cValidationFicheFrais.php" method="POST">
											<input type='hidden' value='validerRefusLigneHF' name='etape' />
											<input type='hidden' value='<?php echo $lgEltHorsForfait["id"]; ?>' name ='idLigneHF' />
											<input type ="submit" value="REFUSER" name="refus" style="background-color:red;color:white;" />
										</form>
<?php 
										
										} 
										
										else { 
?>										
											
										<form action="cValidationFicheFrais.php" method="POST">
											<input type='hidden' value='validerValidationLigneHF' name='etape' />
											<input type='hidden' value='<?php echo $lgEltHorsForfait["id"]; ?>' name ='idLigneHF' />
											<input type ="submit" value="ACCEPTER" name="acceptation" style="background-color:green;color:white;" />
										</form>
										
<?php										}
										
?>
									</td>
									<td>
										<form action="cValidationFicheFrais.php" method="POST">
											<input type='hidden' value='reporterLigneHF' name='etape' />
											<input type='hidden' value='<?php echo $lgEltHorsForfait["id"]; ?>' name ='idLigneHF' />
											<input type ="submit" value="REPORTER" name="reporter" style="background-color:orange;color:white;" />
										</form>
									</td>
								</tr>
<?php
								$lgEltHorsForfait = mysql_fetch_assoc($idJeuEltsHorsForfait);
							}
							mysql_free_result($idJeuEltsHorsForfait);
?>
					</table>
					
				</div>
				
				<form action="" method="POST">
					<label for="nbJustificatifs" ><strong>Nombre de justificatifs envoyés </strong>(Changez la valeur et validez pour mettre à jour)</label>
						<input type="number" value='<?php echo $tabFicheFrais["nbJustificatifs"];?>'   name="nbJustificatifs"/>
						<input type="hidden" name="etape" value="changerNbJustificatifs" />
						<input type="submit" value='Valider'   name="changerNbJustificatifs"/>
				</form>
	</div>
<?php 
		}
		
		else 
		{
			$moisValidation = $_SESSION['moisValidation'];
			$nomMoisValidation = intval(substr($moisValidation, 4, 2));
			$anneeValidation = intval(substr($moisValidation, 0, 4));
?>

<p>La fiche de frais de <strong>" <?php echo $_SESSION['nomValidation']; ?> - <?php echo $_SESSION['prenomValidation']; ?>  Pour le mois de <?php echo obtenirLibelleMois($nomMoisValidation);?> (<?php echo $anneeValidation;?>) à déjà été validée . Son statut actuel est : " <span style="color:red;font-weight:bold;"><?php echo $tabFicheFrais["libelleEtat"]; ?></span> " </strong> </p>
				<a href="cSuivrePaiementFicheFrais.php" style="color:red;font-weight:bold;Font-size:17px">Cliquez ici pour pouvoir suivre l'etat de la fiche ou le modifier</a>
				
				<hr style='margin-top:35px;margin-bottom:35px;'>
				
				<form method="post" action="cValidationFicheFrais.php" class="formulairesAnnulation">
				<p style="color:red;font-weight:bold;">Cliquez sur le bouton ci-dessous pour retourner à la selection du visiteur</p>
				<input type="submit" value="Annuler" name="effacer">
			</form>


<?php		
		}
		
		die();

		}
		
		
/* ------- SI ID & MOIS & ETAT  SONT ENVOYES ------- */                     // MAJ ETAT DE FICHE ICI!!


		elseif (isset ($_SESSION['idValidation']) && isset ($_SESSION['moisValidation']) && isset ($_SESSION['etatFiche']) && ( ($_SESSION['etatFiche'] == "CR") || ($_SESSION['etatFiche'] == "VA") ) ){

			modifierEtatFicheFrais($idConnexion, $_SESSION['moisValidation'], $_SESSION['idValidation'], $_SESSION['etatFiche']);
			
									$moisValidation = $_SESSION['moisValidation'];
									$nomMoisValidation = intval(substr($moisValidation, 4, 2));
									$anneeValidation = intval(substr($moisValidation, 0, 4));
			calculMontantTotalValide($idConnexion, $_SESSION['idValidation'], $_SESSION['moisValidation']);
?>			
			<p>L'état à été définit sur  <strong>" <?php echo convertionEtatFicheFrais($_SESSION['etatFiche']); ?> " </strong> pour le mois de <?php echo obtenirLibelleMois($nomMoisValidation);?> (<?php echo $anneeValidation;?>) de <?php echo $_SESSION['nomValidation']; ?> - <?php echo $_SESSION['prenomValidation']; ?> , Merci.</p>
				<a href="cAccueil.php" style="color:red;font-weight:bold">Cliquez ici pour retourner à l'acceuil maintenant !</a>
<?php			
			unset($_SESSION['idValidation']);
			unset($_SESSION['moisValidation']);
			unset($_SESSION['etatFiche']);
			
			die();

		}
		
		
			$req = obtenirReqMoisFicheFrais($_SESSION['idValidation']);
			$idJeuMois = mysql_query($req, $idConnexion);
			$lgMois = mysql_fetch_assoc($idJeuMois);
				
			if (!empty($lgMois)){
?>
					<p style="font-weight:bold;font-size:19px;"><?php echo $_SESSION['nomValidation']; ?> - <?php echo $_SESSION['prenomValidation']; ?> </p>
					<form method="post" action="cValidationFicheFrais.php">
						<p style="color:red;font-weight:bold;">Cliquez sur le bouton ci-dessous pour retourner à la selection du visiteur</p>
						<input type="submit" value="Annuler" name="effacer">
					</form>
					<hr />
					<h3>Choisissez maintenant le mois pour </h3>
					<form action="cValidationFicheFrais.php" method="post">
					
						<input type="hidden" name="etape" value="validerConsult" />
						<select id="mois" name="moisValidation">
<?php
								// on propose tous les mois pour lesquels le visiteur a une fiche de frais
								
								while ( is_array($lgMois) ) {
									$mois = $lgMois["mois"];
									$noMois = intval(substr($mois, 4, 2));
									$annee = intval(substr($mois, 0, 4));
									
?>    
							<option value="<?php echo $mois; ?>"><?php echo obtenirLibelleMois($noMois) . " " . $annee; ?></option>
<?php
									$lgMois = mysql_fetch_assoc($idJeuMois);        
								}
								mysql_free_result($idJeuMois);
?>
						</select>
						<button id="start">Lancer</button>
						
					</form>
	</div>
<?php 
			}
			
			else{
				  // affectation du mois courant pour la saisie des fiches de frais
			
				$mois = sprintf("%04d%02d", date("Y"), date("m"));
				
			     // vérification de l'existence de la fiche de frais pour ce mois courant
				 
			    $existeFicheFrais = existeFicheFrais($idConnexion, $mois, $_SESSION['idValidation']);
				
			    // si elle n'existe pas, on la crée avec les élets frais forfaitisés à 0
			  
			    if ( !$existeFicheFrais ) {
				  ajouterFicheFrais($idConnexion, $mois, $_SESSION['idValidation']);
			    }
			
?>			

				<script>
				
					alert('Aucune fiche de frais pour cette personne trouvée , celle du mois en cours viens d\'être créee ... Redirection...');
					document.location.href = 'cValidationFicheFrais.php';
					</script>
					<noscript><a href="cValidationFicheFrais.php">Retour Fiche de Frais</a></noscript>
				
		
<?			}
		
		
		}

/* ------- SI ID VISTEUR N'A PAS ETE SAISI ------- */
		
		else {
		
		
			if (!isset ($_SESSION['idValidation'])) {?>
			  
				<h3>Choisissez le visiteur concerné:</h3>
				<form action="cValidationFicheFrais.php" method="post">
					<input type="hidden" name="nom" value="validerConsult" />
					<select id="list" name="idValidation">
<?php

						for ($i = 0; $i <= $compteTableau -1 ; $i++) { 
?>
						
							<option id="<?php echo $i ; ?>" value="<?php echo $id[$i];?>" ><?php echo $nom[$i]. " - " .$prenom[$i];?></option>
							
						
<?php 				} 
?>


					</select>
					<button id="start">Lancer</button>
				</form>
<?php 	} 
		
?>
<?php
		}	
		}
		
?>
</head>
</body>
</html>

Lerikal
Invité n'ayant pas de compte PHPfrance

03 mars 2015, 20:19

Parse error: syntax error, unexpected $end
c'est la vrai erreur

Avatar du membre
Mammouth du PHP | 1564 Messages

03 mars 2015, 20:23

Salut,

utilise notepad++ tu aura une coloration syntaxique.

Lerikal
Invité n'ayant pas de compte PHPfrance

03 mars 2015, 20:25

Salut,

utilise notepad++ tu aura une coloration syntaxique.
Je l'utilise aussi justement, mais je ne sais vraiment pas où mettre la fin, je ne suis pas très professionnelles en la matière

Lerikal
Invité n'ayant pas de compte PHPfrance

03 mars 2015, 20:35

Merci de ton aide erreur résolue

Avatar du membre
Mammouth du PHP | 1564 Messages

03 mars 2015, 21:13

Ok, bonne continuation ;)