Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]jak zmusić php aby pobrał ciąg (typu VARCHAR) "1-0" ..., ... z bazy danych mysql bez zamienienia go na "1"?
heniu87
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.08.2006

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


witam, pytanie jak w temacie.

Poniższy skrypt zwraca mi niestety jedynkę:

  1. <?php
  2. while ($row = mysql_fetch_array($result))
  3. {
  4. $wynik = $row['wynik'];
  5. $ss_wynik = stripslashes($wynik);
  6. echo "<tr><form action=index.php method=post><td>" . 
  7. $row['g1'] . " (" . $row['c1'] . ")</td><td>" . 
  8. "<select name=wynik><option>" . $ss_wynik . "<option>" . JEDEN . "<option>" . ZERO . "<option>brak&nbsp;rozstrzygnięcia</select></td><td>" . 
  9.  
  10. (...)
  11. ?>


Ten post edytował heniu87 12.08.2006, 16:51:41
Go to the top of the page
+Quote Post
mariuszn3
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


Gdzie Ci tą jedynkę wywala i z czego ma niby powstać '1-0' ?
Go to the top of the page
+Quote Post
heniu87
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.08.2006

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


ups, pomylilem sie - blad pojawia sie przed wprowadzeniem wpisu do bazy danych, problem lezy w czym innym:

mam sobie pewien formularz z rozwijalna lista typu <select>, działa poprawnie, wyswietla sie "1-0".

  1. <?php
  2. echo "<tr><form action=index.php method=post><td>" . 
  3. $row['g1'] . " (" . $row['c1'] . ")</td><td>" . 
  4. "<select name=wynik><option>" . $ss_wynik . "<option>1-0
  5. (...)
  6. ?>


po nacisnieciu przycisku submit pobierane sa zmienne metoda post:

  1. <?php
  2. $id = $_POST['id'];
  3. $wynik = $_POST['wynik'];
  4. echo "$wynik<br>";
  5. ?>


nadal dziala poprawnie, wyswietla sie "1-0"

ale gdy trzeba to wyslac do bazy danych:

  1. <?php
  2. if ($id != '')
  3. {
  4. $query = "UPDATE mecze SET wynik = $wynik WHERE id = $id";
  5. mysql_query($query);
  6. echo "zmieniono wynik meczu o id $id na $wynik !";
  7. }
  8. ?>


to zamiast "1-0" wysyła do mysql "1".

Jak temu zaradzić?
Go to the top of the page
+Quote Post
mariuszn3
post
Post #4





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


Jeśli chcesz dodać do bazy wynik jako ciąg znaków a nie liczbę to musisz go wziąść w cudzysłów..
Nie mniej nadal nie rozumiem, czemu Ci się wyświetla 1..
Co się dzieje pomiędzy drugim a trzecim kodem, które teraz podałeś, następują bezpośrednio po sobie?
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Jeśli chcesz dodać do bazy wynik jako ciąg znaków a nie liczbę to musisz go wziąść w cudzysłów..
Prawda smile.gif

Cytat
Nie mniej nadal nie rozumiem, czemu Ci się wyświetla 1..
No to juz sobie sam odpowiedziales. jak wyglada jego zapytanie?
  1. ..... wynik = 1-0.....

Czyli do wynik wejdzie wynik dzialania: 1-0 czyli 1 smile.gif
Jaky wzial w cudzyslowy:
  1. ..... wynik = '1-0'.....
To by bylo git

proszę poprawić tytuł o znacznik zgodnie z zasadami forum Przedszkole:
Temat: Tematyka i zasady panujace na forum Przedszkole


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mariuszn3
post
Post #6





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


nospor ale zwróć uwagę, że w ostatnim przykładzie w echo on wkłada tą samą (niezmienioną) zmienną, którą wkładał do zapytania.. zmienna $wynik to nie jest wynik zapytania, gdyby tak było, byłoby to dla mnie jasne.

Jeśli przed wykorzystaniem w zapytaniu zmienna wynik ma wartość '1-0' to czemu miała by mieć inną potem (bez żadnej modyfikacji). php przecież nie wpiszę tam jedynki, bo MySQL tak wykalkulowało sobie jej zawartość smile.gif

Ten post edytował mariuszn3 12.08.2006, 16:53:27
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@mariuszn3 ale zwroc na jedna rzecz jaką on napisal:
Cytat
to zamiast "1-0" wysyła do mysql "1".

Wyraźnie jest napisane, ze do bazy wkladane jest 1.

Autor topicu nie napisal ze kod:
  1. <?php
  2. echo "zmieniono wynik meczu o id $id na $wynik !"
  3. ?>
zwraca mu na koniec 1, tylko ze do mysql idzie 1. to roznica smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mariuszn3
post
Post #8





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


aa tak masz rację.. zwracam honor.. nie doczytałem smile.gif
Go to the top of the page
+Quote Post
heniu87
post
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.08.2006

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


ok działa, wielkie dzieki!

zamieniłem
  1. <?php
  2. $wynik
  3. ?>

na
  1. <?php
  2. '$wynik'
  3. ?>


Myślałem że tak nie można, bo wysle mi wtedy "$wynik" do bazy danych i potrzeba do tego jakiejs nieznanej mi funkcji... Kto by pomyslal ze to takie proste... biggrin.gif
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 - 10:19