Forums : Template et RDF

Aller à la discussion :  Plus récente Plus ancienne

Aller à la page :  1 2 3

# Re: RDF PHP TREE

Envoyé par : trollchichon

Date : 25/04/2006 11:30

Y'a personne pour m'aider alors...

# Re: RDF PHP TREE

Envoyé par : laurentj

Date : 25/04/2006 12:28

désolé, je ne vois pas... malformation du RDF ? url mal formée ? je ne sais pas..

Tu remarquera que dans l'exemple de xulfr, datasources="rdf:null". cela a peut etre une conséquence..

# Re: RDF PHP TREE

Envoyé par : trollchichon

Date : 25/04/2006 12:35

ok merci mais la je galère réellement, j'ai passer la matiné dessus et je n'y arrive pas... Alors si quiconque à une idée meme farfenue je suis preneur.

Si vous avez besoin de plus de code ou d'info faites le moi savoir

# Re: RDF PHP TREE

Envoyé par : alexp

Date : 25/04/2006 13:01

Salut,

Pour moi l'erreur se trouve dans PHP, et il y'a aussi des trucs inutiles dans ton javascript!

function chargerArbre(tr){
 var tree = document.getElementById(tr);
 var dsUrl = 'create_rdf.php';
 var val1=document.getElementById("recherche2").value;
 var val2=document.getElementById("searchtype3").value;
 var val3=document.getElementById("searchtype4").value;
 var chaine = escape("recherche")+"="+escape(val1)+"&"+escape("affiliation")+"="+escape(val3)+"&"+escape("composante")+"="+escape(val2);
 // partie inutile (ceci ne fait rien, celà affiche juste le RDF généré et c'est tout)
 p = new XMLHttpRequest();
 p.onload = null;
 p.open("POST","create_rdf.php", false);
 p.setRequestHeader("Content-type","application/x-www-form-urlencoded");
 p.send(chaine);
 status = p.status;
 if ( status != "200" ) {
  alert("arg ! mauvaise réponse http ("+ status +")");
 } else {
  alert(" effectué");
 document.getElementById("recherche2").value = ' ';
 }
 alert(p.responseText);
 // fin partie inutile.
 // partie utile :
 var appendRandom=Math.random();
 dsUrl = "create_rdf.php" + "?" + chaine + "&ZZ=" + appendRandom ;
 alert(dsUrl);
 tree.setAttribute('datasources', '');
 tree.setAttribute('datasources', dsUrl);
 // fin partie utile.
 alert("fini");
}

Donc déjà toute la partie xmlhttprequest ne sert à rien puisque tu n'utilises pas p.responseText ou p.responseXML ...
Seule la deuxième partie avec setAttribute est utile.
Ensuite l'erreur se situe au niveau du PHP car effectivement les variables : affiliation, composante, ... seront envoyées en mode POST lors du xmlhttprequest, mais ce sera en mode GET avec le setAttribute !

# Re: RDF PHP TREE

Envoyé par : trollchichon

Date : 25/04/2006 13:10

alors comment faire pour le faire en post?

voici le source php :

<?php
define('EOL', "\r\n");
require_once("supann_group.php");
function XML_entities($str){
 return preg_replace(array("'&'", "'\"'", "'<'"),  array('&#38;', '&#34;','&lt;'), $str);
}
// Connexion à l'annuaire
$supann_db =& NewADOConnection(DSN_SUPANN_DB) or die("Connexion impossible à la base supann");
$res = $supann_db->Execute("SET NAMES 'utf8'");
// execution de la requète SQL
$supann_db =& NewADOConnection(DSN_SUPANN_DB) or die("Connexion  impossible à la base supann");
if(isset($_POST['recherche']) && trim($_POST['recherche']) != ''){
	if($_POST['composante'] != 'Composantes' && $_POST['composante'] != '' && 
$_POST['composante'] !='------------------------------------------------------------------'){
	$sql = 'SELECT sn, givenName  FROM people, composantes_services WHERE cn LIKE "'.$_POST['recherche'].'%" ';
	$sql.= 'AND composantes_services.ref = "'.$_POST['composante'].'"';
} else{
	$sql = 'SELECT sn, givenName  FROM people WHERE cn LIKE "'.$_POST['recherche'].'%" ';
}
if($_POST['affiliation'] != 'Affiliation' && $_POST['affiliation'] != '' && 
$_POST['affiliation'] !='------------------------------------------------------------------'){
	$sql.= 'AND eduPersonPrimaryAffiliation LIKE "'.$_POST['affiliation'].'"';
}
$res = $supann_db->Execute($sql);
$result = $res->GetArray();
if($res == false){
	echo mysql_error($cnx);
}
else{
     // on commence à lui envoyer le début du fichier RDF
     echo('<?xml version="1.0" encoding="ISO-8859-1"?>'.EOL);
     echo('<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"'.EOL);
     echo('  xmlns:row="http://172.25.25.105/supann#" xmlns:NC="http://home.netscape.com/NC-rdf#">'.EOL);
     echo('<RDF:Bag about="urn:data:row">'.EOL);
     // boucle de récupération des enregistrements de la requête et génération du contenu RDF
     foreach($result as $row){
          echo('<RDF:li>'.EOL);
     	  echo('<RDF:Description>');
     	  // parseType = indication pour le type des données, utile pour le trie sur la colonne
     	  echo('<row:nom>'.XML_entities($row['sn']).'</row:nom>');
     	  echo('<row:prenom>'.XML_entities($row['givenName']).'</row:prenom>');
     	  echo('</RDF:Description>'.EOL);
     	  echo('</RDF:li>'.EOL);
     }
     // fin du fichier RDF
     echo('</RDF:Bag>'.EOL);
     echo('</RDF:RDF>'.EOL);
}
}
?>

# Re: RDF PHP TREE

Envoyé par : laurentj

Date : 25/04/2006 13:11

ah oui bien vu alexp :-)

trollchichon : je confirme, dans ton script PHP tu tente de récupérer tes données dans le $_POST, alors qu'il faudrait les récupérer dans $_GET puisqu'elle sont situées dans l'url

alexp : je pense qu'il a fait ce bout de code avec xmlhttprequest pour tester qu'il recevait bien quelque chose. Mais bon, il n'a pas besoin de faire ça, il suffit simplement de taper l'url de create_rdf.php directement dans son navigateur pour s'en rendre compte ;-)

# Re: RDF PHP TREE

Envoyé par : laurentj

Date : 25/04/2006 13:12

alors comment faire pour le faire en post?

tu ne fais pas. tu modifie juste ton script php correctement.

# Re: RDF PHP TREE

Envoyé par : trollchichon

Date : 25/04/2006 13:13

il suffit juste de modifier le $_POST en $_GET alors?

# Re: RDF PHP TREE

Envoyé par : laurentj

Date : 25/04/2006 13:16

oui.

# Re: RDF PHP TREE

Envoyé par : trollchichon

Date : 25/04/2006 13:17

je viens de le faire et ca ne marche pas!!! suis-je stupide??

Qd j'appelle create_rdf.php et que je passe les parametres dans l'url (en get) et bien ca marche donc je pense que le soucis doit provenir de l'arbre ou du rdf... non?

Est ce que l'affichage doit me produire un code DRF ou une suite de nom-prenom sur la fonction create_rdf.php? parce que j'ai une suite de nom et pas un fichier rdf...

Aller à la page :  1 2 3

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.