Variable php dans javascript

Fermé
thilde - 23 janv. 2008 à 13:57
 thilde - 24 janv. 2008 à 09:30
Bonjour,

j'ai un petit souci sur un sujet qui a, je sais, été beaucoup traiter mais je n'y est pas trouvé la réponse et je débute c'est pourquoi je fais appel à vous

je déroule les données d'une table de ma base de données que j'insère dans un tableau
et sur chaque ligne se trouve un bouton pour pouvoir modifier une donnée

je dois récuper une variable php (le numéro d'enregistrement) dans un code javascript

est-it possible de faire ceci :

document.location="index.php?page=validation&reponse=ok&num=<?php echo $_row['num'];?>";

cela ne fonctionne pas mais c'est peut etre une erreur de syntaxe, si c'est le cas merci de me le signaler

autre chose

j'ai essayer en remplçant par une variable de session et cela fonctionne mais le problème est que je garde uniquement le dernier enregistrement (ce qui est logique puisque à chaque ligne je récupère la variable $row dans $_SESSION donc au final je n'ai que le dernier)

document.location="index.php?page=validation&reponse=ok&num=<?php echo $_SESSION['num'];?>";

je ne sais pas du tout comment faire merci de me donner un petit coup de main :)
A voir également:

11 réponses

Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
24 janv. 2008 à 09:11
Ok, alors dans ce cas c'est simple:

rajoute un paramètre à ta fonction validation():
function validation(id){
     if (confirm('Voulez-vous valider ou annuler la validation de ce suivi ?')) {
        document.location="index.php?page=validation&reponse=ok&num="+id;
    }
    else{
       envoi();
    }
} 

et
 echo"<td><img src='./images/puce.png' title='modifier' id='num' onclick=validation('$rowSuivi[SUI_ID]')></td>"; 
1
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
23 janv. 2008 à 14:03
Bonjour,
je me suis posé la même question récemment, mais j'avais directement mis un espace après le "<?"
Je n'ai pas testé sans espace donc je ne sais pas si ca peut venir de là.

--
Tøƒ
0
j'ai essayé avec ou sans espace j'en suis toujours au meme point
je te remerci quand meme
0
je renouvelle ma demande
je n'ai toujours pas trouvé
merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
23 janv. 2008 à 16:04
Essayes en remplaçant les "&" dans l'url du code JS par des &amp;.
Si ça ne marche toujours pas, quel est le code source qui est généré ?
--
Sylvain
0
j'ai remplacé comme tu m'as dit mais cela ne marche toujours pas

le script ne comprend pas ce code : <? echo $rowSuivi['SUI_ID']; ?>

dans l'url cela se traduit par : <?%20echo%20$rowSuivi['SUI_ID'];%20?>

alors que si je passe $_SESSION comme je l'explique plus haut ça me traduit bien par le numéro (mais pas le bon :s)

j'ai beaucoup de mal !!!

merci pour vos conseil
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
23 janv. 2008 à 16:33
Le Php est interpreté par le serveur avant l'affichage de la page, tu ne peux donc pas utiliser de PHP dynamique dans tes pages.

Ou place tu le 'document.location' et comment ?
- Une seule fois dans la page ?
- Une fois par ligne, via une boucle ? quelle boucle ?
0
alors voila mon code javascript que j'appel via une fonction au moment du clic sur le bouton

function validation()
{
if (confirm('Voulez-vous valider ou annuler la validation de ce suivi ?'))
{
document.location="index.php?page=validation&reponse=ok&num=<? echo $rowSuivi['SUI_ID']; ?>";
}
else
{
envoi();
}
}

faut-il que j'explique autre chose ? dite moi si vous avez besoin de plus de détails
je suppose que cela n'est pas évident de reprendre le code de quelqu'un d'autre
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
23 janv. 2008 à 16:51
Jusque là c'est évident ;)
Mais il me manque un détail pour mettre en place la solution adéquate.

Comment sont construits les boutons ?
chaque ligne est placée dans un formulaire ?
un formulaire pour toute les lignes?
pas de formulaire ?
L'appel de la fonction validation() se fait par un onSubmit ou un onClick ?
0
voila le reste de mon code :
s'il manque des informations dite le moi mais normalement j'ai tout mis


//on execute la requete sur les suivis dans fonction.php
$resultSuivi = mysql_query(reqSuivi($_SESSION['date']));

//traitement du resultat dans une boucle pour afficher dans le tableau
while($rowSuivi = mysql_fetch_assoc($resultSuivi))
{
echo"<tr>";
echo"<td colspan='20'>".$rowSuivi['SUI_ID']."</td>";
echo"<td colspan='20'>".$rowSuivi['SUI_DATE_ECHEANCE']."</td>";
echo"<td colspan='20'>";
//requete sur les Processus du suivi dans fonction.php
$resultProcessus = mysql_query(reqProcessus($rowSuivi['SUI_ID']));

//traitement du resultat dans une boucle pour afficher dans la ligne du tableau
while($rowProcessus = mysql_fetch_assoc($resultProcessus))
{
echo $rowProcessus['PRO_PILOTE_PRENOM']." ".$rowProcessus['PRO_PILOTE_NOM']."<br>";
}
echo"</td>";
echo"<td colspan='10'>".$rowSuivi['SUI_VALIDATION']."</td>";
echo"<td><img src='./images/puce.png' title='modifier' id='num' onclick=validation()></td>";
$_SESSION['num'] = $rowSuivi['SUI_ID'];
echo"</tr>";
}
0
je te remercie infiniment cela fait 3 jours que je suis là dessus et je n'ai pas du tout pensé à passer un paramêtre
cela fonctionne très bien maintenant
merci beaucoup
problème résolu ;)
0