Probleme php et javascript

Fermé
Hacker#1 Messages postés 76 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 20 avril 2010 - 14 avril 2009 à 20:14
 benj - 15 avril 2009 à 00:41
Bonjour,
je veux passer des parametres php en une fonction javascript qui execute un code php
et faire incrementer une valeur php et l'inserer dans une base
Quand je clique sur le bouton il se passe rien
voila mon code
<html>
<style type="text/css">
<!--
.style1 {font-family: Arial}
-->
</style>
<body>
<script language="javascript">
function emprunt(nombre,text)
{
<?php
$base=mysql_connect('localhost','root','');
mysql_select_db('compte');
mysql_query("update livre set nbre d exemplaire=nombre-1 where nom=text");
?>
}
</script>
  <?php
$base=mysql_connect('localhost','root','');
mysql_select_db('compte');
$sql='SELECT * FROM livre';
$req=mysql_query($sql) or die('Erreur SQL!<br>'.$sql.'<br>'.mysql_error());
echo "<table border>";
while($data=mysql_fetch_array($req))
{$a=$data['nbre d exemplaire'];
$b=$data['nom'];
echo "<tr>
<td> <span class='style1'> nom ".$data['nom']."<br>auteur ".$data['auteur']."<br>maison d edition ".$data['maison d edition']
."<br>nbre d exemplaire ".$data['nbre d exemplaire']."<br>
<input name='pret' type='submit' onClick='exemplaire($a,$b)'>
</span></td>
<td></td>
</tr>";}
echo"</table>";
mysql_free_result($req);
mysql_close();
?>
</body>
</html>
A voir également:

4 réponses

Utilisateur anonyme
14 avril 2009 à 20:38
essais en enlevant le $base= dans

$base=mysql_connect('localhost','root','');

pour avoir ça :
mysql_connect('localhost', 'root', '');
mysql_select_db('compte');


ou alors fais comme ça :

$base = mysql_connect('localhost', 'root', '');
mysql_select_db('compte', $base);
0
Hacker#1 Messages postés 76 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 20 avril 2010
14 avril 2009 à 20:49
Le probleme contenue!!!
0
bonsoir,

analyse ton code :

déjà il n'est pas compatible w3c mais ce n'est pas le plus grave,
tu répètes du code inutilement et tu crées une fonction javascript vide.

ton code reviens à faire ça :

<html>
	<head>
		<style type="text/css">
			<!--
			.style1 {font-family: Arial}
			-->
		</style>
	</head>
	<body>
		<script language="javascript">
		function emprunt(nombre,text) {
		}
		</script>
<?php
	mysql_connect('localhost','root','');
	mysql_select_db('compte');
	mysql_query("update livre set nbre d exemplaire=nombre-1 where nom=text");
	$sql='SELECT * FROM livre';
	$req=mysql_query($sql) or die('Erreur SQL!<br>'.$sql.'<br />'.mysql_error());
	echo "<table>";
	while($data = mysql_fetch_array($req)) {
		$a = $data['nbre d exemplaire'];
		$b = $data['nom'];
		echo "<tr>
		<td> <span class='style1'> nom ".$data['nom']."<br />auteur ".$data['auteur']."<br />maison d edition ".$data['maison d edition']
		."<br />nbre d exemplaire ".$data['nbre d exemplaire']."<br />
		<input name='pret' type='submit' onClick='exemplaire($a,$b)' />
		</span></td>
		<td></td>
		</tr>";
	}
	echo"</table>";
	mysql_free_result($req);
	mysql_close();
?>
	</body>
</html>
0
Hacker#1 Messages postés 76 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 20 avril 2010
14 avril 2009 à 23:02
Alors comment integrer le code php
<?php
$base=mysql_connect('localhost','root','');
mysql_select_db('compte');
mysql_query("update livre set nbre d exemplaire=nombre-1 where nom=text");
?>

dans la function javascript
<script language="javascript">
		function emprunt(nombre,text) {
		}
		</script>

encore set ce que la syntaxe de onclick est juste
onClick='exemplaire($a,$b)
0
tu ne peux pas le faire comme ça...

tu peux écrire ta fonction javascript avec php comme tu ferait pour du html mais l'inverse doit passer par un system ajax grace à XMLHttpRequest

https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/244798-lobjet-xmlhttprequest

il faut bien que tu visualise ou les différent langages sont traité.

php est "éxécuté" sur le serveur il génère une parle html, javascript ou ce que tu veux.
et il l'envoi au client ( le navigateur du visiteur du site ).

le client ( navigateur ex: firefox safari ) lui reçoit donc que ce que lui à envoyé le php. mais le php n'éxiste plus dans ce que reçois le navigateur.

on pourrais imager ça par une lettre php est le stylo, le protocole http la poste, le navigateur le lecteur
le stylo n'est pas dans la lettre...

c'est peut être pas très clair, mais c'est très important de faire la différence entre langage client et langage serveur.

tu peux donc écris ton javascript avec php en faisait echo 'ton code javascript';

et pour l'inverse il faut réutiliser le protocole http
0