Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> aktualizacja wielu wierszy jednoczesnie
sikorat
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 7.04.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam
w pierwszym pliku php wybieram grupe rekordow z tabeli mysql i umieszczam je w polach formularza.
Submit wywoluje drugi plik php i w nim chce wykonac update tabeli z ktorej wczesniej wybralem rekordy, ale po prostu nie wiem jak to zrobic.

Pierwszy plik:
[php:1:8d5aba6ea6]<?php
//********** podlaczam sie do bazy
$link = mysql_connect($serwer, $user, $password)
or die("Nie moge sie polaczyc : " . mysql_error());
print "Polaczenie udane";
mysql_select_db($baza) or die("Nie moge wybrac danej bazy");

$query = "SELECT * FROM planowanie ";
$result = mysql_query ($query) or die ("Zapytanie zakonczone niepowodzeniem");

print "<center><table border='1' cellpadding=2 cellspacing=0> n";
//********** wyświetlam nazwy kolumn
$i = 0;
$liczba_kolumn = mysql_num_fields($result);
echo "<tr>" ;
while ($i < $liczba_kolumn) {
echo "<td><b>",mysql_field_name($result, $i),"</b></td>";
$i++;
}
echo "</tr>";
//********** Umieszczam wartosci komorek w polach formularza
echo(" <form method=POST action=upd_planowanie_valid.php>");
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
$j=0;
$i=0;
print "<tr>";
foreach ($line as $col_value)
{

if ($i==0) {
ECHO("<TD><HIDDEN TYPE=TEXT NAME=id[$j] VALUE=$col_value SIZE=9>$col_value</TD> ");
}
else if ($i==1) {
ECHO("<TD><INPUT TYPE=TEXT NAME=data_platnosci[$j] VALUE=$col_value SIZE=8></TD> ");
}
else if ($i==2) {
ECHO("<TD><INPUT TYPE=TEXT NAME=kategoria[$j] VALUE=$col_value SIZE=10 maxlenght=50></TD> ");
}
else if ($i==3) {
ECHO("<TD><INPUT TYPE=TEXT NAME=tytul[$j] VALUE=$col_value SIZE=10 maxlenght=50></TD> ");
}
else {
ECHO("<TD><INPUT TYPE=TEXT NAME=kwota[$j] VALUE=$col_value SIZE=10 maxlenght=50></TD> ");
}
$i++;
}
print"</tr>";
$j++;
}
echo("<p><td align=center colspan=0><input type=submit value=ZATWIERDZ></td></p>");
echo("</form>");
print "</table> </center>";
mysql_free_result($result);
?>[/php:1:8d5aba6ea6]


Plik wywolywany z pierwszego formularza wyglada nastepujaco
[php:1:8d5aba6ea6]<?php

//********** Polaczenie, wybranie bazy */
$link = mysql_connect($serwer, $user, $password)
or die("Nie moge sie polaczyc : " . mysql_error());
print "Polaczenie udane";
mysql_select_db($baza) or die("Nie moge wybrac danej bazy");

$query = "select * from planowanie";
$result = mysql_query ($query) or die ("Zapytanie zakonczone niepowodzeniem");
print "<center><table border='1' cellpadding=2 cellspacing=0> n";
//********** wyświetlenie nazw kolumn
$i = 0;
$liczba_kolumn = mysql_num_fields($result);
echo "<tr>" ;
while ($i < $liczba_kolumn) {
echo "<td><b>",mysql_field_name($result, $i),"</b></td>";
$i++;
}
echo "</tr>";
//********** Aktualizacja wierszy
$j=0;
$i=0;
$update = "update planowanie set data_platnosci = $data_platnosci[$j],
kategoria = $karetegoria[$j], tytul = $tytul[$j], kwota = $kwota[$j]
where id = $id[$j]";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
print "<tr>";
foreach ($line as $col_value)
{
mysql_query($update,$link) or die ("Dupa");
print "<td>$col_value </td>";
$i++;

}
print"</tr>";
$j++;
}
print "</table> </center>";
mysql_free_result($result);


?>[/php:1:8d5aba6ea6]


i albo wstawiam polecenie mysql_query($update,$link) or die ("Chyba masz problem");
nie w to miejsce co potrzeba, albo popelniam jakis inny blad, ale nie potrafie go znalezc, choc juz siedze nad tym 5 godzin.
Jezeli ktos bedzie w stanie mi pomoc to bardzo mnie ucieszy.

w nadzieji na pomoc....
Go to the top of the page
+Quote Post
sikorat
post
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 7.04.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


ok, juz wiem
1 plik ma wygladac tak:
[php:1:413c99a8e1]<?php
//********** Definicja podstawowych zmiennych
$baza = 'jakas_baza';
$serwer = 'serwer';
$user = 'root';
$password = '';
//********** Polaczenie, wybranie bazy */
$link = mysql_connect($serwer, $user, $password)
or die("Nie moge sie polaczyc : " . mysql_error());
print "Polaczenie udane";
mysql_select_db($baza) or die("Nie moge wybrac danej bazy");

$query = "SELECT * FROM planowanie ";
$result = mysql_query ($query) or die ("Zapytanie zakonczone niepowodzeniem");

