Recuperation du resultat d'une requete mysql dans un tableau javascript

Soyez le premier à donner votre avis sur cette source.

Snippet vu 46 895 fois - Téléchargée 28 fois

Contenu du snippet

Cette fonction séclare un tableau associatif javascript
de la forme tableau["nomchamp"][n°ligne] == valeur
contenant le résultat d'une requête mysql.

(04/06/2004 : correction d'un bug trouvé qui survenait avec des résultats de requête vides)

Source / Exemple :


// Déclare un tableau associatif javascript de la forme tableau["nomchamp"][n°ligne] == valeur
// contenant le résultat d'une requête mysql.
// $requete : chaine de caractères contenant la requête mysql à lancer.
// $nomtabjs : nom de la variable tableau à déclarer en javascript.

function mysql_to_js($requete, $nomtabjs) {

	// Requête mysql
	$req = mysql_query($requete)
	or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error());
	
	$taille = mysql_num_rows($req);
	// Ecriture de la déclaration du tableau javascript si la requête
	// contient quelque chose, sinon déclaration d'un tableau null.
	$numfields = mysql_num_fields($req);
	if($numfields > 0) {
		
		// Déclaration de la variable tableau.
		echo("var ".$nomtabjs." = new Array(".$numfields.");\n");
		// Déclaration des tableaux de valeurs pour chaque champs.
		for($i=0; $i<$numfields; $i++) {
			echo($nomtabjs."['".mysql_field_name($req, $i)."'] = new Array(".$taille.");\n");
		}
		
		if($taille>0) {
			// Déclaration du reste des valeurs du résultat de la requête.
			$i=0;
			while($data = mysql_fetch_assoc($req)) {
				foreach($data as $key => $value) {
					echo($nomtabjs."['".mysql_escape_string($key)."'][".$i."] = '".mysql_escape_string($value)."';\n");
				}
				$i++;
			}
		}
	}
	else echo("var ".$nomtabjs." = null;\n");
}

Conclusion :


Cette fonction peut s'avérer très utile, si vous projetez de faire des contrôles javascript dans une page sur des données chargées au démarrage de celle ci.

(cela évite les redirections et temps de chargements à chaque modification d'une combobox, par exemple)...

en espérant vous avoir été utile, @+

A voir également

Ajouter un commentaire

Commentaires

ros109
Messages postés
2
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
31 janvier 2005
-
super pratique pour ne pas recharger la page et avoir un formulaire dynamique....
gillessellig
Messages postés
2
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
26 août 2005
-
Super justement c'est exactement ce que je cherchais...
Par contre tu pourrait expliquer ton code un peu mieux y'a des trucs ke je comprend pas trop..(NB : je suis pas super bon en javascript....ni en php d'ailleurs...mais bon je m'ameliore grace a des gars comme toi).

En fait j'ai copier ton code, j'ai fais ma requete, mais rien ne s'affiche en sortie...bizarre.

et pui sa c koi aussi

$monjs : nom de la variable tableau javascript à déclarer
gillessellig
Messages postés
2
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
26 août 2005
-
Désolé,
J'ai oublié de te dire merci pour ton aide...et de te féléciter pr ce que tu fais

La politesse avabt tout !
flor003
Messages postés
119
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
19 juin 2007
-
c'est d'une une très bonne idée et de deux un code simple
et bien expliqué.
a++
cs_neosqual
Messages postés
13
Date d'inscription
vendredi 11 juin 2004
Statut
Membre
Dernière intervention
18 mai 2005
-
ca à l'air bien...néammoins j'ai une erreur me disant qu'un ";" est attendu...je n'ai pas trouvé ou était l'erreur syntaxique

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.