Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Masowe sprowadzanie danych do bazy.
Forum PHP.pl > Forum > Bazy danych > MySQL
track
Mam taki problem. Chce stworzy system rozgrywek ktory bedzie sie sam aktualizowal. Na poczatku jest formularz ktory wypisuje wszystkie dane spelniajace warunek numeru kolejki.

[php:1:3b4ee733a6]
$ask = "SELECT * FROM mecze WHERE kolejka = '1' ";
$do = mysql_query($ask);
while($pole = mysql_fetch_array($do))
{
echo "$pole[gosc] - $pole[gospodarz] --- <input type=text name='gole_gosc' value='$pole[gole_gosc]'><input type=text name='gole_gospodarz' value='$pole[gole_gospodarz]>$pole[gole_gospodarz] ";
}
[/php:1:3b4ee733a6]
Powyzsze dane oczywiscie sa zawarte w pormularzu method=post.
Problemem jest teraz uaktualnienie danych. Po wpisaniu nowych wartosci w pola gole_gospodarz i gole_gosc chce je uaktualnic w w/w tabeli. Niestety nie wiem jak to zrobic. Macie jakies pomysly?

Drugiem problemem bedzie uaktualnianie tabeli rozgrywek, ale tym bede sie bawil jak skoncze, to oczym napisalem wyzej. Z gory dziekuje za pomoc.

Pozdrawiam...
nobody
Formularz:
Kod
<HTML>

<HEAD>

</HEAD>

<BODY>

<FORM ACTION="update.php" METHOD="post">

Zmien pola o id: <INPUT TYPE="TEXT" NAME="id"><BR>

Zmien pole gole_gospodzarz na: <INPUT TYPE="TEXT" NAME="gosp"><BR>

oraz pole gole_gosc na: <INPUT TYPE="TEXT" NAME="gosc"><BR><INPUT TYPE="submit" VALUE="Zmien"></FORM>

</BODY>

</HTML>

Plik update.php
[php:1:d948a22fb4]<?php
//polaczenie z baza
//wybor bazy
if(!is_numeric($id)){
die("Niepoprawne id!");
}
mysql_query("UPDATE nazwa_tabeli SET gole_gosc='$gosc', gole_gospodarz='$gosp' WHERE kolejka='$id'");
//cos tam dalej
?>[/php:1:d948a22fb4]
Pozdro.
track
Problem w tym, ze ja najpierw wyciagam przykladowo 7 wpisow z bazy, ktore maja identyczny numer kolejki, ale rozne drozyny. Jesli kazde nazwe identycznie, nie bedzie to mialo sensu, bo wszystkie pola przejma wartosc ostatnich petli. Jak zrobic to w inny sposob?
sivyer
Zrob sobie w tabeli dodatkowe poli identyfikujace jednoznacznie dany mecz:

Tabela "mecze":
[sql:1:570c632d78]
meczID
kolejka
gospodarz
gosc
pkt_gosp
pkt_gosc
[/sql:1:570c632d78]

Wtedy formularz do aktualizacji wynikow:

[php:1:570c632d78]
// Formularz do wpisywania wynikow
<form action=update.php method=post>
<?php
// pobierz wszystkie mecze z danej kolejki
$res = mysql_query("SELECT * FROM mecze WHERE kolejka=1") or die(mysql_error());
while( $row = mysql_fetch_array($res) ) {
echo "Mecz ".$row[0].": <input type=text name=wynikA[] size=2>:<input type=wynikB[] size=2><input type=hidden name=meczID[] value=".$row[0]."><br>";
}
?>
<input type=submit value=OK>
</form>
[/php:1:570c632d78]
[php:1:570c632d78]
<?php
// Aktualizacja
for( $i=0; $i<count($_POST['wynikA']); $i++ ) {
mysql_query("UPDATE mecze SET pkt_gosp=".$_POST['wynikA'][$i].", pkt_gosc=".$_POST['wynikB'][$i]." WHERE meczID=".$_POST['meczID']."") or die(mysql_error());
}
?>[/php:1:570c632d78]

Pisane z glowy, ale mniej wiecej tak to powinno dzialac

--
edycja: uzupelnienia pola hidden o wartosc $row[0]
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.