Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MySQLi] Pobranie wyników, porównanie i zapisanie podobnych.
Forum PHP.pl > Forum > PHP
rucin96
Witam.

Chciałbym, aby mój skrypt znajdował te same lub podobne (do 1 różnicy czyli np. aby powiązał 799 z 800) kwoty i zapisał ich id do zmiennej/tablicy.
Np.

  1. $wynik[1][1] = 1;
  2. $wynik[1][2] = 2;
  3. $wynik[2][1] = 3;
  4. $wynik[2][2] = 5;
  5. $wynik[3][1] = 4;
  6. $wynik[3][2] = 6;
  7. $wynik[4][1] = 5;
  8. $wynik[4][2] = 6;


Tabela:

  1. id | how | code | what | STATUS
  2. 1 | 10 | EUR | KUPUJĘ | ready
  3. 2 | 10 | EUR | SPRZEDAJĘ | ready
  4. 3 | 340 | CHF | KUPUJĘ | ready
  5. 4 | 400 | CHF | KUPUJĘ | ready
  6. 5 | 340 | CHF | SPRZEDAJĘ | ready
  7. 6 | 400 | CHF | SPRZEDAJĘ | ready
  8. 5 | 799| CHF | SPRZEDAJĘ | ready
  9. 6 | 800| CHF | SPRZEDAJĘ | ready


Napisałem coś takiego, ale niestety da długo się ładuje więc muszę coś innego wymyśleć
  1. $sql_auctions = "SELECT * FROM `v_transfers` WHERE `status`='ready' AND `what`='SPRZEDAJĘ' ORDER BY id";
  2. $result_auctions = $connection -> query($sql_auctions);
  3.  
  4. while($auc = $result_auctions -> fetch_assoc()){
  5. $reauc_sell_id[] = $auc['id'];
  6. $reauc_sell_how[] = $auc['how'];
  7. $reauc_sell_code[] = $auc['code'];
  8. }
  9.  
  10. if(end($reauc_buy_id) > end($reauc_sell_id)){
  11. $auc_num_rows = end($reauc_buy_id);
  12. } else {
  13. $auc_num_rows = end($reauc_sell_id);
  14. }
  15.  
  16. echo $auc_num_rows;
  17.  
  18. $y = 0;
  19. while($y = end($reauc_sell_how)){
  20.  
  21. for($x = 0; $x < $auc_num_rows; $x++){
  22. if($reauc_sell_how[$y] == $reauc_buy_how[$x] AND $reauc_sell_code[$y] == $reauc_buy_code[$x]){
  23. $save = $reauc_sell_id[$y].' - '.$reauc_buy_id[$x];
  24. }
  25. }
  26. $y++;
  27. }


Jeśli ktoś jest w stanie pomóc co będę bardzo wdzięczny smile.gif
Aqu
Potrzebowałem kiedyś podobnego skryptu, może Ci to pomoże:

  1. $array[] = array('kwota' => 100);
  2. $array[] = array('kwota' => 200);
  3. $array[] = array('kwota' => 300);
  4. $array[] = array('kwota' => 301);
  5. $array[] = array('kwota' => 499);
  6. $array[] = array('kwota' => 500);
  7.  
  8. function searchRelatedElements($array, $kwota) {
  9. foreach ($array as $id => $element) {
  10. $abs = abs($element['kwota'] - $kwota);
  11. if ($abs == 1 || $abs == 0) {
  12. $return[] = $element;
  13. }
  14. }
  15.  
  16. return $return;
  17.  
  18. }
  19.  
  20. foreach ($array as $id => $element) {
  21. $related[] = searchRelatedElements($array, $element['kwota']);
  22. }
  23.  
  24. var_dump(array_unique($related, SORT_REGULAR));

pisałem to dawno, pewnie da się lepiej wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.