Dzień Dobry nie mogę uporać się z takim problemem
Posiadam 3 tabele

product, media, product_media

Musze pobrać id z tabel product oraz media tutaj problemu nie mam smile.gif

Robię to tym zapytaniem

  1.  
  2. $query = ("SELECT products.product_id, medias.media_id
  3. FROM products JOIN medias ON products.sku = medias.sku ");
  4.  
  5. $result = mysql_query($s, $con) OR die ("rt". mysql_error() );



Zapytanie pobiera wszystkie id gdzie rekord sku jest taki sam, teraz istota problemu 3 tabela posiada 3 kolumny, tutaj muszę od razu powiedzieć ze w product_id może znaleźć się 11 identycznych ID (jeden produkt może posiadac wiele zdjęć czyli media_id)

product_id media_id ordering


próbowałem rozwiązać problem incrementacją, lecz nie mogę jej dobrze wstawić albo ona nie pomorze wcale tego nie wiem.

cały kod
  1.  
  2. $query = ("SELECT products.product_id, medias.media_id
  3. FROM products JOIN medias ON products.sku = medias.sku ");
  4.  
  5. $result = mysql_query($query, $con) or die ("CODE 01". mysql_error() );[/sql]
  6.  
  7. $i = 1;
  8.  
  9. while($row = mysql_fetch_assoc($d)){
  10.  
  11. $IdP = $row['product_id'];
  12. $IdZ = $row['media_id'];
  13. echo $IdP ." - ". $IdZ ." - ". $i++ ."<br />"; //wyswietla dobrze id lecz pole ordering incrementuje cały czas od 1 do kilku tysięcy
  14.  
  15. //a jesli wypisało wstawia pobrane wyniki
  16.  
  17. $wstaw = ("REPLACE INTO `hclwu_virtuemart_product_medias` SET `virtuemart_product_id` = '$IdP', `virtuemart_media_id` = '$IdZ', `ordering` = '$i' ");
  18.  
  19. $wyslij = mysql_query($wstaw, $con) or die ("Error 456 - ". mysql_error() );
  20.  
  21.  



Raz udało mi się zrobić efekt z polem ordering taki jaki chciałem ale zmieniał on wartości id pobranych wstawiłem pod while pętle for z warunkiem incrementacji tylko wtedy miałem np
po 15 takich samych ID w produkcie i 15 takich samych media ale ordering trwało od 1 do 15potem wracało do 1

Jeśli ktoś zrozumiał co chcę osiągnąć niech mi pomoże

taki mały efekt jakby miało to wyglądać

produkt_id = P
media_id =M
ordering = O

P M O

1 23 1
1 24 2
1 525 3
1 45 4
2 65 1
2 454 2
3 43 1
4 646 1
4 624 2
5 246 1
5 5768 2
5 5656 3