Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]problem przy pobieraniu danych z bazy
kojot91
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.08.2008

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


Wiele problemów udało mi się samemu rozwiacać przy pomocy google'ów, ale tego nie :/Przejde do rzeczy, mam kod w stylu:

  1. <?php
  2. $query1 = "SELECT * FROM `xxx` WHERE `data` = '".$x."'
  3. ";
  4. $result1 = mysql_query($query1); 
  5. $num_results1 = mysql_num_rows($result1); 
  6.  
  7. for ($i=0; $i < $num_results1; $i++) {
  8.   
  9. $query = "SELECT * FROM `xxx` WHERE `data` = '".$x."'";
  10.  
  11. $result = mysql_query($query);  
  12. $row = mysql_fetch_array($result);
  13. $cos1 = stripslashes($row["cos1"]);
  14. $cos2 = stripslashes($row["cos2"]);
  15.  
  16. $query2 = "SELECT * FROM `x` WHERE `xx` = '".$cos1."'";
  17.  
  18. $result2 = mysql_query($query2);  
  19. $row2 = mysql_fetch_array($result2);
  20. $dana = stripslashes($row2["dana"]);
  21. // ...  
  22.  
  23. $query3 = "SELECT * FROM `x` WHERE `xx` = '".$cos2."'";
  24.  
  25. $result3 = mysql_query($query3);  
  26. $row3 = mysql_fetch_array($result3);
  27. $dana2 = stripslashes($row3["dana"]);
  28. // ...  
  29.  
  30.  
  31.  
  32. // ... to co tu było, jest nie jest potrzebne  
  33.  
  34.  
  35. }
  36. ?>


i chciałbym aby pętla pobierała zmienne cos1 i cos2 z nastepnych rekordów... teraz wykonuje to co ma wykonywać ale tylko dla pierwszej pary tych zmiennych, pobiera z pierwszego rekordu z tabeli który zgadza sie z warunkiem i konczy swoją prace na tych samych danych, jesli nie bedziecie mieli pomyslu albo jak cos skopalem to pozostaje mi rozpisanie pętli (normalnie powinna leciec minimum 200 razy... a tak bym musial dowalic jeszcze jeden warunek przy zapytaniu do bazy zrobic 20 (pewnie plików bo jesli dalbym do 1 to duzo KB wyjdzie) razy po 10 kodu z petli przy innych nazwach query result row chociaz teraz jak tak mysle to znów miałbym pewnie tam gdzies problem... musialbym w warunku dodać jeszcze id...(niechce narazie o tym myslec... ) ehh i to wszystko jeszcze ma lecieć do crona... mam nadzieje, że ktoś mi pomoże
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rzymek01
post
Post #2





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


jakiś dziwny ten kod w ogole (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
pełno zapytań, nie wiadomo o co chodzi, i nieoptymalność tych zapytań

w pierwszym zapytaniu zrób sobie count i nie bedziesz musiał uzywac już funkcji mysql_num_rows, która jest nieoptymalna,

jesli chodzi o zapamiętanie zmiennych $cos1 i $cos2, to zrób z nich tablicę (przed pętlą zadekraluj $cos1 = array(); i tak samo z dwójką)
a potem w kodzie $cos1[] = ............; itd.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 10:43