Jump to content
php.lv forumi

lietotaji no vienas tabulas, ja tadi nav bijuši kopā


Recommended Posts

Posted

Sveiki!

tabula piemēram šadi:

lietotaji:

1_tabula:

l_id | lietotajs | grupa

1 | artis | 1

2 | juris | 1

3 | janis | 1

2_tabula

id | lietotajs | pretinieks

 

Nevaru pareizi sariktēt, jo lietotaju ir padaudz, šādu lietu:

No pirmās tabulas paņem vienu lietotāju un paņem otru lietotāju no šīs pašas grupas, kurā bija pirmais lietotājs un ievada šos lietotājus otrajā tabulā. Ar noteikumu, ka drīkst paņemt tikai tos lietotājus kas savā starpā nav bijuši kopā salikti.

Ja otrajā tabulā ierakstu: 1 | artis| juris | tad nākamā kombinācija drīkst būt vai nu 2 | artis | janis vai nu 3 | janis | juris

Ceru, ka domu sapratāt, ko saviem spēkiem kaut kā nevaru izdomāt.

Milzīgs paldies par palīdzību jau iepriekš!

Posted

Tb otrā tabula sanāk (pirmā_tabula x pirma_tabula) - pirma_tabula? gribi pakarināt pasākumu? Vai arī tev ir nepieciešams vienkārši ik pa laikam pielikt jaunu ierakstu ar pretinieku, kurš vēl nav bijis?

Posted

jā visu laiku gribu pielikt pretiniekus, otrā tabula visu laiku papildinās, kurā arī ir svarīga infa tādeļ vajag papildināt otro tabulu ar pirmāš datiem. visu laiku statiski nav, papildināš dinamiski tur tā nelaime.

Posted

vēl derēu rī kaut vai variants:

Viņš paņem to lietotaju, pārbauda nakamajā tabulā, ja nav tad ieraksta, ja ir tad ņem vēlreiz... It kā jau vienkārši skan, bet nu kaut kā neaiziet šitas...

Posted (edited)

A kas tev tur neaiziet?

Pārbaudi - ja nav tāda komplekta, tad bliez tik iekšā, ja ir - pārbaudi ar citu pretinieku.

 

function search_invader(){
--sameklejam pretinieku by rand() vainu kaads tev tas princips
--paarbaudam vai eksistee komplekts
if(!exists){return $pretinieks;}
else{search_invader();}
}

 

Man gan nepatīk, ka pie lieliem useru daudzumiem un daudziem jau izveidotiem komplektiem pasākums iebremzēs!

Ir vēlviens variants - noselektēt jau eksistējošos komplektus un tos izslēgt no pretinieka izvēles.

 

select user from tabula WHERE user_id NOT IN('12','31','32' .... '64');

Edited by ohmygod

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...