Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapisywanie danych z bazy do tablicy i na odwrót
asz
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 1
Dołączył: 22.08.2007

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


Witam.

Na poczatku dodam, ze w PHP jestem poczatkujacy. Wierze, ze znajde pomoc u ekspertow z dziedziny programowania w PHP.

Otoz, mam tabele t_tabela1, ktora ma 10 kolumn i 200 wierszy. Struktura tej tabeli wyglada tak:

t_tabela1
----------

id | nr_ew | nr_wag | typ_wag | rok_prod | id_nr_skladu | data_NR | data_PO | przebieg_km | uwagi
--------------------------------------------------------------------------------------------------------
1 | 1234 | 1010 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1300 | brak
2 | 1235 | 1011 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1340 | brak
3 | 1236 | 1012 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1349 | brak
4 | 1237 | 1013 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1300 | brak
5 | 1238 | 1014 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1340 | brak
6 | 1239 | 1015 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1349 | brak
7 | 1240 | 1016 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1300 | brak
8 | 1241 | 1017 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1340 | brak
9 | 1244 | 1018 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1349 | brak
10 | 1242 | 1019 | VAP | 2007-05-03 | 1 |2005-12-12 | 2006-12-11 | 1349 | brak
11 | 1243 | 1020 | VAP | 2006-11-22 | 2 |2005-12-12 | 2006-12-11 | 1349 | brak
...
...
...
200 | 1296 | 1090 | VAP | 2006-07-13 | 18 |2006-11-11 | 2006-02-12 | 1300 | brak


1. Wyswietlam kolumne "przebieg_km" dla id_nr_skladu = 1:

SELECT przebieg_w_km
FROM t_tabela1
WHERE id_nr_skladu = '1'


W wyniku tego zapytania do bazy danych dostaje zawartosc kolumny "przebieg_km" dla 10 wagonow, ktore naleza do skladu o numerze "1":
1300
1340
1349
1300
1340
1349
1300
1340
1349
1349


2. Jak zrobić, aby automatycznie zwiększyć przebieg w km? Tzn. chcę powyzsza kolumne "przebieg_km" powiekszyc o np. 10 km a nastepnie zapisac z powrotem do bazy (z nowymi wartosciami).

Probuje kombinowac z tablicami ale jakos nie moge zwiekszyc kilomterow i zapisac nowych wartosci w t_tabela1. Oto wycinek kodu, ktory wyswietla kilometry (odczytane z bazy w petli for):


$pokaz_przebieg = "SELECT przebieg FROM t_tabela1 WHERE id_nr_skladu = '1'";
$wynik_pokaz_przebieg = mysql_query ($pokaz_przebieg);

if (!$wynik_pokaz_przebieg)
{
echo "<table cellspacing=1 cellpadding=7>
<tr>
<td>Zapytanie do bazy danych zakończyło się niepowodzeniem.</td></tr>";
echo "</table>";
exit ();
}

//liczba znalezionych rekordow
$znalezionych = mysql_num_rows($wynik_pokaz_przebieg);

if ($znalezionych == 0)
{
echo "<table cellspacing=1 cellpadding=7>
<tr>
<td>Brak rekordów. Wróć do poprzedniej strony i spróbuj ponownie.</td></tr>";
echo "</table>";
}

for ($i=0; $i<$znalezionych; $i++)
{
$wiersz = mysql_fetch_array($wynik_pokaz_przebieg);
echo $wiersz["przebieg"]. "<br />";
}



Z gory dziekuje za wszelkie sugestie i okazana pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat
2. Jak zrobić, aby automatycznie zwiększyć przebieg w km? Tzn. chcę powyzsza kolumne "przebieg_km" powiekszyc o np. 10 km a nastepnie zapisac z powrotem do bazy (z nowymi wartosciami).


to po co odrazu select i insert mozesz zrobic update
Kod
update t_tabela1 set przebieg_km = przebieg_km+10 where id_nr_skladu = '1'


chyba ze cos pomieszalem


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
asz
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 1
Dołączył: 22.08.2007

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


Nie probowalem od razu tego rozwiazania, czyli
Kod
update t_tabela1 set przebieg_km = przebieg_km+10 where id_nr_skladu = '1'
Generalnie wyglada to tak:

1. Mam formularz, w ktorym podaje: - numer skladu, dla ktorego chce dodac kilometry (np. 1), - skąd i dokąd ma on jechać (ile km), - zapisuję do bazy kilometry, ktore sklad zrobi na danej trasie.

2. Jak sklad wroci i jedzie w inne miejsce musze wykonac podobna procedure (jak w kroku 1.) z tym, ze km maja byc sumowane itd.

THX skowron-line! guitar.gif

Oto kod:

Kod
UPDATE t_tabela1 SET przebieg_w_km = przebieg_w_km + '$odleglosc' WHERE id_nr_skladu = '$sklad'


Ten post edytował asz 4.09.2007, 14:37:06
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: 22.08.2025 - 02:03