Transmettre une variable depuis un formulaire

ViPHP
xTG
ViPHP | 7331 Messages

01 févr. 2012, 13:52

Le nom est-il unique ? Si ce n'est pas le cas il serait bon de rajouter une clé primaire dans ton schéma.
Ainsi le but reviendrai à mettre dans l'url la valeur de la clé primaire correspondant à la ligne que tu veux.
Et sur la page de traitement tu fais ta requête grâce à cette clé primaire dans l'url et tu obtiens la valeur du champ1 au moment du clic + quelques ns négligeables. ;)

tintin
Invité n'ayant pas de compte PHPfrance

01 févr. 2012, 16:32

Bonjour xtg,

Oui, le nom est unique.
tintin

ViPHP
xTG
ViPHP | 7331 Messages

01 févr. 2012, 17:40

Dans ce cas tu passes le nom dans l'url.
Puis sur la page de traitement tu peux ainsi refaire une requête avec comme condition de recherche ce nom et récupérer le champ1. ;)

tintin
Invité n'ayant pas de compte PHPfrance

01 févr. 2012, 18:20

Ok xtg,

Je crois que l'on est rendu à ta conclusion (ton post d'aujourd'hui 01 Fév 2012 à 12:06), ceci étant, ça ne me dit toujours pas comment récupérer sa valeur .....
tintin

ViPHP
xTG
ViPHP | 7331 Messages

01 févr. 2012, 19:23

Qu'est ce que tu ne sais pas faire ?
Récupérer le valeur transmise dans l'url ?
L'injecter dans une requête SQL ?
Faire la requête SQL récupérant le champ1 ?

tintin
Invité n'ayant pas de compte PHPfrance

02 févr. 2012, 09:05

Bonjour,

Merci Xtg de nouveau.
Supposons que Champ1 contienne le mot 'Paris' au moment où l'internaute clique sur le lien, ce que je ne sais pas faire, c'est récupérer la valeur 'Paris' pour avoir test.php?Champ1=Paris.

Merci encore
tintin

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 févr. 2012, 09:45

La faut du javascript, tu récupère le la valeur du champ tu créer ton url à la volée et utilise javascript pour la redirection !


@+
Il en faut peu pour être heureux ......

ViPHP
xTG
ViPHP | 7331 Messages

02 févr. 2012, 10:23

Je croyais que cette valeur était en BDD ??? Alors d'où il vient ce javascript ! :|
Et comme je l'ai dit si c'est en BDD et que cela peut être modifié entre le moment où on affiche le lien et le moment où l'utilisateur clique faut pas s'encombrer avec de l'ajax ou autre saloperie.
Le moment où cliques l'utilisateur c'est le moment où la seconde page se charge, donc passage de clé primaire pour avoir de quoi récupérer dans la BDD la valeur champ1.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 févr. 2012, 11:02

ça pas l'air super clair c't'affaire :)

@+
Il en faut peu pour être heureux ......

tintin
Invité n'ayant pas de compte PHPfrance

02 févr. 2012, 11:48

Bonjour à tous,

J'ai l'impression que ma question passionne les foules :)
Xtg est dans le vrai, la valeur à récupérer se trouve bel et bien dans une table, précisément la valeur que prend le champ Champ1 au moment où l'internaute clique sur lien.
Ce que voit l'internaute est extrait de cette table et est par exemple ce qui suit :
  • Albert, 6 impasse Wagram
    Pascale, 12 résidence Kléber
    Quentin, adresse inconnue
    Robert, 4 rue des ponts
Chacune des 4 lignes pointe vers le même fichier test.php et je souhaite passer à la page test.php la valeur que prend le champ Champ1 qui contient les professions. Si je clique sur la ligne 'Albert', je veux passer 'Docteur', si je clique sur 'Pascale', je veux passer 'Infirmière', etc.
Pour aller dans le sens de Xtg, j'ai ajouté un champ id, clef primaire et Autoincrement.
Mon soucis reste le même, comment récupérer la valeur prise par Champ1 au moment du clic.

Merci encore.
tintin

ViPHP
xTG
ViPHP | 7331 Messages

02 févr. 2012, 12:19

Voilà un exemple :

Structure de ma table test : (id, champ)
<?php
include_once('config_et_connexion_bdd.php'); // je zappe le code de la partie connexion BDD c'est pas le coeur du problème
// Récupération (donc après avoir cliqué sur le lien)
if( !empty($_GET['id']) ){
  $res = mysql_query('SELECT champ FROM test WHERE id = ' . mysql_real_escape_string($_GET['id']));
  if( mysql_num_rows($res) == 1 ){
    $result = mysql_fetch_array();
    echo 'Valeur de champ : ' . $result['champ'];
  }else{
    echo 'Erreur : id invalide.';
  }
}

// Listage des valeurs de la table test
$res = mysql_query('SELECT id, champ FROM test');
if( mysql_num_rows($res) > 0 ){
  while( $result = mysql_fetch_array($res) ){
    echo '<a href="?id=' . $result['id'] . '">' . $result['id'] . ' : ' . $result['champ'] . '</a><br />';
  }
}
Si tu as des questions n'hésites pas. :)

tintin
Invité n'ayant pas de compte PHPfrance

04 févr. 2012, 11:21

Bonjour à tous,

Un grand merci à tous les contributeurs et un special thanks to xTG qui a répondu à toutes mes attentes; ca fonctionne comme je le souhaitais.
Je clos cette discussion.
tintin