Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: FOR i UPDATE MSSQL
Forum PHP.pl > Forum > PHP
qubec26
Witam, mam taki oto skrypt php.
date_deliv.php
  1. <?php
  2. ?>
  3. <style type="text/css" media="all">
  4. <!--
  5. @import url("style.css");
  6. -->
  7. </style>
  8. <div id="menu"><?php include ('menu.php') ?></div>
  9. <div id="body">
  10. <?php
  11.  
  12.  
  13. include ('connect.php');
  14.  
  15. if ($_POST['numer'] <>'') {
  16. $pole = $_POST['numer'];
  17. $_SESSION['nk'] = $pole;
  18. }
  19. if(
  20. $_SESSION['login'] <>''){
  21. $nk=$_SESSION['nk'];
  22. include('query.php');
  23. $result = mssql_query($query15);
  24. $count=mssql_num_rows($result);
  25. if($count > 0) {
  26.  
  27. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  28. echo "<table cellpadding=\"2\" border=1>";
  29. echo "<caption align='ustawienie'><font color='red'></caption>";
  30. include('print_portal.php');
  31. }
  32.  
  33. }
  34.  
  35. mssql_close($dbhandle);
  36. include('footer.php');
  37. ?>
  38.  
  39. </div>
  40. </form>

oraz
print_portal.php
  1. <?php
  2.  
  3. echo "<form name='form1' method='post' action=''>";
  4. echo "<strong>".$_SESSION['nazwa1']."</strong>";
  5. echo "<tr>";
  6. echo "<td><strong>ID</strong></td>";
  7. echo "<td><strong>Part number</strong></td>";
  8. echo "<td><strong>Quantity</strong></td>";
  9. echo "<td><strong>Planned date of delivery</strong></td>";
  10. echo "<td><strong>Supplier code</strong></td>";
  11. echo "<td><strong>Supplier name</strong></td>";
  12. echo "<td><strong>Order number</strong></td>";
  13. echo "<td><strong>Line number</strong></td>";
  14. echo "<td><strong>Date of delivery</strong></td>";
  15. echo "<td><strong>Quantity delivered</strong></td>";
  16. echo "</tr>";
  17.  
  18. while($r = mssql_fetch_assoc($result)) {
  19. include('kolor.php');
  20. echo "<tr bgcolor='$kolor'>";
  21.  
  22. echo "<td>".$id[]=$r['ID']; $r['ID']."</td>";
  23. echo "<td>".$nrdet[] = $r['NR_DET']; $r['NR_DET']."</td>";
  24. echo "<td>".$r['ILOSC']."</td>";
  25. echo "<td>".$r['PLAN_DATA_DOST']."</td>";
  26. echo "<td>".$r['KOD_DOSTAWCY']."</td>";
  27. echo "<td>".$r['NAZ_DOSTAWCY']."</td>";
  28. echo "<td>".$nrzam[] = $r['NR_ZAMOWIENIA']; $r['NR_ZAMOWIENIA']."</td>";
  29. echo "<td>".$nrlin[] = $r['NR_LINII']; $r['NR_LINII']."</td>";
  30. echo "<td><input type=text name=date_of_deliv[] value='".$r['DATA_DOST']."'/></td>";
  31. echo "<td><input type=text name=quan_of_deliv[] value='".$r['ILOSC_DOSTAWY']."'/></td>";
  32. echo "</tr>";
  33. }
  34. echo "<tr><td colspan='4' align='center'><input type='submit' name='Submit' value='Submit'></td></tr>";
  35. echo "</form>";
  36. echo "</table>";
  37. $count=mssql_num_rows($result);
  38.  
  39.  
  40.  
  41.  
  42. if($Submit){
  43. for($i=0;$i<$count;$i++){
  44. $query22="UPDATE [PORTAL].[dbo].[IT_TEST] SET data_dostawy = '$date_of_deliv[$i]' ,ilosc_dostawy = '$quan_of_deliv[$i]' WHERE ID = '$id[$i]'";
  45. $result22=mssql_query($query22);
  46. echo "$count";
  47. }
  48. echo "<p>$i";
  49. }
  50. echo "$count";
  51. echo "<p>$i";
  52. // if($result22){
  53. // header("location:date_deliv.php");
  54. // }
  55. ?>


Niby wszystko ok.
Po wciśnięciu przycisku submit nie wywala błędów, ale nie wprowadza danych do bazy.

DLACZEGO??
futura
Sprawdź jaką ma wartość $Submit po naciśnięciu buttona. Wynika z tego, aby zapytanie wykonało się musi mieć wartość TRUE. Pytanie cz ma?

Druga opcja:

Kod
$query22="UPDATE [PORTAL].[dbo].[IT_TEST] SET data_dostawy = '$date_of_deliv[$i]' ,ilosc_dostawy = '$quan_of_deliv[$i]' WHERE ID = '$id[$i]'";


Nie powinny być kropeczki przed i za apostrofami?
qubec26
Cytat(futura @ 15.07.2010, 14:02:44 ) *
Sprawdź jaką ma wartość $Submit po naciśnięciu buttona. Wynika z tego, aby zapytanie wykonało się musi mieć wartość TRUE. Pytanie cz ma?

Druga opcja:

Kod
$query22="UPDATE [PORTAL].[dbo].[IT_TEST] SET data_dostawy = '$date_of_deliv[$i]' ,ilosc_dostawy = '$quan_of_deliv[$i]' WHERE ID = '$id[$i]'";


Nie powinny być kropeczki przed i za apostrofami?


Kropki przed i za apostrofami nic nie dają.
Problem jest z tym klawiszem Submit.
Próbowałem tak:
  1. if(isset($Submit)){
  2. for($i=0;$i<$count;$i++){
  3. $query22="UPDATE [PORTAL].[dbo].[IT_TEST] SET data_dostawy = '$date_of_deliv[$i]' ,ilosc_dostawy = '$quan_of_deliv[$i]' WHERE ID = '$id[$i]'";
  4. $result22=mssql_query($query22);
  5. echo "$i";
  6. }
  7. echo "<p>$i";
  8. }


Ale też nie chce działać.
futura
Sprawdź jaką wartość ma $Submit.

  1. print_r($_POST['submit']
albo
  1. echo($_POST['submit']
qubec26
No właśnie chodzi o to, że submit nie pokazuje żadnej wartości.

Tak jakby nie działał.
futura
To zamiast sprawdzania inputa typu submit daj w formularzu input typu hiddden z wartoscią hidden. Jeśli naciśniemy Submita to odczytuj wartość z hiddena.
qubec26
Nawet jak dam:
  1. echo "SUBMIT: ";
  2. echo ($_POST['$hidden']);


To nie ma wartości. Jako hidden to nie mogę go uruchomić więc wartości nie ma.
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.