print "<center><table border='1' cellpadding=2 cellspacing=0> n";
//********** wyświetlenie nazw kolumn
$i = 0;
$liczba_kolumn = mysql_num_fields($result);
echo "<tr>" ;
while ($i < $liczba_kolumn) {
echo "<td><b>",mysql_field_name($result, $i),"</b></td>";
$i++;
}
echo "</tr>";
//********** Wyświetlenie zawartości tabeli
echo(" <form method=POST action=upd_planowanie_valid_cpy.php>");
$j=0;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{

$i=0;
print "<tr>";
foreach ($line as $col_value)
{

if ($i==0) {
ECHO("<TD><input TYPE=hidden NAME=id[$j] VALUE=$col_value SIZE=9>$col_value</TD> ");
}
else if ($i==1) {
ECHO("<TD><INPUT TYPE=TEXT NAME=data_platnosci[$j] VALUE=$col_value SIZE=8></TD> ");
}
else if ($i==2) {
ECHO("<TD><INPUT TYPE=TEXT NAME=kategoria[$j] VALUE=$col_value SIZE=10 maxlenght=50></TD> ");
}
else if ($i==3) {
ECHO("<TD><INPUT TYPE=TEXT NAME=tytul[$j] VALUE=$col_value SIZE=10 maxlenght=50></TD> ");
}
else {
ECHO("<TD><INPUT TYPE=TEXT NAME=kwota[$j] VALUE=$col_value SIZE=10 maxlenght=50></TD> ");
}
$i++;
}
print"</tr>";
$j++;
}
$max=$j;
echo("<p><td><input type=hidden name=max value=$max></td></p>");
echo("<p><td align=center colspan=0><input type=submit value=ZATWIERDZ></td></p>");
echo("</form>");
print "</table> </center>";
mysql_free_result($result);

?>[/php:1:413c99a8e1]

2 plik ma wygladac tak:
[php:1:413c99a8e1]<?php
//********** Definicja podstawowych zmiennych
$baza = 'jakas_baza';
$serwer = 'serwer';
$user = 'root';
$password = '';
//********** Polaczenie, wybranie bazy */
$link = mysql_connect($serwer, $user, $password)
or die("Nie moge sie polaczyc : " . mysql_error());
print "Polaczenie udane";
mysql_select_db($baza) or die("Nie moge wybrac danej bazy");

$query = "select * from planowanie";
$result = mysql_query ($query) or die ("Zapytanie zakonczone niepowodzeniem");
print "<center><table border='1' cellpadding=2 cellspacing=0> n";
//********** wyświetlenie nazw kolumn
$i = 0;
$liczba_kolumn = mysql_num_fields($result);
echo "<tr>" ;
while ($i < $liczba_kolumn) {
echo "<td><b>",mysql_field_name($result, $i),"</b></td>";
$i++;
}
echo "</tr>";
//********** Wyświetlenie zawartości tabeli
$j=0;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
$update = "update planowanie set data_platnosci = '$data_platnosci[$j]',
kategoria = '$kategoria[$j]', tytul = '$tytul[$j]', kwota = '$kwota[$j]'
where id = $id[$j]";
print "<tr>";
foreach ($line as $col_value)
{
mysql_query($update,$link) or die ("Dupa");
print "<td>$col_value</td>";
}
$j++;
print"</tr>";
}
print "</table> </center>";
mysql_free_result($result);




?>[/php:1:413c99a8e1]

i tyle
Go to the top of the page
+Quote Post
adeq_PL
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 25.01.2006
Skąd: Oświęcim

Ostrzeżenie: (0%)
-----


Szukalem odpowiedzi na trapiacy mnie problem wyswietlania nazw kolumn bazy i natknalem sie na ten przyklad....

Nie wiem dlaczego ale urzywajac petli while tak jak na przykladzie:

Cytat
  1. <?php
  2.  
  3. $i = 0; 
  4. $liczba_kolumn = mysql_num_fields($result); 
  5. echo "<tr>" ; 
  6. while ($i < $liczba_kolumn) { 
  7. echo "<td><b>",mysql_field_name($result, $i),"</b></td>"; 
  8. $i++; 
  9. } 
  10.  
  11. ?>


mialem ogromne problemy z wyswietleniem rzadanego zapytania. Urzycie tej petli spowodowalo bardzo duze obciazenie serwera, strona nie chciala sie wyswietlic...

Pomoglo dopiero urzycie petli for:

  1. <?php
  2.  
  3. $liczba_kolumn = mysql_num_fields($dzialaj);
  4.  
  5.       for($i=2;$i<=($liczba_kolumn-2);$i++){
  6.       echo "<td><b>",mysql_field_name($dzialaj, $i),"</b></td>"; 
  7.       }
  8.  
  9. ?>


Tak wiez uzywajac tego przykladu uwazajcie.... smile.gif

Ten post edytował adeq_PL 21.03.2006, 18:28:27


--------------------
Wszystko powinno zostać uproszczone tak bardzo, jak to tylko możliwe, ale nie bardziej. - Albert Einstein
Go to the top of the page
+Quote Post
Ociu
post
Post #4





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Tak.. a że udało Ci się znaleźć jakieś przykład w necie to odkopałeś temat sprzed 2 lat ?
Go to the top of the page
+Quote Post
adeq_PL
post
Post #5





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 25.01.2006
Skąd: Oświęcim

Ostrzeżenie: (0%)
-----


No nie wiem jak ty, ale ja uważam ze rozwiazywanie problemow polega wlasnie na wyszukiwaniu dawnych przykladow odpowiadajacych naszym problemom.... snitch.gif


--------------------
Wszystko powinno zostać uproszczone tak bardzo, jak to tylko możliwe, ale nie bardziej. - Albert Einstein
Go to the top of the page
+Quote Post
spenalzo
post
Post #6





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Ale nie musiales do tematu sprzed 2,5 roku wciskać posta, który niewiele wnosi tongue.gif


--------------------

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 02:47