2010-06-02 5 views
3
'view_act.php' file 

<?php 


    $query = mysql_query('select * from activities'); 
    $check=mysql_num_rows($query); 
    if($check==0) 
    { 
    echo "No enteries found "; 
    } 

    else 
    { 
    static $counter; 
    echo '<table border="1" cellpadding="5" cellspacing="5" align="center"> 

     <tr> 

     <th><font color="#FF9900">ACTIVITY NAME</font></th> 
     <th><font color="#FF9900">ACTIVITY UPDATE</font></th> 
    </tr>'; 
    while($row=mysql_fetch_array($query)) 
    { $counter++; 


      echo '<tr>'; 

      echo '<td width=231> 
     <form action="update_act.php" method="POST">'; 

     echo "<center><font color=\"#CC9900\">".$row['act_name']."</center>"; 


     echo "</td> 
     <td width=231>"; 
     echo "<center>".'<font color="#CCCCCC"><input type="submit" name="edit"         value="edit"></center>'; 
     echo '<input type="hidden" name="act_name'.$counter.'" value="'.$row['act_name'].'" />'; 
     echo '<input type="hidden" name="count" value="'.$counter.'" />'; 


     echo "</td> 
     </tr>"; 
    } 
    echo "</form>"; 
    echo "</table>"; 


    }   

?> 


'update_act.php' file 

<?php 
     $count=$_POST['count']; 
    echo "Old Activity Name : ". $_POST["act_name".$count]; 
    echo '<br/>Enter new activity name : 
     <form action="update_act.php" method="post"> 
      <input type="text" name="aname"> 
    <input type="submit" name="submit">'; 
    ?> 

Voici les données extraites de la table doit être mis à jour par un autre nom de bouton d'édition ainsi pour chaque nom Activité un autre nom est donné par counter.But le problème ici est lorsque le formulaire est soumis Sur la page update_act.php, la valeur du dernier nom d'activité est transmise à chaque fois. Ainsi, la valeur de l'ancien nom d'activité d'une ligne correspond à la dernière valeur de la table 'act_name'.Veuillez m'aider à transmettre la valeur correspondante Nom de l'activitévariable compteur Passing dynamiquement

Répondre

1

Ceci est un bordel.

Si vous souhaitez identifier des lignes spécifiques d'un tableau, cela doit être fait sur la clé primaire ou sur une clé de substitution unique. Jamais, n'utilisez JAMAIS un compteur/rownum/offset. Pas même si vous forcez une commande ORDER BY (une clé unique)

  • Même si vous avez une transaction couvrant la sélection et la mise à jour (ce qui est impossible si elles se produisent sur des pages séparées de toute façon)

C.

+0

+1 pour un bon conseil :) – favo