Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] ala wyszukiwarka, problem z wynikami
-Glacier-
post 13.12.2007, 20:05:36
Post #1





Goście







Witam,

Nie będę się rozpisywał jaki to ciemny w tematyce php i sql jestem, bo to bez sensu, po prostu jestem i tyle - zaczynam dopiero to robić. Do sedna na czym polega problem:

Stworzyłem trzy tabele: drops, drop_list, mobs

W pierwszej tabeli dwa pola: mob_id, mob_name
W drugiej tabeli dwa pola: mob_idd, drop_idd
W trzeciej tabeli dwa pola: drop_id, drop_name

Wprowadzam do pierwszej tabeli rekordy: [1]kot, [2]pies, [3]krowa
Wprowadzam do trzeciej tabeli rekordy: [1]mleko, [2]kosc
Za pomocą formularza w drugiej tabeli umieszczam id dropa i id moba:

mob_idd drop_idd
[1] [1]
[2] [2]
[3] [1]

Kod wyszukiwarki:

  1. <?php
  2.  
  3. require_once("polaczenie_sql.php");
  4.  
  5.  
  6. if($stan=='szukaj') {
  7.  
  8. $zapytanie = "SELECT * FROM `drops` where `drop_name`='$znajdz'";
  9. $wykonaj = mysql_query ($zapytanie);
  10. while($wiersz=mysql_fetch_array ($wykonaj)) {
  11.  
  12. $wynikdropu = $wiersz['drop_id'];
  13. echo " <b> $wynikdropu </B> ";
  14. }
  15.  
  16. $pytam2 = "SELECT * FROM `drop_list` where `drop_idd`='$wynikdropu'";
  17. $wykonaj2 = mysql_query ($pytam2);
  18. while($wiersz2=mysql_fetch_array ($wykonaj2)) {
  19.  
  20. $wynikdropu2 = $wiersz2['mob_idd'];
  21.  
  22. echo " <i> $wynikdropu2 </I> ";
  23.  
  24. }
  25.  
  26. $pytam3 = "SELECT * FROM `mobs` where `mob_id`='$wynikdropu2' ";
  27. $wykonaj3 = mysql_query ($pytam3);
  28. while($wiersz3=mysql_fetch_array ($wykonaj3)) {
  29.  
  30.  
  31. $wynikdropu3 = $wiersz3['mob_name'];
  32.  
  33. echo " <u> $wynikdropu3 </U> ";
  34. }
  35.  
  36.  
  37.  
  38. }
  39.  
  40. else {
  41. echo "<center><br><form method=\"get\" action=\"szukaj.php\"><input type=\"text\" name=\"znajdz\" size=\"20\"><br><input type=\"submit\" value=\"szukaj\" name=\"stan\"></form></center>";
  42. }
  43.  
  44. ?>


Dziala to tak że po wpisaniu np kość skrypt znajduje przypisany jej ID, przechodzi do tabeli drop_list tam szuka tego ID dając wynik mob_idd, następnie za pomocą mob_idd znajduje mi w tabeli mob_id ID tego moba i wyswietla jego nazwę.

Problem w tym, że jeśli wpiszę mleko, to wyszukiwarka oddaje wynik, ale tylko ostatni, i nie wyswietla mi wyniku końcowego typu kot krowa, tylko samo krowa.

Może jakieś sugestie co robię źle? Jakieś podpowiedzi?

PS. dział przedszkole jest świetnym pomysłem smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
glacier
post 14.12.2007, 18:02:07
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 1
Dołączył: 13.12.2007

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


Problem rozwiązany. Jak widzę, nauka php czy mysql to dużo kombinowania i pracy na zasadzie prób i błędów smile.gif

ZMieniony i działający kod wygląda tak:

Kod
<?php

require_once("polaczenie_sql.php");


if($stan=='szukaj') {

$zapytanie = "SELECT * FROM `drops` where `drop_name`='$znajdz'";
$wykonaj = mysql_query ($zapytanie);
while($wiersz=mysql_fetch_array ($wykonaj)) {

$wynikdropu = $wiersz['drop_id'];

}

[ZMIANA]
$pytam2 = "SELECT * FROM `drop_list`, `mobs` WHERE `drop_idd`='$wynikdropu' AND `mob_id`=`mob_idd` ORDER BY mob_lvl";
[/ZMMIANA]
$wykonaj2 = mysql_query ($pytam2);
while($wiersz2=mysql_fetch_array ($wykonaj2)) {



echo " </TR>";
}

}

else {
echo "<center><br><form method=\"get\" action=\"index.php\"><input type=\"text\" name=\"znajdz\" size=\"20\"><br><input type=\"submit\" value=\"szukaj\" name=\"stan\"></form></center>";
}

?>


temat można zamknąć smile.gif pomogłem sobie sam tongue.gif

Ten post edytował glacier 14.12.2007, 18:04:51
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 16:02