Mcmurphy
Messages postés115Date d'inscriptionStatutMembreDernière intervention
-
niko -
bonjour
voila mon probléme j'ai remplacer mes zone de texte dans mon php par des variable de séssion qui vont chercher c'es message dans le texte 5site multi langue mais une fois que je le lance pas de sosucis sauf pour une page qui (j'ai l'impréssion bboucle j'usqua ce que mon apache plante )
voici mon script si il peut vous aidez :
<?php
session_start();
include_once("commun/connexion.inc.php");
include_once("commun/fonctions.inc.php");
$query = 'SELECT * FROM iso_fichier WHERE en_ligne = 1';
$query .= $querySearch;
if($site_affiche != '-1'){
if($site_affiche != '' && $site_affiche == 0) {
$query .= ' AND mask_site_fichier = "'.$site_affiche.'"';
}
else {
$query .= ' AND (mask_site_fichier = "'.$site_affiche.'"';
$query .= ' OR mask_site_fichier LIKE "'.$site_affiche.'-%"';
$query .= ' OR mask_site_fichier LIKE "%-'.$site_affiche.'"';
$query .= ' OR mask_site_fichier LIKE "%-'.$site_affiche.'-%"';
$query .= ' OR mask_site_fichier LIKE "0")';
}
}
if($service_affiche != '-1'){
if($service_affiche != '' && $service_affiche == 0) {
$query .= ' AND mask_service_fichier = "'.$service_affiche.'"';
}
else {
$query .= ' AND (mask_service_fichier = "'.$service_affiche.'"';
$query .= ' OR mask_service_fichier LIKE "'.$service_affiche.'-%"';
$query .= ' OR mask_service_fichier LIKE "%-'.$service_affiche.'"';
$query .= ' OR mask_service_fichier LIKE "%-'.$service_affiche.'-%"';
$query .= ' OR mask_service_fichier LIKE "0")';
}
}
if($idProcedure != '-1'){
if($idProcedure != '' && $idProcedure != 0) {
$dataArray = get_info_procedure($idProcedure);
$query .= ' AND (nom_fichier LIKE "%'.$dataArray[1].'_'.$dataArray[2].'%"';
$query .= ' OR nom_fichier LIKE "%'.$dataArray[1].$dataArray[2].'%")';
}
}
// traitement des droits des sites
$query .= ' AND ( mask_site_fichier = "0" OR ';
for($i=0; $i<count($mask_site_user); $i++){
if($mask_site_user[$i] == 0 && $mask_site_user[$i] != ''){
$query .= ' mask_site_fichier != "0" ';
} else {
if($i>0){
$query .= ' OR ';
}
$query .= ' mask_site_fichier = "'.$mask_site_user[$i].'"';
$query .= ' OR mask_site_fichier LIKE "'.$mask_site_user[$i].'-%"';
$query .= ' OR mask_site_fichier LIKE "%-'.$mask_site_user[$i].'"';
$query .= ' OR mask_site_fichier LIKE "%-'.$mask_site_user[$i].'-%"';
}
}
$query .= ')';
// traitement des droits des services
$query .= ' AND ( mask_service_fichier = "0" OR ';
for($i=0; $i<count($mask_service_user); $i++){
if($mask_service_user[$i] == 0 && $mask_service_user[$i] != ''){
$query .= ' mask_service_fichier != "0" ';
} else {
if($i>0){
$query .= ' OR ';
}
$query .= ' mask_service_fichier = "'.$mask_service_user[$i].'"';
$query .= ' OR mask_service_fichier LIKE "'.$mask_service_user[$i].'-%"';
$query .= ' OR mask_service_fichier LIKE "%-'.$mask_service_user[$i].'"';
$query .= ' OR mask_service_fichier LIKE "%-'.$mask_service_user[$i].'-%"';
}
}
$query .= ')';
$queryEnd = ' ORDER BY nom_fichier ASC';
// on récupère les procédures
$resultProc = get_procedures();
// on construit la requête
$query .= $queryEnd;
$result = connect($query);
// on récupère les documents déjà lus dans un array
$listeDocLus = get_listeDocumentsLus($_SESSION['validUser'], true);
// on construit un tableau contenant la liste des fichiers autorisés ou filtrés
$tabFiles = null;
while($ligne=mysql_fetch_array($result)) {
$indice = count($tabFiles);
$tabFiles[$indice][0] = $ligne["id_fichier"];
$tabFiles[$indice][1] = $ligne["nom_fichier"];
$tabFiles[$indice][2] = $ligne["date_document"];
$tabFiles[$indice][3] = $ligne["Description"];
$tabFiles[$indice][4] = $ligne["maj"];
}
// on construit un tableau contenant la liste des procédures : NOM_NUM
$tabProc = null;
while($ligne=mysql_fetch_array($resultProc)) {
$tabProc[count($tabProc)] = $ligne["nom"]."_".$ligne["num"];
}
// on parcourt la liste des documents autorisés ou filtrés
for($j=0; $j<count($tabFiles); $j++) {
$tabProc_affiche = "<table class=donnees width=90% align=center>
<tr class=titre>
<td class=titreProcedure>
<a href='javascript:afficheTableau(\"".$nomProc."\")'>
<img src='pics/lplus.gif' class='plus' alt=".getMessage(6, $_SESSION['idLanguePgm'])." id='img_".$nomProc."'>
</a>".$nomProc." @@@@@
</td>
</tr>
<tr id=\"tab_".$nomProc."\" style='display:none'>
<td>
<table class='donnees' width='100%'>";
$idDoc = $tabFiles[$j][0];
$nomDoc = $tabFiles[$j][1];
$dateDoc = $tabFiles[$j][2];
$descriptionDoc = $tabFiles[$j][3];
$dateMajDoc = $tabFiles[$j][4];
// si le document fait partie de la procédure en cours
if(stristr($nomDoc, $nomProc)) {
//$nbDoc++;
// on regarde si le document est lu ou non
if(!in_array(strtolower($nomDoc), $listeDocLus)) {
$classe = 'ligneenvaleur';
$nbDocProcedureNonLus++;
} else {
$nbDocProcedureLus++;
$nbDocTotalLus++;
$classe = '';
}
$nbDoc ++;
// si c'est une annexe qui peut avoir des doc spécifiques par site
// ex. PRO, CON, ... mais pas procedure, paletisation, process
if(strtoupper($nomProc) == $nomProc) {
// si c'est une procédure
if(stristr($nomDoc, "procedure")) {
$nbDocProc ++;
$tabAfficheProcedure .= '
<tr class="'.$classe.'" onmouseover="this.bgColor=\'#299af5\'" onmouseout="this.bgColor=\'\'" id='.$idDoc.' >
<td width="40%">
<a href="#" class=text1 onclick="window.open(\'Ouvrir/ouvrir.php?id_fichier='.$idDoc.'&fichier='.$nomDoc.'\', \'Doc\')" alt= '.getMessage(132, $_SESSION['idLanguePgm']).'" '.$nomDoc.'">'.$nomDoc.'</a>
</td>
<td width="10%">
<acronym title="Date du document : '.$dateDoc.'">'.$dateDoc.'</acronym>
</td>
<td width="40%">
<acronym title="Description">'.$descriptionDoc.'</acronym>
</td>
<td width="10%">
<acronym title="Date de mise à jour du document : '.$dateMajDoc.'">'.$dateMajDoc.'</acronym>
</td>
</tr>';
}
// si c'est une annexe commune, le nom du doc se poursuit de _an
elseif(stristr($nomDoc, $nomProc."_an")) {
$anCommun = substr($nomDoc, strlen($nomProc)+1, -4);
// on test comment estr écrit le numéro de l'annexe pour récupérer le numéro de l'annexe
if(strpos($anCommun, "_") != 2){ // an25
$anCommun = substr($anCommun, 2);
}
else { //an_25
$anCommun = substr($anCommun, 3);
}
$indiceCommun = count($array_anCommun);
$array_anCommun[$indiceCommun][0] = $idDoc;
$array_anCommun[$indiceCommun][1] = $anCommun."@".$nomDoc;
$array_anCommun[$indiceCommun][2] = $dateDoc;
$array_anCommun[$indiceCommun][3] = $descriptionDoc;
$array_anCommun[$indiceCommun][4] = $dateMajDoc;
$nbDocCommun ++;
}
// sinon, c'est une annexe spécifique à un site
else {
// on récupère la longueur de la zone site : ex. MAN_U17 = 7
$nbCarSite = strpos($nomDoc, "_an") - strlen($nomProc) - 1;
// on récupère le numéro de l'annexe sans le _an ni l'extension du document
$anSite = substr($nomDoc, strpos($nomDoc, "_an")+1, -4);
// si le numéro de l'annexe est sous la forme an_X (!= de anX)
if(strpos($anSite, "_") != 2){
$anSite = substr($anSite, 2);
}
else {
$anSite = substr($anSite, 3);
}
$array_anSite[count($array_anSite)] = $anSite;
$nbDocSite++;
$site3 = substr($nomDoc, strlen($nomProc)+1, $nbCarSite);
if($site3_old != $site3) {
$tabAfficheSite .= "<tr><td colspan=4> </td></tr><tr class='titre'><td colspan=4>$site3</td></tr>";
}
$tabAfficheSite .= '<tr class="'.$classe.'" onmouseover="this.bgColor=\'#299af5\'" onmouseout="this.bgColor=\'\'" id='.$idDoc.' ><td><a href="#" class=text1 onclick="window.open(\'Ouvrir/ouvrir.php?id_fichier='.$idDoc.'&fichier='.$nomDoc.'\', \'Doc\')" alt='.getMessage(132, $_SESSION['idLanguePgm']).'"'.$nomDoc.'">'.$nomDoc.'</a></td><td width="10%"><acronym title="Date du document : '.$dateDoc.'">'.$dateDoc.'</acronym></td><td width="40%"><acronym title="Description">'.$descriptionDoc.'</acronym></td><td width="10%"><acronym title="Date de mise à jour du document : '.$dateMajDoc.'">'.$dateMajDoc.'</acronym></td></tr>';
$site3_old = $site3;
}
}
else {
$tabAfficheAlone .= '<tr class="'.$classe.'" onmouseover="this.bgColor=\'#299af5\'" onmouseout="this.bgColor=\'\'" id='.$idDoc.' ><td><a href="#" class=text1 onclick="window.open(\'Ouvrir/ouvrir.php?id_fichier='.$idDoc.'&fichier='.$nomDoc.'\', \'Doc\')" alt='.getMessage(132, $_SESSION['idLanguePgm']).'"'.$nomDoc.'">'.$nomDoc.'</a></td><td width="10%"><acronym title="Date du document : '.$dateDoc.'">'.$dateDoc.'</acronym></td><td width="40%"><acronym title="Description">'.$descriptionDoc.'</acronym></td><td width="10%"><acronym title="Date de mise à jour du document : '.$dateMajDoc.'">'.$dateMajDoc.'</acronym></td></tr>';
}
ce n'est pas la boucle qui plante mais le tableau que joint aux message peut étres est ce une histoire de simple et de double cote merci de ton aide quelquel soit
L'orsque l'on éléminer l'impossible reste aussie improbable soit elle la vérité
echo '
<table width="10%" align="left" border="0" style="margin-left:20px">
<tr><td colspan="7"></td></tr>
<tr>
<td>
<table>
<tr>
<form name="siteForm"><td>'.$menuSites.'</td></form>
<form name="serviceForm"><td>'.$menuServices.'</td></form>
<td>'.return_menu_procedure($idProcedure, "go_affiche($site_affiche, $service_affiche, idProcedure.value)").'</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="3">'.getMessage(51, $_SESSION['idLanguePgm']).'</td>
</tr>
<tr>
<td>
<table>
<tr>
<form name="queryForm">
<td><input type="text" size="50" name="query" value="'.$queryForm_affiche.'"></td>
<td><input type="button" name="submitB" value="'.getMessage(48, $_SESSION['idLanguePgm']).'" onclick="check()" style="border=none;border: 1px solid #000;"></td>
<td><input type="button" name="CANCEL" value="'.getMessage(49, $_SESSION['idLanguePgm']).'" onclick="annuler()" style="border=none;border: 1px solid #000;"></td>
</form>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
';
lol. php s'intègre dans le html et pas l'inverse. héhé.
Je te conseille plutot ca :
D'après ce que tu décris c'est bel et bien une boucle infinie.
Peut-être y en a t-il dans une des fonction que tu appelles ?
continue la méthode des "echo" qui te permettra de localiser très précisément le bug.