IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Transfert de données


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 430
    Billets dans le blog
    11
    Par défaut [PHP-JS] Transfert de données
    Salut,

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <html>
    <? 
    $a = 1;
    $sql = "SELECT id_stock, article, libelle, stock FROM stock GROUP BY actif, article";
    $result=mysql_query($sql);
    ?>
    <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
    <table width="90%">
    	<tr>
    		<td colspan="4" width="100%" bgcolor="#3366FF" align="center">
    			<p class="titre_02">GESTION DU STOCK
    		</td>
    	</tr>
    	<tr>
    		<td colspan="4" width="50%" align="center">
    			<form name="formulaire" method="post" action="" onSubmit="return testsubmit()">
    		</td>
    	</tr>
    	<?php
    	while ($row=mysql_fetch_object($result)) {
    		if ($a%2 == 0)
    			{$couleur = "#FFE45E";}
    			else
    			{$couleur = "#FFF189";}
    	echo "<tr align=\"left\" bgcolor=\"".$couleur."\">";
    		echo "<td width=\"70%\">";
    			echo "<p class=\"TITRE_20\">".$row->article." - ".$row->libelle;
    		echo "</td>";
    		echo "<td width=\"10%\" align=\"center\">";
    			echo "<input align=\"center\" class=\"TITRE_20\" type=\"text\" name=\"qte\" size=\"5\">";
    		echo "</td>";
    		echo "<td width=\"10%\" align=\"center\">";
    			echo "<a href=\"gestion.php?w=2&id_stock=".$row->id_stock."\"><img border=\"0\" src=\"../images/signe_moins.png\"></a>";
    		echo "</td>";
    		echo "<td width=\"10%\" align=\"center\">";
    			echo "<a href=\"gestion.php?w=3&id_stock=".$row->id_stock."\"><img border=\"0\" src=\"../images/signe_plus.png\"></a>";
    		echo "</td>";
    	echo "</tr>";
    	$a = $a+1;}
    	?>
    	<tr>
    		<td colspan="3">
    			</form>
    		</td>
    	</tr>	
    </table>
    </body>
     
    </html>
    Mon problème est que je n'arrive pas à récupérer la valeur qte... Et je ne vois pas comment faire, alors je me tourne vers vous !!!
    Impossible de récupérer la moindre valeur sur la page suivante

    D'avance merci.

  2. #2
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Oula, tu m'as l'air de tout mélanger...

    La balise <a> sert a creer un lien. Ca n'a, de base, pas grand rapport avec les formulaires.
    Si j'ai bien compris du peu que j'ai regardé, tu veux afficher une quantité, un lien vers "plus" et un lien vers "moins" pour modifier la quantité.

    Là ou tu fais confusion, c'est que pour récuperer la valeur d'un formulaire, il faut "soumettre" celui ci. Or, avec ta balise <a> tu ne fais que "recharger la page".

    Pour ne pas trop modifier ton code, plusieurs solutions. Soit tu n'utilises pas de formulaire, et tu passes toutes tes variables (en l'occurence qte et si tu incrémentes ou tu décrémentes) dans ton lien. Ca n'est pas très propre et pas toujours faisable.
    Une seconde solution consiste à remplacer tes liens par des input type "button", auxquel tu vas rajouter un événement javascript (genre onclick : mets la variable caché à telle valeur, et fait le submit). A la récupération tu saura sur quel bouton tu as cliqué en lisant la variable cachée.
    Je t'aurai bien écrit le code, mais je n'ai plus la syntaxe en tête.

    Derniere solution, au lieu de faire un formulaire global, tu peux faire un formulaire à la place de chacun des liens. Qui contiendra l'id de ton objet dans la base et l'action que tu veux faire dessus (a savoir incrémenter ou décrémenter). Et tes liens seront remplacé par un bouton submit.

    Bref, voila un tas de piste, a toi de voir ^^
    Perso, j'ai une préférence pour la troisième méthode qui est certe plus lourde, mais ne necessite pas d'avoir du javascript coté client.

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 430
    Billets dans le blog
    11
    Par défaut
    J'ai essayé avec des <input>, mais j'ai le même problème, je n'arrive pas à récupérer la qte... et cette valeur peut-être différente de 1.

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    Mais comment essayer-tu de recuperer cette valeur car pour l'instant je ne vois que de l'affichage mais aucun traitement

  5. #5
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 430
    Billets dans le blog
    11
    Par défaut
    Le code de ma seconde page est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?
    $id_stock = $_GET['id_stock'];
    $qte1 = $_POST['qte'];
     
    $sql_nombre = "SELECT stock, article FROM stock WHERE id_stock='$id_stock'";
    $result_nombre=mysql_query($sql_nombre);
    $row_nombre=mysql_fetch_object($result_nombre);
    $qte2 = $row_nombre->stock;
     
    $qte = $qte2 - $qte1;
     
    $sql_qte = "UPDATE stock SET stock.stock = '$qte' WHERE (stock.id_stock = '$id_stock')";
    $result_qte=mysql_query($sql_qte);
     
    ?>
    <html>
    <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
    <table width="90%">
    	<tr>
    		<td>
    			<p class="TITRE_20">
    			<?
    			echo "L'article ".$article." a été mis à jour, il reste : ".$qte;
    			?>
    		</td>
    	</tr>
    </table>
    </body>
     
    </html>
    Mais cela ne fonctionne pas...

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Il faut que tu places ta variable qte dans l'un de tes liens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href=\"gestion.php?w=2&id_stock=".$row->id_stock."&qte=".$qte."')\">
    par exemple et récupérer dans les traitements avec $qte=$_GET['qte'].
    Car dans ton formulaire tu ne transmets jamais $qet aux traitements .
    Je veux dire soit tu le passes en POST et il te faut un bouton submit dans ton formulaire soit en GET et tu fais comme je t'ai montré ci-dessus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transfert de données entre java et php
    Par grafistolage dans le forum Langage
    Réponses: 2
    Dernier message: 08/10/2009, 14h23
  2. Jquery,Ajax,PHP et transfert de donnée
    Par Samolo dans le forum jQuery
    Réponses: 2
    Dernier message: 14/09/2009, 05h36
  3. Protection du transfert de donnée Flash / PHP
    Par mims1664 dans le forum Dynamique
    Réponses: 1
    Dernier message: 04/08/2009, 14h41
  4. Transfert de données entre java et php
    Par grafistolage dans le forum Applets
    Réponses: 0
    Dernier message: 15/04/2009, 10h04
  5. [PHP - JS]Ouverture fenetre confirm() et transfert de données pHp
    Par M@t2802 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/08/2007, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo