Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: Wymazywanie rekordu zamiast updatu
Forum PHP.pl > Forum > Bazy danych > MySQL
andy84
  1. <?php
  2. $up_id = $_POST['up_id'];
  3. $up_company = $_POST['up_company'];
  4. $up_salary = $_POST['up_salary'];
  5. $up_location = $_POST['up_location'];
  6. $up_position = $_POST['up_position'];
  7. $up_duration = $_POST['up_duration'];
  8. $up_sdesc = $_POST['up_sdesc'];
  9. $up_requirements = $_POST['up_requirements'];
  10.  
  11. include ("config.inc.php");
  12. mysql_connect($host,$user,$password);
  13. $query = "UPDATE admin_jobs SET salary='$salary',location='$location',position='$position',duration='$duration',sdesc='$sdesc',requirements='$requirements',company='$company'";
  14. @mysql_select_db($database) or die( "Unable to select database");
  15. mysql_query($query);
  16.  
  17. echo "Data updated";
  18. ?>


sluchajcie przegladalem to , zaczynam od niedawna przygode z bazami danych i moglem cos zle zapisac ale nie rozumiem czemu ten powyzszy kod kasuje rekord zamiast go updatowac , mam osobny plik ktory najpierw wyrzuca rekord do updatowania
  1. <?php 
  2. $id=$_GET['id'];
  3. include("../../config.inc.php");
  4.  
  5. mysql_connect($host,$user,$password);
  6. @mysql_select_db($database) or die ("Unable to select database");
  7.  
  8. $query="SELECT * FROM admin_jobs WHERE id='$id'";
  9. $result=mysql_query($query);
  10. $num=mysql_num_rows($result);
  11.  
  12.  
  13. $i=0;
  14. while ($i < $num) {
  15.  
  16. $company = mysql_result($result,$i,"company");
  17. $salary = mysql_result($result,$i,"salary");
  18. $location=mysql_result($result,$i,"location");
  19. $position = mysql_result($result,$i,"position");
  20. $duration = mysql_result($result,$i,"duration");
  21. $sdesc = mysql_result($result,$i,"sdesc");
  22. $requirements = mysql_result($result,$i,"requirements");
  23. ?>
  24. <form action="update.php" method="post">
  25. <input type="hidden" name="up_id" value="<? echo $id; ?>" />
  26. <table width="39%" cellpadding="5" cellspacing="5">
  27. <tr>
  28. <td valign="top"><div align="right"><strong>Company:</strong></div></td>
  29. <td><input name="up_company" type="text" size="25" maxlength="15" value="<? echo $company; ?>"/></td>
  30. </tr>
  31. <tr>
  32. <td valign="top"><div align="right"><strong>Salary:</strong></div></td>
  33. <td><input name="up_salary" type="text" size="25" maxlength="25" value="<? echo $salary; ?>"/></td>
  34. </tr>
  35. <tr>
  36. <td valign="top"><div align="right"><strong>Location:</strong></div></td>
  37. <td><input type="text" name="up_location" size="25" maxlength="25" value="<? echo $location; ?>"/></td>
  38. </tr>
  39. <tr>
  40. <td valign="top"><div align="right"><strong>Position Type:</strong></div></td>
  41. <td><input type="text" name="up_position" size="25" maxlength="25" value="<? echo $position; ?>"/></td>
  42. </tr>
  43. <tr>
  44. <td valign="top"><div align="right"><strong>Duration:</strong></div></td>
  45. <td><input type="text" name="up_duration" size="25" maxlength="25" value="<? echo $duration; ?>"/></td>
  46. </tr>
  47. <tr>
  48. <td valign="top"><div align="right"><strong>Short Description:</strong></div></td>
  49. <td><textarea name="up_sdesc" cols="50" rows="5" value="<? echo $sdesc; ?>"></textarea></td>
  50. </tr>
  51. <tr>
  52. <td valign="top"><div align="right"><strong>Requirements:</strong></div></td>
  53. <td><textarea name="up_requirements" cols="50" rows="15"value="<? echo $requirements; ?>"></textarea></td>
  54. </tr>
  55. <tr valign="top">
  56. <td colspan="2"><div align="right"><br />
  57. <input name="Update" type="submit" class="style1" id="Submit" />
  58. </div></td>
  59. </tr>
  60. </table>
  61. </form>
  62. <?
  63. ++$i;
  64. }
  65. ?>

