Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Złe dane
Forum PHP.pl > Forum > Gotowe rozwiązania
matt
ehhh, i kolejny dziś bląd mnie trapi, ale mniejsza z tym. Robie skarb kibica i przy dodawaniu zawodników mam taki błąd. Przy dodawaniu zawodnika do mysql dane dodają się inaczej niz powinny. 1 sprawa to pozycje. Np gdy wybieram zawodnikowi pozycje Bramkarz to do mysql dodaje sie 4 a nie bramkarz.

Kod:
[php:1:39f817c8c3]<?php
echo("<tr>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang48:");
echo"<br>";
echo("<SELECT NAME=pozycja SIZE=1 style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff"><OPTION VALUE=bramkarz>Bramkarz</OPTION><OPTION VALUE=obronca>Obrońca</OPTION><OPTION VALUE=pomocnik>Pomocnik</OPTION><OPTION VALUE=napastnik>Napastnik</OPTION></SELECT>");
echo"<br>";

echo("</td>");
?>[/php:1:39f817c8c3]

Drugi błąd to klub. Zamiast id klubu jaki wybiore to do mysql dodaje sie 0 czyli jak ustalilem że 0 to bedzie jak sie nie wybierze klubu. Kod:

[php:1:39f817c8c3]<?php
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang49:");
echo"<br>";

// Funkcja wyboru klubu
function wybor_klubu_gracz_dodawanie() {
echo "<SELECT NAME=druzyna SIZE=1 style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">";
$sql = "select * from druzyny order by id_druzyny";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {

$id = $row["id_druzyny"];
$nazwa = $row["nazwa1"];

echo "<OPTION VALUE=$id>$nazwa</OPTION>";
}
echo "<OPTION VALUE=0>Brak</OPTION>"; // 0 gdy nie wybierze się klubu

echo "</select>";
}
wybor_klubu_gracz_dodawanie();

echo"<br>";

echo("</td>");
echo("</tr>");
?>[/php:1:39f817c8c3]

Tak wygląda struktura mysql:

[sql:1:39f817c8c3]CREATE TABLE zawodnicy (
id_zawodnika int(11) NOT NULL auto_increment,
im varchar(180) NOT NULL default '',
urodzony1 varchar(180) NOT NULL default '',
urodzony2 varchar(180) NOT NULL default '',
wzrost varchar(180) NOT NULL default '',
waga varchar(180) NOT NULL default '',
pseudonim varchar(180) NOT NULL default '',
koszulka varchar(180) NOT NULL default '',
narodowosc varchar(180) NOT NULL default '',
zdjecie varchar(180) NOT NULL default '',
opis text NOT NULL,
pozycja varchar(180) NOT NULL default '',
druzyna int(11) NOT NULL default '0',
PRIMARY KEY (id_zawodnika)
) TYPE=MyISAM;[/sql:1:39f817c8c3]

Z góry dziękuje za pomoc(na którą licze laugh.gif 8) ) :wink:
sivyer
Mozesz wkleic calosc skryptu? caly formularz, to w jaki sposob dodajesz dane do bazy (instrukcje INSERT INTO)? Bo tak to raczej niewiele widac..

edycja:
W sumie mam taka rade, abys zrobil sobie pozycje w tabeli numeryczne, tzn. np. 1 - bramkarz, 2 - prawy obronca, 3 - srodkowy obronca itd. i te nazwy przechowywal w dodatkowej tabeli:
Kod
Tabela: pozycje

pozycjaID

nazwa

np.
1|bramkarz
2|prawy obronca itd...

