Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapisywanie danych z bazy do tablicy i na odwrót
Forum PHP.pl > Forum > PHP
asz
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.
skowron-line
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
asz
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'
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.