i robi to prawidlowo jedynie cos z tym update.php zkaszanilem ;/
DawidF
Chyba co¶ Ci siê ze zmiennymi pozaj±czkowa³o, i kolejno¶ci± poleceñ (na tyle, na ile znam siê na kolejno¶ci...)


  1. <?php
  2. $up_id = $_POST['up_id'];
  3. $up_company = $_POST['up_company'];
  4. $up_salary = $_POST['up_salary'];
  5. $up_location = $_POST['up_location'];
  6. $up_position = $_POST['up_position'];
  7. $up_duration = $_POST['up_duration'];
  8. $up_sdesc = $_POST['up_sdesc'];
  9. $up_requirements = $_POST['up_requirements'];
  10.  
  11. include ("config.inc.php");
  12. $linka = mysql_connect($host,$user,$password); // z $linka chyba bêdzie ³adniej...
  13. @mysql_select_db($database, $linka) or die( "Unable to select database"); // wcze¶niej by³o po query; i bez $linka
  14.  
  15. $query = "UPDATE admin_jobs SET salary='$up_salary',location='$up_location',position='$up_position',duration='$up_duration',sdesc='$up_sdesc',requirements='$up_requirements',company='$up_company'"; // tutaj MUSISZ wstawiæ klauzulê WHERE... np. WHERE id='$_POST['id']
  16. mysql_query($query) or die(); // pó¼niej, kiedy bêdziesz ju¿ pewien, ¿e zapytanie dzia³a prawid³owo - mo¿na wyrzuciæ or die()
  17.  
  18. echo "Data updated";
  19. ?>


Tak bym to zrobi³ na Twoim miejscu, ale sprawd¼ proszê, bo pisa³em z g³owy... smile.gif

Pozdrawiam,
Cienki1980
Z POSTA wyci±gasz dane poprzedzone up_ ale do zapytania wstawiasz bez niego. No i przyda³oby siê WHERE na koñcu tego zapytania:
  1. UPDATE admin_jobs SET salary='$up_salary' .... WHERE id='$up_id'
andy84
Cytat(Cienki1980 @ 7.02.2007, 15:04:07 ) *
Z POSTA wyci±gasz dane poprzedzone up_ ale do zapytania wstawiasz bez niego. No i przyda³oby siê WHERE na koñcu tego zapytania:
  1. UPDATE admin_jobs SET salary='$up_salary' .... WHERE id='$up_id'

Po twoim poscie teraz sobie przypomnialem ze czytalelem kiedys ze przy updacie rekordow zeby pamietac o warunku WHERE bo mozna sobie calutka baze wyczyscic ;] i sam sie nadzialem na ten przyklad dobrze ze jeszce wszystko jest przygotowywane a nie juz dzialajace bo bym mial problem, dzieki wielkie za pomoc - dziala slicznie

nie chcialem zaczynac nowego topica bo bedzie mnie pelno na forum czego tez nie bardzo chc e:) moze komus sie zdazy to to w jednym miejscu calosc juz znajdzie tongue.gif

