Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2011, 08h55   #1
Nouveau Membre du Club
 
Jean-Philippe SARASY
Inscription : mars 2007
Messages : 131
Détails du profil
Informations personnelles :
Nom : Jean-Philippe SARASY

Informations forums :
Inscription : mars 2007
Messages : 131
Points : 38
Points : 38
Par défaut Affichage / récupération champ text dans un tableau php

Bonjour

Je tente actuellement de développer un site web en php pour interroger une base mssql contenant mes métriques de performances historisées.
Tout fonctionne correctement sauf la récupération des plans d’exécution et le code SQL pour ceux contiennent beaucoup de caractères.

Pour la récupération du code sql je construis un tableau comme suit :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
  	while(odbc_fetch_into($l_tab_resul,$row)){
  		for($i=0;$i<=$width;$i++){
			    $val = trim($row[$i]);
				$pieces = explode("\n", $val);
				$l_str_htmlCode .= "<td class=linktab>";
				for($j=0;$j<=sizeof($pieces);$j++){
					$l_str_htmlCode .= "<font class=data_Elem><div>".$pieces[$j]."</div></font>";
				}
				$l_str_htmlCode .= "</td>";
  			}
  		$l_str_htmlCode .= "</tr>";
  		$nb++;
  		}
Voici un exemple de requête test SQL dont le résultat sera affecté à la variable $l_tab_result ci dessus :

Code :
1
2
3
4
5
6
7
 
-- For SQL Query
select top 1 convert(varchar(5000),text) from sys.dm_exec_query_stats
cross apply sys.dm_exec_sql_text(sql_handle)
-- For Plan Query 
select top 1 convert(varchar(5000),query_plan) from sys.dm_exec_query_stats
cross apply sys.dm_exec_text_query_plan(plan_handle,statement_start_offset,statement_end_offset)
Il apparait alors dans mon tableau html des symboles bizarres (ex : ÞZŒum_o). Si j'augmente le varchar, cela ne change rien. D'ailleurs, quand je lance la requête sur le serveur SQL directement, je n'ai pas de problème.
J'ai testé aussi avec un champ text à la place du varchar. Les symboles (affichés avec le varchar) disparaissent mais si le résultat de la requête est tronqué sous html.

Si quelqu'un a une idée, je sais pas par ou prendre le problème

Merci
Jeeps64
jeeps64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 14h30   #2
Nouveau Membre du Club
 
Jean-Philippe SARASY
Inscription : mars 2007
Messages : 131
Détails du profil
Informations personnelles :
Nom : Jean-Philippe SARASY

Informations forums :
Inscription : mars 2007
Messages : 131
Points : 38
Points : 38
Finalement apres de multiples test, je viens de trouver la solution
Il suffisait de mettre le parametre odbc.defaultlrl à un nombre tres grand (defaut 4096)
En gardant mon convert(text,macolonne)

Jeeps64
jeeps64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h03.


 
 
 
 
Partenaires

Hébergement Web