[php] probleme de programme

tchoa1 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
tchoa1 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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>
A voir également:

5 réponses

KmiK Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   31
 
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
0
tchoa1 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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?
0
KmiK Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   31
 
<?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
0
tchoa1 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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?
0
KmiK Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   31
 
remplacer les guillemets ' par " autour de id_preview

cordialement

PS: Dsl de ne pouvoir vérifier l'ensemble de la syntaxe
Bon courage
0
tchoa1 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   > KmiK Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
C'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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tchoa1 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0