Jesli bedziesz mial tych rekordow kilkadziesiat/kilkaset to tabela z danymi zawodnikow bedzie zajmowac duzo mniej w porownaniu z Twoja tabela. A przy okazji, jesli bedziesz chcial zmienic nazwe ktorejs z pozycji, to zamiast robic UPDATE kilkuset pol w tabeli 'zawodnicy' wystarczy, ze zmienisz nazwe w tabeli 'pozycje'
matt
[php:1:4cc7e9c926]<?php
// dodawanie zawodnika
if($opcja==dodaj_zawodnik)
{


echo("<form action=?opcja=add_zawodnik method=post>");
echo("<center>");
echo("<table width=460 border=0>");
echo("<tr>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang38:");
echo"<br>";
echo("<input type="text" size="20" name="im" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">");
echo"<br>";

echo("</td>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang39:");
echo"<br>";
echo("<input type="text" size="20" name="urodzony1" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">");
echo"<br>";

echo("</td>");
echo("</tr>");
echo("<tr>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang40:");
echo"<br>";
echo("<input type="text" size="20" name="urodzony2" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">");
echo"<br>";

echo("</td>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang41:");
echo"<br>";
echo("<input type="text" size="20" name="wzrost" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">");
echo"<br>";

echo("</td>");
echo("</tr>");
echo("<tr>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang42:");
echo"<br>";
echo("<input type="text" size="20" name="waga" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">");
echo"<br>";

echo("</td>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang43:");
echo"<br>";
echo("<input type="text" size="20" name="pseudonim" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">");
echo"<br>";

echo("</td>");
echo("</tr>");
echo("<tr>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang44:");
echo"<br>";
echo("<input type="text" size="20" name="koszulka" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">");
echo"<br>";

echo("</td>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang45:");
echo"<br>";
echo("<input type="text" size="20" name="narodowosc" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">");
echo"<br>";

echo("</td>");
echo("</tr>");


echo("<tr>");
echo("<td width=460 border=0>");
echo("<font class=aplikacje>");
echo("$lang46:");
echo"<br>";
echo("<input type="text" size="20" name="zdjecie" value="zdjecia/pilkarze/" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">");
echo"<br>";

echo("</td>");

echo("</tr>");
echo("<tr>");
echo("<td width=460 border=0>");
echo("<font class=aplikacje>");
echo("$lang47:");
echo"<br>";
echo("<textarea name="opis" cols="60" rows="5" wrap="virtual" style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff"></textarea>");
echo"<br>";


echo("</td>");
echo("</tr>");
echo("<tr>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang48:");
echo"<br>";
echo("<SELECT NAME=pozycja SIZE=1 style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff"><OPTION VALUE=bramkarz>Bramkarz</OPTION><OPTION VALUE=obronca>Obrońca</OPTION><OPTION VALUE=pomocnik>Pomocnik</OPTION><OPTION VALUE=napastnik>Napastnik</OPTION></SELECT>");
echo"<br>";

echo("</td>");
echo("<td width=230 border=0>");
echo("<font class=aplikacje>");
echo("$lang49:");
echo"<br>";

// Funkcja wyboru klubu
function wybor_klubu_gracz_dodawanie() {
echo "<SELECT NAME=druzyna SIZE=1 style="BORDER-RIGHT: #0D3146 1px solid; BORDER-TOP: #0D3146 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #0D3146 1px solid; COLOR: #000000; BORDER-BOTTOM: #0D3146 1px solid; FONT-FAMILY: Verdana, Arial CE, Arial; BACKGROUND-COLOR: #ffffff">";
$sql = "select * from druzyny order by id_druzyny";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {

$id = $row["id_druzyny"];
$nazwa = $row["nazwa1"];

echo "<OPTION VALUE=$id>$nazwa</OPTION>";
}
echo "<OPTION VALUE=0>Brak</OPTION>";
echo "</select>";
}
wybor_klubu_gracz_dodawanie();

echo"<br>";

echo("</td>");
echo("</tr>");

echo("</table>");


}
if($opcja==add_zawodnik)
{
// dodawanie zawodnika do mysql
$sql = "insert into zawodnicy values (NULL, '$im', '$urodzony1', '$urodzony2', '$wzrost', '$waga', '$pseudonim', '$koszulka', '$narodowosc', '$zdjecie', '$opis', '$druzyna', '$pozycja')";
mysql_query($sql);

if ($blad_mysql = mysql_error()) {
echo("<font class=aplikacje>$lang19: $blad_mysql");
}
else
{
echo("<font class=aplikacje>$lang50");
}
}
// Koniec dodawania zawodnika
?>[/php:1:4cc7e9c926]
marcin96
Cytat
[php:1:0b828b0dbf]
echo("<form action=?opcja=add_zawodnik method=post>");
[/php:1:0b828b0dbf]


Odbiegam teraz od tematu ale...

Nigdy tak nie rob!! To, jak sie zachowa formularz zalezy od przegladarki - IE wysle Ci zapytanie do pliku, ktory aktualnie jest otwarty.. natomiast np: opera potraktuje to jak "./?opcja=blabla" (czy na odwrot IE tak, a Opera tak)
matt
Walic Opere, zreszta to narazie mały szczegół który i tak później chyba zmienie
Seth
php => Skrypty
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.