Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Dwie wartosci z formularza select
Frugo75
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 13.06.2013

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


Dzien dobry. Proszę o pomoc.

Mam taki formularzyk

  1. $query="SELECT DISTINCT nazwa_klubu, id FROM kluby ORDER BY nazwa_klubu ASC";
  2. $result = mysql_query ($query);
  3. echo "<select name='gospodarz'>";
  4. echo "<option value=''>Gospodarz</option>";
  5.  
  6.  
  7. while($nt=mysql_fetch_array($result))
  8. {
  9.  
  10. echo "<option value='$nt[nazwa_klubu]'>$nt[nazwa_klubu]</option>";
  11.  
  12. }
  13.  
  14. echo "</select>";


Klub ma w bazie jeszcze oprocz nazwy swoje ID.
Jak w tym samym formularzu powiazac ID z nazwa klubu, tak aby w dalszych operacjach to ID "ciągnęło" się za nazwą klubu.
Później to chyba Foreign Key, jak już będę wstawiał mecze?
Będę wdzięczny za pomoc, bo sezon NFL już niebawem;)
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. echo '<select name="gospodarz">';
  2. echo '<option value="">Gospodarz</option>';
  3.  
  4.  
  5. while($nt=mysql_fetch_array($result))
  6. {
  7.  
  8. echo '<option value="'.$nt['id'].'">'.$nt['nazwa_klubu'].'</option>';
  9.  
  10. }
  11. echo '</select>';


Naucz się używać apostrofy w tablicach
Go to the top of the page
+Quote Post
Frugo75
post
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 13.06.2013

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


Dziękuję. Zaraz sprawdzę, czy działa.
Tylko zamiast wklejać, wolałbym zrozumieć co zrobiłeś. wink.gif

Coś nie działa... Dopytam. To pole w POST ma name=gospodarz. I jak odbieram te dane, to pod jakim name pobrac to ID?
Czy coś zamieszałem?

Ten post edytował Frugo75 25.06.2013, 10:09:07
Go to the top of the page
+Quote Post
poli25
post
Post #4





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


jeśli
Cytat(CuteOne @ 25.06.2013, 10:56:02 ) *
  1. $nt=mysql_fetch_array($result))
  2.  


to wtedy chyba <option value='$nt[0]'>$nt[1]</option>

questionmark.gifwink.gif
Go to the top of the page
+Quote Post
CuteOne
post
Post #5





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


@poli25 fetch_array zwróci
  1. 0 => 1,
  2. 'id' => 1,
  3. 1 => 'klub',
  4. 'klub' => 'klub'
  5. )


@frugo to są podstawy podstaw. Weź się za czytanie poradników..

Ten post edytował CuteOne 25.06.2013, 10:12:45
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




Cytat
To pole w POST ma name=gospodarz. I jak odbieram te dane, to pod jakim name pobrac to ID?

print_r($_POST);
i bedziesz widzial co leci postem

I jak wspomnial poprzednik - wez sie zapoznaj z podstawami formularzy. Forum nie jest na wyjasnianie takich podstaw, ktore sa ogolno dostepne w necie


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

"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
Frugo75
post
Post #7





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 13.06.2013

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


@CuteOne
Czytam, czytam i oglądam... Duzo juz zrobilem, w wieku 40 lat zachcialo mi sie nauczyc programowania i mam juz prawie caly system do relacji na zywo z NFL. Tylko z tym ID nie moge sobie poradzic. Forum rozleniwia, wczesniej znalazlem wszystko co chcialem z google...wink.gif

Nie wstawia mi się do bazy mecz. print-r zwraca tak:
  1. Array ( [gospodarz] => 117 [gosc] => Philadelphia Eagles
.
Na razie to co podał mi CuteOne wstawiłem do pola "gospodarz'.
Co zrobić żeby działało?
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




Trudno zeby sie wstawial do bazy, skoro kod co tu podales nic nie wstawia do bazy....


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

"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
Frugo75
post
Post #9





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 13.06.2013

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


Uzupełniam.


  1. @mysql_query("INSERT INTO mecze (gospodarz, gosc,) VALUES ('$gospodarz','$gosc') ");
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Ty nie uzupelniaj tylko pokaz caly kod

I zapoznaj sie KONIECZNIE z tym tematem i do niego ZASTOSUJ
Temat: Jak poprawnie zada pytanie
zanim napiszesz kolejnego posta


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

"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
CuteOne
post
Post #11





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Parę lekcji na start:
1. staraj się nie zagłuszać błędów (chodzi o @)
2. w wersji produkcyjnej wstaw sobie za zapytaniem or die(mysql_error())
  1. $query = mysql_query("INSERT INTO mecze (gospodarz, gosc,) VALUES ('$gospodarz','$gosc') ") or die(mysql_error());

3. ewentualny błąd wrzuć do googla a otrzymasz odpowiedź co jest źle


ps. o jeden przecinek za dużo
Go to the top of the page
+Quote Post
Frugo75
post
Post #12





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 13.06.2013

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


Obiecuje za zapoznam się jeszcze dziś.wink.gif
  1. <form action="mecze.php" method="POST">
  2.  
  3. <b><font>Wstaw mecz:</font>
  4. </br></br>
  5. <?php
  6.  
  7. //dodawanie gospodarza
  8.  
  9.  
  10. $connection = @mysql_connect('localhost', 'root', '')
  11. or die('Błąd - Nie mogę połączyć się z serwerem MySQL. Spróbuj później.');
  12. $db = @mysql_select_db('nazywo', $connection)
  13. or die('Błąd - Nie mogę połączyć się z bazą danych. Spróbuj później.');
  14.  
  15. mysql_query("SET NAMES utf8");
  16. $query="SELECT * FROM kluby ORDER BY nazwa_klubu ASC";
  17. $result = mysql_query ($query);
  18.  
  19. echo '<select name="gospodarz">';
  20.  
  21. echo '<option value>Gospodarz</option>';
  22.  
  23.  
  24. while($nt=mysql_fetch_array($result))
  25. {
  26.  
  27.  
  28. echo '<option value="'.$nt['id'].'">'.$nt['nazwa_klubu'].'</option>';
  29.  
  30. }
  31.  
  32. echo "</select>";
  33.  
  34. ?>



  1. <input type="submit" value="Wyslij" /><br />


plik: mecze.php
  1. $gospodarz = $_POST['gospodarz'];
  2. $gosc = $_POST['gosc'];
  3. $zapytanie = @mysql_query("INSERT INTO mecze (gospodarz, gosc) VALUES ('$gospodarz','$gosc') ");
  4.  


OK. Chyba już wiem. Wstawiło, ale mam w bazie mecz "111 - Philadelphia Eagles."
Czy da sie zrobic tak, zeby wyswietlalo Chicago Bears - Philadelphia Eagles, ale każda z drużyn miała "przyklejone" do siebie swoje ID?
Sorki, ale dopiero raczkuję i tez ze zmeczenia pewnych rzeczy nie ogarniam. Za to pilnie ćwiczę.
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: 21.08.2025 - 05:17