nie rozumiem pewnej zeczy czemu wszystko w tym skrypcie dziala poza wyswietlaniem dwoch zmiennych w textarea $sdesc i $requirements moge je updatowac po przez wpisanie w ich pole nowych danych jednak keidy podgladam update do posta te dwa zawsze sa puste - jakies sugestie questionmark.gifquestionmark.gif

  1. <?php 
  2. $id=$_GET['id'];
  3. include("../../config.inc.php");
  4.  
  5. mysql_connect($host,$user,$password);
  6. @mysql_select_db($database) or die ("Unable to select database");
  7.  
  8. $query="SELECT * FROM admin_jobs WHERE id='$id'";
  9. $result=mysql_query($query);
  10. $num=mysql_num_rows($result);
  11.  
  12.  
  13. $i=0;
  14. while ($i < $num) {
  15.  
  16. $company = mysql_result($result,$i,"company");
  17. $salary = mysql_result($result,$i,"salary");
  18. $location=mysql_result($result,$i,"location");
  19. $position = mysql_result($result,$i,"position");
  20. $duration = mysql_result($result,$i,"duration");
  21. $sdesc = mysql_result($result,$i,"sdesc");
  22. $requirements = mysql_result($result,$i,"requirements");
  23. ?>
  24. <form action="update.php" method="post">
  25. <input type="hidden" name="up_id" value="<? echo "$id"; ?>" />
  26. <table width="39%" cellpadding="5" cellspacing="5">
  27. <tr>
  28. <td valign="top"><div align="right"><strong>Company:</strong></div></td>
  29. <td><input name="up_company" type="text" size="25" maxlength="15" value="<? echo "$company" ?>"/></td>
  30. </tr>
  31. <tr>
  32. <td valign="top"><div align="right"><strong>Salary:</strong></div></td>
  33. <td><input name="up_salary" type="text" size="25" maxlength="25" value="<? echo "$salary"?>"/></td>
  34. </tr>
  35. <tr>
  36. <td valign="top"><div align="right"><strong>Location:</strong></div></td>
  37. <td><input type="text" name="up_location" size="25" maxlength="25" value="<? echo "$location"?>"/></td>
  38. </tr>
  39. <tr>
  40. <td valign="top"><div align="right"><strong>Position Type:</strong></div></td>
  41. <td><input type="text" name="up_position" size="25" maxlength="25" value="<? echo "$position"?>"/></td>
  42. </tr>
  43. <tr>
  44. <td valign="top"><div align="right"><strong>Duration:</strong></div></td>
  45. <td><input type="text" name="up_duration" size="25" maxlength="25" value="<? echo "$duration"?>"/></td>
  46. </tr>
  47. <tr>
  48. <td valign="top"><div align="right"><strong>Short Description:</strong></div></td>
  49. <td><textarea name="up_sdesc" cols="50" rows="5" value="<? echo "$sdesc"?>"></textarea></td>
  50. </tr>
  51. <tr>
  52. <td valign="top"><div align="right"><strong>Requirements:</strong></div></td>
  53. <td><textarea name="up_requirements" cols="50" rows="15"value="<? echo "$requirements"?>"></textarea></td>
  54. </tr>
  55. <tr valign="top">
  56. <td colspan="2"><div align="right"><br />
  57. <input name="Update" type="submit" class="style1" id="Submit" />
  58. </div></td>
  59. </tr>
  60. </table>
  61. </form>
  62. <?
  63. ++$i;
  64. }
  65. ?>
wojtek.zielinski
Cytat(andy84 @ 7.02.2007, 22:16:19 ) *
nie rozumiem pewnej zeczy czemu wszystko w tym skrypcie dziala poza wyswietlaniem dwoch zmiennych w textarea $sdesc i $requirements moge je updatowac po przez wpisanie w ich pole nowych danych jednak keidy podgladam update do posta te dwa zawsze sa puste - jakies sugestie questionmark.gifquestionmark.gif

  1. <tr>
  2. <td valign="top"><div align="right"><strong>Short Description:</strong></div></td>
  3. <td><textarea name="up_sdesc" cols="50" rows="5" value="<? echo "$sdesc"?>"></textarea></td>
  4. </tr>
  5. <tr>
  6. <td valign="top"><div align="right"><strong>Requirements:</strong></div></td>
  7. <td><textarea name="up_requirements" cols="50" rows="15"value="<? echo "$requirements"?>"></textarea></td>
  8. </tr>

Element textarea nie ma atrybutu value. Wartosc tego pola wpisuje sie w taki sposob:
  1. <textarea name="up_sdesc" cols="50" rows="5"><? echo "$sdesc"?></textarea>

czyli miedzy znacznikiem otwierajacym, a zamykajacym
andy84
Cytat(wojtek.zielinski @ 7.02.2007, 22:14:45 ) *
Element textarea nie ma atrybutu value. Wartosc tego pola wpisuje sie w taki sposob:
  1. <textarea name="up_sdesc" cols="50" rows="5"><? echo "$sdesc"?></textarea>

czyli miedzy znacznikiem otwierajacym, a zamykajacym


Dzieki poszlo z miejsca smile.gif glupi blad ale teraz juz wiem ze robi sie w ten sposob pozdrowka smile.gif
To jest wersja lo-fi g³ównej zawarto¶ci. Aby zobaczyæ pe³n± wersjê z wiêksz± zawarto¶ci±, obrazkami i formatowaniem proszê kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.