simple xml fonction xpath

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : simple xml fonction xpath

Re: simple xml fonction xpath

par stealth35 » 05 oct. 2010, 14:53

je pourrais te poser d'autre question??
bien sûr :wink:

Re: simple xml fonction xpath

par sknano » 05 oct. 2010, 14:46

NONNNNNNNNNNNNNNNNNn
ca marche tu est un chef
merci beaucoup
par contre je vais avancer sur mon code pour finaliser ma page
je pourrais te poser d'autre question??
merci encore

Re: simple xml fonction xpath

par stealth35 » 05 oct. 2010, 14:41

ouvre pas avec des simple guilmet faut mettre des double si tu veux que ca interprète ta variable
"//produits/num[@id=\"$resultid\"]"

Re: simple xml fonction xpath

par sknano » 05 oct. 2010, 14:39

apres ancore une correction il m'envoie ca

//produits/num[@id="20]"

je pense que c'est bon non
tu crois que je peut afficher les texte de mes neoud avec cette variable

foreach ($xml->xpath('//produits/num[@id =\"$resultid]\"') as $numid)

Re: simple xml fonction xpath

par sknano » 05 oct. 2010, 14:36

apres modif du code il m'envoie

"//produits/num[@id=\"$resultid]\""

Re: simple xml fonction xpath

par sknano » 05 oct. 2010, 14:34

ok je comprend la logique
j'appeler la fonction avant quel soit contruite

j'ai deplacer le code en bas de page

mais toujours rien

j'ai ca

foreach ($xml->xpath('//produits/num[@id=\"$resultid]\"') as $numid)

echo "//produits/num[@id=\"$resultid]\"";

il me renvoie


Parse error: syntax error, unexpected T_FOREACH, expecting ',' or ';' in /homez.342/senimedi/www/test/prod.php on line 114

ligne 114 c le foreach

Re: simple xml fonction xpath

par stealth35 » 05 oct. 2010, 14:25

ben je sais pas pour moi mon code dit
si $resultform vaut 11 alors la variable $resultid vaut 1
non il me manque quelque chose??

tu appelles la variable avant qu'elle soit définie
c'est comme si tu faisais
echo $a;
$a = 'hello';
travaille en erreur STRICT sinon tu va pas t'en sortir

Re: simple xml fonction xpath

par sknano » 05 oct. 2010, 14:22

ben je sais pas pour moi mon code dit
si $resultform vaut 11 alors la variable $resultid vaut 1
non il me manque quelque chose??

Re: simple xml fonction xpath

par stealth35 » 05 oct. 2010, 14:21

dans la chaine des if non??
oui... donc après...

Re: simple xml fonction xpath

par sknano » 05 oct. 2010, 14:20

dans la chaine des if non??

Re: simple xml fonction xpath

par stealth35 » 05 oct. 2010, 14:20

et a quelle ligne est definie $resultid ?

Re: simple xml fonction xpath

par sknano » 05 oct. 2010, 14:19

attention c long en rouge le code ou je bataille
<?php

// on ouvre le fichier produit.xml
$xml = simplexml_load_file('produit.xml');

//variable resultant du formulaire 1 et 2
$ecran = $_POST['ecran'];
$produit = $_POST['produit'];
$resultform = $ecran . $produit;

[color=#FF0000]// on cree la fonction $numid qui va lire le numero id
// foreach ($xml->xpath('/produits/num[@id ="'.$resultid.'"]') as $numid)
// foreach ($xml->xpath('//produits/num[@id=\"$resultid]\"') as $numid)
[/color]

var_dump($resultid);
echo "//produits/num[@id=\"$resultid]\"";

// on cree la fonction qui genere l'id $resultid
// suivant le resultat du form1 et du form2
if ( $resultform == 11 ) {$resultid=1 ;}
	else
if ( $resultform == 12 ) {$resultid=2 ;}	
	else
if ( $resultform == 13 ) {$resultid=3 ;}
	else
if ( $resultform == 14 ) {$resultid=4 ;}
	else
if ( $resultform == 15 ) {$resultid=5 ;}
	else
if ( $resultform == 21 ) {$resultid=6 ;}
	else
if ( $resultform == 22 ) {$resultid=7 ;}
	else
if ( $resultform == 23 ) {$resultid=8 ;}
	else
if ( $resultform == 24 ) {$resultid=9 ;}
	else
if ( $resultform == 25 ) {$resultid=10 ;}
	else
if ( $resultform == 31 ) {$resultid=11 ;}
	else
if ( $resultform == 32 ) {$resultid=12 ;}
	else
if ( $resultform == 33 ) {$resultid=13 ;}
	else
if ( $resultform == 34 ) {$resultid=14 ;}
	else
if ( $resultform == 35 ) {$resultid=15 ;}
	else
if ( $resultform == 41 ) {$resultid=16 ;}
	else
if ( $resultform == 42 ) {$resultid=17 ;}
	else
if ( $resultform == 43 ) {$resultid=18 ;}
	else
if ( $resultform == 44 ) {$resultid=19 ;}
	else
if ( $resultform == 45 ) {$resultid=20 ;}
	else
if ( $resultform == 51 ) {$resultid=21 ;}
	else
if ( $resultform == 52 ) {$resultid=22 ;}
	else
if ( $resultform == 53 ) {$resultid=23 ;}
	else
if ( $resultform == 54 ) {$resultid=24 ;}
	else
if ( $resultform == 55 ) {$resultid=25 ;}
	else
if ( $resultform == 61 ) {$resultid=26 ;}
	else
if ( $resultform == 62 ) {$resultid=27 ;}
	else
if ( $resultform == 63 ) {$resultid=28 ;}
	else
if ( $resultform == 64 ) {$resultid=29 ;}
	else
if ( $resultform == 65 ) {$resultid=30 ;}

	else {echo "Vous n'avez pas selectionnez les deux choix";}

// on cree la premiere liste deroulante
echo '
<FORM METHOD=POST ACTION="prod.php">
<select name="ecran" onclick="this.form.choix1.value=this.selectedIndex;">>
		<option value="">Quel est votre rayon?</option>
        <option value="1">Rayon casque</option>
		<option value="2">Rayon blouson</option>
		<option value="3">Rayon gant</option>
		<option value="4">Rayon cross</option>
		<option value="5">Caisse</option>
		<option value="6">Moto Occasion</option>
        </select>
<br>
';
// on cree la deuxieme liste deroulante
echo '
<select name="produit" onclick="this.form.choix2.value=this.selectedIndex;">>
		<option value="">Quel Numero de produit ?</option>
        <option value="1">Produit n°1</option>
		<option value="2">Produit n°2</option>
		<option value="3">Produit n°3</option>
		<option value="4">Produit n°4</option>
		<option value="5">Produit n°5</option>
        </select>
<br>
<input type="submit" value="OK"> 


</form>

';

echo $resultid ;

?>


Re: simple xml fonction xpath

par stealth35 » 05 oct. 2010, 14:16

montre quand meme

Re: simple xml fonction xpath

par sknano » 05 oct. 2010, 14:13

lorsque je fait un
echo $resultid ;
il me rend bien la valeur de l'id

Re: simple xml fonction xpath

par sknano » 05 oct. 2010, 14:12

je pense qu'il faut que je t'explique

j'ai un formulaire qui me renvoi elorsque je post la variable $resultform

celle si est utiliser pour genere l'id
if ( $resultform == 11 ) {$resultid=1 ;}
else

donc j'ai maintenant cette varaible resultid que je souhaite utiliser pour rechercher dans mon xml les testes des neud

produit
picture

voila tu c tout