Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP/MYSQL] problem ze skryptem
Roguś
post 28.07.2007, 22:19:10
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Probowałem wielu rzeczy i coś mi nie wychodzi :/ Chce by wyswietlilo mi slowo i trzeba bylo by dopisać znaczenie. Nastepnie sprawdzi je i napisze czy dobrze czy zle. Probowałem wrzucić ta cześć kodu od if ($_POST['sa'] == ok) do "pierwszego" While-a lecz jak klikałem submit to nic mi sie nie pokazywało. Teraz natomiast nie wyswietla $row['tlumaczenie'] i wyswietla blad. Ten skrypt moze być zle napisany bo juz z braku pomysłu pisałem co mi przyszło na myśl tongue.gif

  1. <?php
  2. $wybierz = mysql_query("SELECT * FROM slowa WHERE login='$in' AND kategoria='$kategoria' ORDER BY RAND() LIMIT 1")
  3. or die ("$wybierz");
  4. while ($row = mysql_fetch_array($wybierz))
  5. {
  6. echo $row['slowo'];
  7. echo '- <form method=POST><input type=text name="translate"><input type=hidden name="sa" value=ok><input type="submit" value="sprawdz"></form><br><br>';
  8.  
  9. }
  10. if ($_POST['sa'] == ok)
  11. {
  12. echo 'Prawidłowe tłumaczenie to';
  13. while ($row = mysql_fetch_array($wybierz)) {
  14. echo $row['tlumaczenie']; }
  15. if ($_POST['translate'] == $row['tlumaczenie']) {
  16. echo 'brawo trafiłeś :)';
  17.  
  18. }
  19. else { echo 'blad !!';}
  20. ?>


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
kossa
post 29.07.2007, 00:34:53
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


z tym rand to jakaś bzdura, losujesz nazwę kolumny?! smile.gif)

Cytat
$wybierz = mysql_query("SELECT * FROM slowa WHERE login='$in' AND kategoria='$kategoria' ORDER BY RAND() LIMIT 1")


2 razy pętla while do tego samego zapytania sql?

popraw to a pewnie zadziała a jak nie to mając już bardziej poprawny kod to pomoemy bo to teraz... ach

Łukasz


--------------------
Go to the top of the page
+Quote Post
Roguś
post 29.07.2007, 17:37:24
Post #3





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


Czemu uważasz ze to bzdura bo nie rozumiem dry.gif

Poprawiłem kod taki jak był pierwotnie
  1. <?php
  2. $wybierz = mysql_query("SELECT * FROM slowa WHERE login='$in' AND kategoria='$kategoria' ORDER BY RAND() LIMIT 1")
  3. or die ("$wybierz");
  4. while ($row = mysql_fetch_array($wybierz))
  5. {
  6. echo $row['slowo'];
  7. echo '- <form method=POST><input type=text name="translate"><input type=hidden name="sa" value=ok><input type="submit" value="sprawdz"></form><br><br>';
  8. if ($_POST['sa'] == ok)
  9. {
  10. echo 'Prawidłowe tłumaczenie to';
  11. echo $row['tlumaczenie'];
  12. if ($_POST['translate'] == $row['tlumaczenie']) {
  13. echo 'brawo trafiłeś :)';
  14.  
  15. }
  16. else { echo 'blad !!';}
  17. }
  18.  
  19.  
  20. }
  21. ?>



Nikt nie wie :/ ?

Ten post edytował Roguś 29.07.2007, 17:37:19


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
kossa
post 29.07.2007, 17:58:46
Post #4





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


Cytat(Roguś @ 29.07.2007, 18:37:24 ) *
Czemu uważasz ze to bzdura bo nie rozumiem dry.gif


http://dev.mysql.com/doc/refman/4.1/en/mat...l#function_rand

bo rand losuje liczbę a order by służy do ustawiania kolejności danych w wybranej kolumnie a u Ciebie zapytanie w bazie może przybrać po wykonaniu rand następującą wartość (końcówka): ... order by 0.70100469486881

a masz taką kolumnę w tabeli któa nazywa się 0.70100469486881? raczej nie

nie wiem skąd to wytrzasnąłeś ale usuń to bo to jakaś bzdura


--------------------
Go to the top of the page
+Quote Post
Roguś
post 29.07.2007, 18:29:58
Post #5





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


No to jak mam zrobić zeby mi losowało rekord ? Dziwne troche bo jak narazie to spełniało swoje zadanie tongue.gif


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
Go to the top of the page
+Quote Post
nospor
post 29.07.2007, 18:35:56
Post #6





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




@Roguś nie sluchaj go. Ty z tym rand masz jak najbardziej poprawnie. Nie Twoja wina że kossa nie zna podstawowej techniki losowego wyboru rekordu smile.gif

edit:
najlepsze jest to, ze rzucil ci linkiem do manuala a sam go nie przeczytal....
Cytat
ORDER BY RAND() combined with LIMIT is useful for selecting a random sample from a set of rows:
mysql> SELECT * FROM table1, table2 WHERE a=b AND c<d -> ORDER BY RAND() LIMIT 1000;

@Kossa tongue.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
kossa
post 29.07.2007, 18:54:27
Post #7





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


Człowiek uczy się całe życie, dzięki za zwrócenie uwagi.

Łukasz


--------------------
Go to the top of the page
+Quote Post
Roguś
post 29.07.2007, 23:04:21
Post #8





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Częstochowa

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


No dobra chłopaki ale to nadal nie mowi mi gdzie mam blad :/


--------------------
http://www.twojanutka.pl Twoja Nutka - Moja pierwsza stronka
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 Wersja Lo-Fi Aktualny czas: 20.07.2025 - 11:33