8791 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un tableau PHP que je reproduis ainsi:
	$r_ca = mysql_query("SELECT nom,prenom FROM `ATS_membre` WHERE MONTH(fete) = month(now()) and day(fete) = day(now())order by ATS_membre.nom");
	$files=Array();
	while ($tableau = mysql_fetch_array($r_ca) ) {
		array_push($files, implode('|',$tableau));
	}		
	print 'Nb de fiches : '.(count($files)).'<br>';
	print_r ($files);


Résultat du tableau aujourd'hui :

Array ( [0] => BRAUCHI|BRAUCHI|DESIREE|DESIREE [1] => MERCIER|MERCIER|ANDREE-ANNE|ANDREE-ANNE [2] => PELLETIER|PELLETIER|MELYNA|MELYNA )

Je dois avoir ces données dans une variable js comme ceci:

var qiksearch_js_text = new Array ("Alain Gagnon", "Samuel Paquet", "Alexis Gendron", "Raphaël Béchard", "Charles-Antoine Perron", "Marie-Pier Côté");

Comment puis-je faire cela ?

De plus, comment je peux envoyer cette variable dans la partie javascript du programme qui contient une partie en js et une partie en php ?

Merci beaucoup de votre aide!
hello fourniey Smiley cligne ,

tu pourrais faire quelque chose comme ça :
<script type="text/javascript">
var qiksearch_js_text = new Array (<?php
require_once('connexion.php');
$r_ca = mysql_query("SELECT prenom, nom FROM `ATS_membre` WHERE MONTH(fete) = month(now()) and day(fete) = day(now()) order by ATS_membre.nom");
$nb_personnes = mysql_num_rows($r_ca);
$compteur = 0;
while ($tableau = mysql_fetch_array($r_ca) ) {
	echo '"'.substr($tableau['prenom'], 0, 1).strtolower(substr($tableau['prenom'], 1, strlen($tableau['prenom'])-1)).' '.substr($tableau['nom'], 0, 1).strtolower(substr($tableau['nom'], 1, strlen($tableau['nom'])-1)).'"';
	$compteur += 1;
	if ($compteur < $nb_personnes) echo ', ';
}		
?>);
</script>

A+
Modifié par Heyoan (16 Jan 2008 - 00:42)
De rien Smiley biggrin ,


sinon pour préciser : le PHP est exécuté en premier côté serveur et génère la page (html ou php) alors que le Javascript est exécuté après côté client (navigateur). On peut donc générer du code Javascript avec du code PHP mais en aucun cas appeler du code PHP avec du Javascript Smiley cligne .
Je ne comprends pas, j'ai ajouté cette application dans mon fichier index.php et il ne fonctionne plus.

J'ai fait un include...

Le fond beige s'affiche mais les noms ne s'affichent pas.
Modifié par fourniey (16 Jan 2008 - 22:34)
Ah oui!
Actuellement, ça fonctionne sous Explorer mais pas sous Firefox.



<SCRIPT LANGUAGE="JavaScript">
	var qiksearch_js_text = new Array (<?php
		require_once('config.inc.php');
		$r_ca = mysql_query("SELECT prenom, nom FROM `ATS_membre` WHERE MONTH(fete) = month(now()) and day(fete) = day(now()) order by ATS_membre.nom");
		$nb_personnes = mysql_num_rows($r_ca);
		$compteur = 0;
		while ($tableau = mysql_fetch_array($r_ca) ) {
			echo '"'.substr($tableau['prenom'], 0, 1).substr($tableau['prenom'], 1, strlen($tableau['prenom'])-1).' '.substr($tableau['nom'], 0, 1).substr($tableau['nom'], 1, strlen($tableau['nom'])-1).'"';
			$compteur += 1;
			if ($compteur < $nb_personnes) echo ', ';
		}		
?>);


	var qiksearch_space_width = 565;
	var qiksearch_space_height = 25;
	var qiksearch_space_borderw=3; // Grandeur de la bordure
	var qiksearch_space_borderc="#CC0000"; // Couleur de la bordure
	var timeOutVal=200; // Délai en millisecondes
	document.write('<table width="' + qiksearch_space_width + '" height="' + qiksearch_space_height + '" style="background:#AC9F8C; border:' + qiksearch_space_borderw + ' solid ' + qiksearch_space_borderc + '"><tr><td align="Left">');
	document.write('<div id="qiksearch_js_space">');
	document.write('</div>');
	document.write('</td></tr></table>');

	var def_10='A',def_11='B',def_12='C',def_13='D',def_14='E',def_15='F';
	var colorVal=15;
	var div_count=0;

		function qiksearch_fade_desat(getColorIntVal)
		{
			var returnVal;
			if(getColorIntVal>=10)
			{
				for(var i=0; i<=15; i++)
				{
					if((getColorIntVal==i))
					{
					returnVal = eval('def_' + i);
					}
				}
			}
			else
			{
			returnVal=getColorIntVal;
			}
			return(returnVal);
		}

		function writeDiv()
		{
			document.all.qiksearch_js_space.innerHTML= '<center><font face="verdana,arial,helvetica" size="-1" color="' + joinColor(qiksearch_fade_desat(colorVal)) + '"><b>' + qiksearch_js_text[div_count] + '</span></b></font>' ;
			if((colorVal>0) && (colorVal!=0))
			{
			colorVal--;
			}
			else
			{
			colorVal=15;
			if(div_count<qiksearch_js_text.length)
			{
			div_count++;
			}
			if(div_count==qiksearch_js_text.length)
			{
			document.all.qiksearch_js_space.innerHTML = '<a href="javascript:resetAll();writeDiv();" style="text-decoration:none" accesskey="R"><center><font color="#808080" face="verdana,arial,helvetica" size="-1"><b><u>R</u>ecommencer<font color="#CC0000"></font></b></center></a>';
			}
			}
			if(div_count<qiksearch_js_text.length)
			{
			setTimeout("writeDiv()",timeOutVal);
			}
		}

		function joinColor(getColor)
		{
		return (getColor + '0' + getColor + '0' + getColor + '0');
		}

		function resetAll() {
		div_count=0;
		colorVal=15;
		}
		writeDiv();
	</script>


Appel du code dans index.php


			<div id="lien">
			<?php include('annoncedujour.php');?>
			
	

      </div>

Sinon pour en revenir au document.all il vaudrait mieux remplacer
document.all.qiksearch_js_space.innerHTML

[b]par[/b]

document.getElementById('qiksearch_js_space').innerHTML
même si d'après ton lien Firefox le reconnait Smiley hein ...


Autresinon, ton problème vient peut-être de ce que la page index.php a un DOCTYPE valide auquel cas il faut remplacer
<SCRIPT LANGUAGE="JavaScript">

[b]par[/b]

<script type="text/javascript">

A+