ugrás a tartalomhoz

SQL id HTML paraméterben

faceless · 2012. Ápr. 23. (H), 17.27
Sziasztok!

Vélhetően sokaknan egyszerű lesz a kérdésem, nekem azonban most nehézséget okoz az én szintemen :) Bízom benne, hogy segítetek megérteni mi a probléma.

Adott egy ilyen kód:
  1. $project_select = mysql_query('SELECT * FROM project');  
  2. echo '<form action="attekint.php" method="post">';  
  3. echo '<table border="1">';      
  4. echo '<th> Azonosító </th><th> Projekt neve </th><th> Call Center </th><th> Státusz </th><th> Felelős </th><th> Határidő </th><th> Vezérlés </th>';   
  5.     while ($sor = mysql_fetch_assoc($project_select)) {  
  6.         echo '<tr>';  
  7.             echo '<td>' . $sor['project_id'] . '</td>';  
  8.             echo '<td>' . $sor['project_name'] . '</td>';  
  9.             echo '<td>' . $sor['project_cc'] . '</td>';  
  10.             echo '<td>' . $sor['project_percentage'] . ' % </td>';  
  11.             echo '<td>' . $sor['project_felelos'] . '</td>';  
  12.             echo '<td>' . $sor['project_hatarido'] . '</td>';         
  13.             echo '<td> <input type="text"       name="project"           value="'$sor['project_id'] .'"> </td>';  
  14.             echo '<td> <input type="hidden"     name="project_h"         value="'$sor['project_id'] .'"> </td>';  
  15.             echo '<td> <input type="submit"     name="project_control"   value="'$sor['project_id'] .'"> </td>';              
  16.         echo '</tr>';  
  17.     }  
  18. echo '</table>';  
  19. echo '</form>';  
Aminek az eredménye:
Azonosító Projekt neve Call Center Státusz Felelős Határidő Vezérlés
9 kilenc kilenc 50 % kilenc 2012-04-24 (GOMB felirat: 9)
10 tiz tiz 50 % tiz 2012-04-24 (GOMB felirat: 10)
11 tizenegy tizenegy 50 % (GOMB felirat: 11)

Az attekint.php kódja nagyon egyszerű (lusta módban):
  1. $pro1 = $_POST['project'];  
  2. $pro2 = $_POST['project_control'];  
  3. $pro3 = $_POST['project_h'];  
  4. echo $pro1;  
  5. echo '<br />';  
  6. echo $pro2;  
  7. echo '<br />';  
  8. echo $pro3;  
Ezeket ha beküldöm az attekint.php-be akkor ezt az eredményt kapom:
9-es gombbal:
11
9
11

10-es gombbal:
11
10
11

11-es gombbal:
11
11
11

Azaz a text és a hidden mindig az utolsó $sor Id-ját adja vissza a button adja csak vissza megfelelően a nekem kellő sorhoz tartozó paramétert. Miért? nem értem :(

Nyilván azt szereném, hogy elkapom az ID-t és a kapcsolt táblából lekérdezek minden a projekthez tartozó egyéb mezőt, de így csak akkor kapom meg a jó ID-t, ha a "gombra" teszem, ezt nem szeretném :)

Van erre egy szebb megoldás?

Előre is köszönöm a válaszokat!
 
1

Egy űrlap

Hidvégi Gábor · 2012. Ápr. 23. (H), 18.08
Szerintem az okozhatja a gondot, hogy egy <form> elemben van az egész kód. Vagy rakd külön formokba, vagy pedig máshogy nevezd el a változóidat.
2

Köszönöm

faceless · 2012. Ápr. 23. (H), 19.35
Kedves Gábor!

Köszönöm, külön formon valóban működik (kicsit ciki is ilyen hibát véteni :)), és a link is nagyon hasznos amit küldtél :)

Köszönöm mégegyszer :)
3

Ciki?

Pepita · 2012. Ápr. 23. (H), 23.50
Miért ciki?
Senki sem született programozói tudással. Az a jó, hogy rögtön érted és javítod a hibát. Így tovább!