[php] probleme de programme

Voila j'ai cette page PHP.

Le but est de créer un tableau contenant des dates de début et de fin de projet, le nom du projet et le chemin d'un aperçu 3d du projet.

Jusque là pas de problème. Dans cette même page (en dessous du tableau j'affiche un objet(3dxml) .

Ce que je désirerais faire c'est afficher l'apercu du projet que je viens de cliquer fonction (onclick).Avec ce programme, l'apercu qui s'affiche est forcement le dernier du tableau.Je ne sais pas ce qu'il faudrait ecrire à la suite du onclick pour que ca marche

Est ce que vous voyez ce que je veux dire ...

<?php
GLOBAL $AppUI, $canRead, $canEdit, $m, $url_actif;
function CreateTableOfProjects(){
	$mois[1] = "Jan.";
	$mois[2] = "Fev.";
	$mois[3] = "Mar.";
	$mois[4] = "Avr.";
	$mois[5] = "Mai.";
	$mois[6] = "Jun.";
	$mois[7] = "Jul.";
	$mois[8] = "Aou.";
	$mois[9] = "Sep.";
	$mois[10] = "Oct.";
	$mois[11] = "Nov.";
	$mois[12] = "Dec.";
	$stringout = '';
	$projects;
	$i = 0;
	$q = new DBQuery;
	$q->addTable('projects');
	$q->addQuery('project_id, project_name, project_start_date, project_end_date, project_url, project_status');
	$q->exec();
	while ( $row = $q->fetchRow() ){
		$projects[$i]['project_id'] = $row['project_id'];
		$projects[$i]['project_name'] = $row['project_name'];
		$projects[$i]['project_url'] = $row['project_url'];
		$projects[$i]['project_start_date'] = $row['project_start_date'];
		$projects[$i]['project_end_date'] = $row['project_end_date'];
		$i++;
	}
		
	$q->clear();
	if ($projects == NULL){
		$stringout = $stringout."<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" class=\"tbl\"><tr>\n\t\t<th colspan = \"\">Il n'existe aucun Projet. Veuillez en créer un et réessayer.</th></tr></table>";
		echo $stringout;
		$nobudgets = 1;
	}
	
	else{
		$stringout = $stringout."<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" class=\"tbl\"><tr>\n\t\t<th colspan = \"\">Date de début</th><th>Date de fin</th><th>Projet</th><th>Url Visu3D</th></tr>";
		$i = 0;
		foreach ($projects as $eachproject){
			$start = $mois[(int)substr($eachproject['project_start_date'], 5, 2)]." ".(int) substr($eachproject['project_start_date'], 8, 2).", ".(int) substr($eachproject['project_start_date'], 0, 4);
			$end = $mois[(int)substr($eachproject['project_end_date'], 5, 2)]." ".(int) substr($eachproject['project_end_date'], 8, 2).", ".(int) substr($eachproject['project_end_date'], 0, 4); 
			$stringout = $stringout."<tr><td>\n\t\t<input name=\"project_id".$eachproject['project_id']."\" id=\"project_id".$eachproject['project_id']."\" value=\"".$eachproject['project_id']."\" type=\"hidden\">\n\t\t";
			$stringout = $stringout."<input name=\"project_name".$eachproject['project_id']."\" id=\"project_name".$eachproject['project_id']."\" value=\"".$eachproject['project_name']."\" type=\"hidden\">\n\t\t";
			$stringout = $stringout."<input name=\"project_start_date".$eachproject['project_id']."\" id=\"project_start_date".$eachproject['project_id']."\" value=\"".$eachproject['project_start_date']."\" type=\"hidden\">\n\t\t";
			$stringout = $stringout."<input name=\"project_end_date".$eachproject['project_id']."\" id=\"project_end_date".$eachproject['project_id']."\" value=\"".$eachproject['project_end_date']."\" type=\"hidden\">\n\t\t";
			$stringout = $stringout."<input name=\"project_url".$eachproject['project_id']."\" id=\"project_url".$eachproject['project_id']."\" value=\"".sprintf("%.2f",(round(($eachproject['project_url']), 2)))."\" type=\"hidden\">\n\t\t";
			$stringout = $stringout."<input name=\"neworexisting".$eachproject['project_id']."\" id=\"neworexisting".$eachproject['project_id']."\" value=\"existing\" type=\"hidden\">\n\t\t";
			$stringout = $stringout.$start."</td><td>".$end."</td><td>".$eachproject['project_name']."</a></td><td><a href=\"#\" onclick==\"".$eachproject['project_url']."\">".$eachproject['project_url']."</td></tr>\n\t\t";
			$i++;
		}
		$url_actif=$eachproject['project_url'];
		$i++;
		$stringout = $stringout."</table>";
		echo $stringout;
		echo
		'<div align="center">
					<table id="table3" style="border-collapse: collapse;" border="0" height="489" width="604">
						<tbody><tr>

							<td width="602">
							<object classid="clsid:5ABD296B-F8A0-436C-B2F7-B19170C43D28" id="viewer" height="477" width="592">
								<param name="DocumentFile" value="'.$url_actif.'" ref="" valuetype="ref">
							</object>
							</td>
						</tr>
						</tbody></table>
				</div>

		 </font> </div>
		';
	}
}

if (!$canRead) {			// lock out users that do not have at least readPermission on this module
	$AppUI->redirect( "m=public&a=access_denied" );
}


if ($_GET['suppressHeaders'] == 1){
	echo '<link rel="stylesheet" type="text/css" href="style/print.css" media="print" />';
	echo '<link rel="stylesheet" type="text/css" href="style/print.css" media="print" />';
	echo '<link rel="stylesheet" type="text/css" href="style/calendar.css" />';
	echo '<link rel="stylesheet" type="text/css" href="./style/default/main.css" media="all" />';
	echo '<link rel="stylesheet" type="text/css" media="all" href="/lib/calendar/calendar-dp.css" title="blue" />';
}

?>
<link rel="stylesheet" type="text/css" href="modules/3DXML/css/3DXML.css" />


<div id="errorout"></div>


<div id ="coverwhileloading" style="z-index:99;visibility: hidden;text-align:center; width:100%; position:absolute; height:100%; top:0px; background-repeat:no-repeat; background-position: center;background-color:#F0F0F0; ">
<div id="cancelrequest" style="font:bold 32pt Arial; color:black;padding-top:25%;">Cancel</div></div>

<table width="100%" border="0" cellpadding="2" cellspacing="1" class="tbl">
	<tr><td colspan="2"><?php CreateTableOfProjects();   ?>
</td></tr>
</table>  


</div>

<div><a href="?m=3DXML&suppressHeaders=1">Recharger la page sans En-tête</a></div>
Configuration: Windows XP
Firefox 2.0.0.3

5 réponses

  1. Ce qu'il te faut changer dynamiquement par javascript le paramètre value
    ... onclick=\"document.getElementById('id_preview').value='".$eachproject['project_url']."'\"
    
    et 
    
    <param id='id_preview' name="DocumentFile" value="" ref="" valuetype="ref">
    


    cordialement
    1. oula ça dépasse carrement mes compétences,
      il faudrait que je définisse une fonction javascript?

      j'ai essayé copier coller de ton code et j'ai des soucis de syntaxe, est ce qu'il faut que je définisse 'id_preview' et document.getElementById quelque part?
      1. <?php
        GLOBAL $AppUI, $canRead, $canEdit, $m, $url_actif;
        function CreateTableOfProjects(){
        	$mois[1] = "Jan.";
        	$mois[2] = "Fev.";
        	$mois[3] = "Mar.";
        	$mois[4] = "Avr.";
        	$mois[5] = "Mai.";
        	$mois[6] = "Jun.";
        	$mois[7] = "Jul.";
        	$mois[8] = "Aou.";
        	$mois[9] = "Sep.";
        	$mois[10] = "Oct.";
        	$mois[11] = "Nov.";
        	$mois[12] = "Dec.";
        	$stringout = '';
        	$projects;
        	$i = 0;
        	$q = new DBQuery;
        	$q->addTable('projects');
        	$q->addQuery('project_id, project_name, project_start_date, project_end_date, project_url, project_status');
        	$q->exec();
        	while ( $row = $q->fetchRow() ){
        		$projects[$i]['project_id'] = $row['project_id'];
        		$projects[$i]['project_name'] = $row['project_name'];
        		$projects[$i]['project_url'] = $row['project_url'];
        		$projects[$i]['project_start_date'] = $row['project_start_date'];
        		$projects[$i]['project_end_date'] = $row['project_end_date'];
        		$i++;
        	}
        		
        	$q->clear();
        	if ($projects == NULL){
        		$stringout = $stringout."<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" class=\"tbl\"><tr>\n\t\t<th colspan = \"\">Il n'existe aucun Projet. Veuillez en créer un et réessayer.</th></tr></table>";
        		echo $stringout;
        		$nobudgets = 1;
        	}
        	
        	else{
        		$stringout = $stringout."<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" class=\"tbl\"><tr>\n\t\t<th colspan = \"\">Date de début</th><th>Date de fin</th><th>Projet</th><th>Url Visu3D</th></tr>";
        		$i = 0;
        		foreach ($projects as $eachproject){
        			$start = $mois[(int)substr($eachproject['project_start_date'], 5, 2)]." ".(int) substr($eachproject['project_start_date'], 8, 2).", ".(int) substr($eachproject['project_start_date'], 0, 4);
        			$end = $mois[(int)substr($eachproject['project_end_date'], 5, 2)]." ".(int) substr($eachproject['project_end_date'], 8, 2).", ".(int) substr($eachproject['project_end_date'], 0, 4); 
        			$stringout = $stringout."<tr><td>\n\t\t<input name=\"project_id".$eachproject['project_id']."\" id=\"project_id".$eachproject['project_id']."\" value=\"".$eachproject['project_id']."\" type=\"hidden\">\n\t\t";
        			$stringout = $stringout."<input name=\"project_name".$eachproject['project_id']."\" id=\"project_name".$eachproject['project_id']."\" value=\"".$eachproject['project_name']."\" type=\"hidden\">\n\t\t";
        			$stringout = $stringout."<input name=\"project_start_date".$eachproject['project_id']."\" id=\"project_start_date".$eachproject['project_id']."\" value=\"".$eachproject['project_start_date']."\" type=\"hidden\">\n\t\t";
        			$stringout = $stringout."<input name=\"project_end_date".$eachproject['project_id']."\" id=\"project_end_date".$eachproject['project_id']."\" value=\"".$eachproject['project_end_date']."\" type=\"hidden\">\n\t\t";
        			$stringout = $stringout."<input name=\"project_url".$eachproject['project_id']."\" id=\"project_url".$eachproject['project_id']."\" value=\"".sprintf("%.2f",(round(($eachproject['project_url']), 2)))."\" type=\"hidden\">\n\t\t";
        			$stringout = $stringout."<input name=\"neworexisting".$eachproject['project_id']."\" id=\"neworexisting".$eachproject['project_id']."\" value=\"existing\" type=\"hidden\">\n\t\t";
        			$stringout = $stringout.$start."</td><td>".$end."</td><td>".$eachproject['project_name']."</a></td><td><a href=\"#\" onclick=\"document.getElementById('id_preview').value='".$eachproject['project_url']."'\">".$eachproject['project_url']."</td></tr>\n\t\t";
        			$i++;
        		}
        		$url_actif=$eachproject['project_url'];
        		$i++;
        		$stringout = $stringout."</table>";
        		echo $stringout;
        		echo
        		'<div align="center">
        					<table id="table3" style="border-collapse: collapse;" border="0" height="489" width="604">
        						<tbody><tr>
        
        							<td width="602">
        							<object classid="clsid:5ABD296B-F8A0-436C-B2F7-B19170C43D28" id="viewer" height="477" width="592">
        								<param id='id_preview' name="DocumentFile" value="'.$url_actif.'" ref="" valuetype="ref">
        							</object>
        							</td>
        						</tr>
        						</tbody></table>
        				</div>
        
        		 </font> </div>
        		';
        	}
        }
        
        if (!$canRead) {			// lock out users that do not have at least readPermission on this module
        	$AppUI->redirect( "m=public&a=access_denied" );
        }
        
        
        if ($_GET['suppressHeaders'] == 1){
        	echo '<link rel="stylesheet" type="text/css" href="style/print.css" media="print" />';
        	echo '<link rel="stylesheet" type="text/css" href="style/print.css" media="print" />';
        	echo '<link rel="stylesheet" type="text/css" href="style/calendar.css" />';
        	echo '<link rel="stylesheet" type="text/css" href="./style/default/main.css" media="all" />';
        	echo '<link rel="stylesheet" type="text/css" media="all" href="/lib/calendar/calendar-dp.css" title="blue" />';
        }
        
        ?>
        <link rel="stylesheet" type="text/css" href="modules/3DXML/css/3DXML.css" />
        
        
        <div id="errorout"></div>
        
        
        <div id ="coverwhileloading" style="z-index:99;visibility: hidden;text-align:center; width:100%; position:absolute; height:100%; top:0px; background-repeat:no-repeat; background-position: center;background-color:#F0F0F0; ">
        <div id="cancelrequest" style="font:bold 32pt Arial; color:black;padding-top:25%;">Cancel</div></div>
        
        <table width="100%" border="0" cellpadding="2" cellspacing="1" class="tbl">
        	<tr><td colspan="2"><?php CreateTableOfProjects();   ?>
        </td></tr>
        </table>  
        
        
        </div>
        
        <div><a href="?m=3DXML&suppressHeaders=1">Recharger la page sans En-tête</a></div>
        


        PS: je ne peux pas tester ce code à ta place donc bonne chance

        cordialement
        1. Quand je colle le code il me met toujours une erreur ligne 65

          Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /www/plateforme/modules/3DXML/voir_3DXML.php on line 65

          visiblment param id ne lui va pas, est ce que il ne faut pas indiquer script a un endroit?
          1. remplacer les guillemets ' par " autour de id_preview

            cordialement

            PS: Dsl de ne pouvoir vérifier l'ensemble de la syntaxe
            Bon courage
          2. @KmiKC'est bon je n'ai plus de message d'erreur mais "value" reste désesperement vide quand j'edite les sources de la page générée, donc pas d'image.
        2. J'ai une erreur qui apparait toujours, si il y a du javascript est ce qu'ilne faut pas le dire quelque part ? genre <script>

          Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in www/plateforme/modules/3DXML/voir_3DXML.php on line 65

          Encore une fois merci pour me donner un peu de ton temps.