Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie przekazuje mniejszej wartości
Forum PHP.pl > Forum > Gotowe rozwiązania
matt
Dlaczego do jasnej ciasnej tongue.gif skrypt nie che mi wprowadzic do mysql pewnych danych, a mianowicie wyniku bramki1 a bramki2 wszystko. Sprawa wygląda tak: np wpisze w bramki1 wartosc 2 a w bramki2 wartosc 3(przez formularz ofc, kod nizej) to dane się nie wprowadzą, a jezeli wartosc bramki2 jest wieksza od bramki1 to dane sie wprowadzaja, reasumujac gdy bramki1 jest mniejsze od bramki2 to dane sie nie wprowadzaja :x :x :x


[php:1:aceac84f67]<?php
if ($opcja==raport_mecz_wynik)
{
$sql = mysql_query("SELECT * FROM raport_specjalny WHERE id_meczu = '$id'");

while($row = mysql_fetch_array($sql))

{

$id=$row['id_meczu'];
$bramki1=$row['bramki1'];
$bramki2=$row['bramki2'];

echo("<form action=admin.php?opcja=raport_mecz_wynik_ok&id=$id method=post>
bramki dla gospodarzy:<br>
<input type="text" size="4" name="bramki1" value="$bramki1"><br><br>

bramki dla gości:<br>
<input type="text" size="4" name="bramki2" value="$bramki2" ><br><br>");
echo("<input type="submit" size="20" value="dodaj">
&nbsp;&nbsp;
<input type="reset" size="20" value="reset" >");

}
}
if($opcja==raport_mecz_wynik_ok)
{

$sql = "update raport_specjalny set bramki1='$bramki1', bramki2='$bramki2' WHERE id_meczu='$id'";
mysql_query($sql);

if ($blad_mysql = mysql_error()) {
echo("<font class=srodek>Błąd: $blad_mysql");
}
else
{
echo("<font class=srodek>Komunikat: Wynik został zmieniony");
}
}
?>[/php:1:aceac84f67]
spenalzo
Co to za tytuł wiadomości? Poczytaj regulamin.

Wyrzuć kod HTML poza php i stosuj nowe sposoby odczytu zmiennych.
matt
tzn jaki nowy?
spenalzo
http://forum.php.pl/viewtopic.php?t=789

I wyrzuć kod HTML poza znaczniki php.
matt
A możesz teraz odpowiedzieć na moje pierwsze pytanie?
spenalzo
Cytat
A możesz teraz odpowiedzieć na moje pierwsze pytanie?

Ja w tym kodzie nie widzę nic (poza złym przekazywaniem zmiennych) co mogłoby powodować taki błąd...
matt
no własnie ja też i sądze ze pola w mysql w których są przechowywane te dane tez nie sa zle

[sql:1:73d2fb1ea8] bramki1 int(3) NOT NULL default '0',
bramki2 int(3) NOT NULL default '0',[/sql:1:73d2fb1ea8]
adwol
Cytat
Dlaczego do jasnej ciasnej tongue.gif skrypt nie che mi wprowadzic do mysql pewnych danych, a mianowicie wyniku bramki1 a bramki2 wszystko.

Linia 2 i 26. Czy raport_mecz_wynik i raport_mecz_wynik_ok to stałe? Bo jak nie to by się przydał jakiś ozdobnik do tego tekstu żeby php wiedział co to jest.
matt
stałe... :?
spenalzo
Cytat
stałe... :?

A mi się nie wydaje, ze to są stałe...
Przecież przekazujesz je w adresie, co? I zrób tak jak Ci adwol napisał.
matt
to narazie mały szczegoł, najbardziej mnie wkurza to że nie przekazuje tej wartość...
spenalzo
Cytat
to narazie mały szczegoł, najbardziej mnie wkurza to że nie przekazuje tej wartość...

lol
Jeżeli wiesz lepiej.... Zrobiłeś tak jak Ci napisaliśmy? To najpierw tak zrób. Według mnie jest to duży szczegół, nie wiem jak php sobie radzi z takimi kwiatkami.

Podaj czy są jakieś błędy, bo tak to możemy sobie wróżyć dalej.
matt
Nie nie ma żadnych błędów

edit
Wcześniej stosuje taką funkcje, przy obliczaniu punktów do tabel:

[php:1:f4a9e83a14]<?php
if($_POST['bramki1'] > $_POST['bramki2']) {

$sql2 = mysql_query("SELECT * FROM druzyny");

while($row = mysql_fetch_array($sql2))

{
$stanwyg=$row['wygrane'];
$stanrem=$row['remisy'];
$stanpor=$row['porazki'];
$stanbramki1=$row['bramki1'];
$stanbramki2=$row['bramki2'];

if($_POST['bramki1'] > $_POST['bramki2']) {
$wygrane1 = $stanwyg + 1;
$bramkis = $stanbramki1 + $_POST['bramki1'];
$bramkist = $stanbramki2 + $_POST['bramki2'];
$sql = "update druzyny set wygrane='$wygrane1', bramki1='$bramkis', bramki2='$bramkist', wygrane='$wygrane1' WHERE nazwa1='$druzyna1'";
mysql_query($sql);
$porazki2 = $stanpor + 1;
$bramkis2 = $stanbramki1 + $_POST['bramki2'];
$bramkist2 = $stanbramki2 + $_POST['bramki1'];
$sql = "update druzyny set bramki1='$bramkis2', bramki2='$bramkist2', porazki='$porazki2' WHERE nazwa1='$druzyna2'";
mysql_query($sql);

if($_POST['bramki1'] < $_POST['bramki2']) {

$porazki2 = $stanpor + 1;
$bramkis2 = $stanbramki1 + $_POST['bramki1'];
$bramkist2 = $stanbramki2 + $_POST['bramki2'];
$sql = "update druzyny set porazki='$porazki2', bramki1='$bramkis2', bramki2='$bramkist2' WHERE nazwa1='$druzyna1'";
mysql_query($sql);
$wygrane1 = $stanwyg + 1;
$bramkis = $stanbramki1 + $_POST['bramki2'];
$bramkist = $stanbramki2 + $_POST['bramki1'];
$sql = "update druzyny set wygrane='$wygrane1', bramki1='$bramkis', bramki2='$bramkist' WHERE nazwa1='$druzyna2'";
mysql_query($sql);

if($_POST['bramki1'] == $_POST['bramki2']) {

$remisy = $stanrem + 1;
$bramkis2 = $stanbramki1 + $_POST['bramki1'];
$bramkist2 = $stanbramki2 + $_POST['bramki2'];
$sql = "update druzyny set remisy='$remisy', bramki1='$bramkis2', bramki2='$bramkist2' WHERE nazwa1='$druzyna1'";
mysql_query($sql);
$remisy = $stanrem + 1;
$bramkis = $stanbramki1 + $_POST['bramki2'];
$bramkist = $stanbramki2 + $_POST['bramki1'];
$sql = "update druzyny set remisy='$remisy', bramki1='$bramkis', bramki2='$bramkist' WHERE nazwa1='$druzyna2'";
mysql_query($sql);
}
}
}
?>[/php:1:f4a9e83a14]może ona ma jakis wpływ na to?
adwol
Cytat
Nie nie ma żadnych błędów

Rany... No to wyruguj problem, zawęź krąg poszukiwań. Powsadzaj jakieś debugi w krytycznych miejscach kodu. Głównie sprawdź, czy napewno wchodzi do tej pętli do której powinien, tzn. czy zachodzi warunek:
Kod
$opcja == raport_mecz_wynik_ok

i potem wypisz dokładną postać zapytania, które jest wykonywane. Na razie to nie wiadomo czy zawodzi php czy baza.
spenalzo
Zastanów się czy dobrze robisz, że każdy kolejny if (począwszy od drugiego) jest osadzony w poprzednim.
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-2024 Invision Power Services, Inc.