2009-08-12 9 views
1

Je souhaite utiliser un lien hypertexte pour charger les détails dans une page de formulaire modifiable.Liens hypertexte PHP MYSQL et champs de formulaire

J'ai 2 pages php. Un retournant l'identifiant des 10 derniers enregistrements d'une requête MYSQL et un autre retournant toutes les valeurs de champs pour un enregistrement spécifique dans un formulaire, donnant à l'utilisateur final la possibilité de mettre à jour les valeurs de champ. Quelqu'un peut-il m'aider à relier les deux afin que lorsque je clique sur la ligne 3 (id = 3) du tableau dans la première page, il m'amène à la deuxième page en utilisant l'id 3 dans la requête MYSQL utilisée par la deuxième page, pré-remplir les champs du formulaire.

-à-dire MYSQL table 'membres' avec 'id', 'prenom', 'nom', 'DOB', et 'adresse'

Page 1 rendement 10 derniers résultats de 'select id des membres' & la Les valeurs id sont des liens hypertexte Les résultats de 'select id, prénom, nom, dob, adresse des membres où id = 3 lorsque l'utilisateur sélectionne l'hyperlien id 3 page 1, et promeut les valeurs respectives pour former les champs' id_ff ',' firstname_ff ',' surname_ff ',' dob_ff 'et' address_ff '

Je ne sais pas comment promouvoir les valeurs id' 3 'dans les champs de formulaire page 2?

Répondre

1
you can do: 

    // list.php 

    $query = sprintf("SELECT * FROM my_table"); 

    $result = mysql_query($query); 

    while($c = mysql_fetch_array($result)) { 
     echo '<a href="/edit.php?id=' . $c['id'] . '">Edit ' . $c['id'] . '</a><br />'; 
    } 



<? 
       // edit.php 
    if(isset($_POST['apply'])) { 

     $query = sprintf("UPDATE my_table SET somefield = '%s', somefield2 = '%s', somefield3 = '%s' WHERE id = %s", 
     mysql_real_escape($_POST['somefield']), 
     mysql_real_escape($_POST['somefield2']), 
     mysql_real_escape($_POST['somefield3']), 
     mysql_real_escape($_POST['id']) 

     ); 

     $r = mysql_query($query); 

     if (!$r) die(mysql_error()); 

     header("Location: /list.php"); 

    } 


     $id = $_GET['id']; // just an example.. you should prevent injections here 
     $query = sprintf("SELECT * FROM my_table WHERE id = %s", $id); 

     $result = mysql_query($query); 

     $details = mysql_fetch_array($result); 


    ?> 
    <form method="post" action=""> 

    <input type="text" name="somefiled" value="<?= $details['somefiled']"/> 
    <input type="text" name="somefiled2" value="<?= $details['somefiled2']"/> 
    <input type="text" name="somefiled3" value="<?= $details['somefiled3']"/> 


    <input type="hidden" name="id" value="<?= $details['id']"/> 
    <input type="hidden" name= "apply" value="yes"/> 


    <input type="submit" value="Submit"/> 
    </form> 
+0

vous avez malformé html (citations dans l'attribut href) –

+0

le downvote était avant la modification de la réponse, je l'ai enlevé –

+0

viens, qui est juste un exemple: P .. de toute façon je viens de addded certains html pour faire les changements –

2

Sure.

# Do sql query and drop it into $members 
for ($members AS $member) 
{ 
echo '<a href="/page2.php?id='.$member['id'].'">Member '.$member['id'].'</a>'; 
} 

et ont sur votre 2ème page:

$_GET['id'] = whatever_you_use_to_sanitise($_GET['id']); 
#do sql query with new id 

Rappelez-vous, ne copiez pas seulement coller. Pensez par vous-même et APPRENEZ ce que nous avons fait. Regardez http://www.w3schools.com/php/default.asp et passez par les bases.

Bonne chance!

+0

Merci pour cela. Ça ira. –

+0

Si la réponse vous a aidé Alex, n'oubliez pas un vote :) (je suis nouveau ici et j'ai besoin de tous les représentants que je peux obtenir: D) – Dorjan

Questions connexes