Aiuto per strutturare applicazione

cusna

Nuovo Utente
12 Feb 2010
15
0
1
Ciao, premetto che non ho lavorato molto con il PHP e per questo prima di
addentrarmi nello sviluppo di una piccola applicazione vi chiedo un aiuto
su come impostare il tutto.
Ovviamente il tutto lo vorrei fare in PHP e MYSQL.
Veniamo al dunque:
ho una serie di utenti esempio 100 che si loggano ed entrano
ognuno di essi ha un punteggio (in questo caso da 1 a 100) dopo essersi loggati possono scegliere tra 10 stanze (a,b,c,d,e,f,g,h,i,l) con priorità
a scelta dell' utente (per esempio scelgo come prima scelta la stanza c, come seconda scelta la stanza i, come terza scelta la stanza a ecc..)

E questo penso di riuscire a farlo... spero 0:) memorizzando il tutto in in una tabella del database.

Un giorno stabilito l' admin premendo un tasto lancerà uno script che dovrà assegnare le stanze in base alle scelte degli utenti dando la priorità a quelli che sono più alti in classifica
Faccio un altro esempio per spiegarmi meglio.
Mettiamo che ci siano 3 utenti (il n. 3, il n. 9, il n. 25) che hanno scelto la stanza c come prima scelta, tale stanza verrà assegnata a quello con punteggio maggiore in senzo più vicino allo zero (n. 3) e verrà considerata piena, si passerà a valutare un altra stanza assegnandola con lo stesso sistema.
Non so bene come impostare il tutto
Grazie in anticipo
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Semplice, basta che ordini gli utenti del database in modo crescente e, per ogni utente, assegni tutte le stanze che ha scelto. Scusa ma, una stanza è piena quando c'è solo un utente? In questa maniera il 90% degli utenti si troverà con tutte le stanze piene...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao,
potresti fare così
crei le tabelle:
tabella scelte_utente
id int(20) autoincrement primary key //da quello che ho capito è il punteggio
nome varchar(50) NOT NULL//se ti serve
stanza_scelta varchar(1) NOT NULL//se usi a,b,c.....

la tabella scelte_utente viene riempita con un form da parte dell'utente (?)

tabella stanze
id int(20) autoincrement primary key
tipo varchar(1) NOT NULL//se usi a,b,c.....
assegnata_a int(20) DEFAULT 0//se 0 uguale a stanza libera

la tabella scelte_utente viene riempita con un form da parte dell'admin


PHP:
<?php
//l'admin lancia lo script
//fai una selec tper sapere quanti record hai
$quanti=mysql_num_rows(mysql_query("SELECT * FROM scelte_utente"));
$where="";
//cicli con for
for($j=1; $j<=$quanti;$j++){
	//per $j==1 leggi il primo record con punteggio minore
	//se il punteggio===id devi mettere ORDER BY id
	//altrimenti il campo punteggio nella tabella
	$query_su="SELECT * FROM scelte_utente ".$where." ORDER BY punteggio LIMIT 1";
	$result=mysql_query($query_su);
	//leggi l'id
	$rows=mysql_fetch_array($result);
	$id_utente=$rows['id'];
	if($j > 1){//stai leggendo i record successivi al primo
		$where.=" AND !='".$id"'";
	}
	//cerchi la prima stanza libera
	$query_st="SELECT * FROM stanze WHERE assegnata_a='0' ORDER BY tipo LIMIT 1";
	$result=mysql_query($query_st);
	$rows=mysql_fetch_array($result);
	$stanza=$rows['tipo'];
	//uppi stanza in questo modo viene assegnata
	$query_ust="UPDATE stanze SET assegnata_a='$id_utente' WHERE tipo='$stanza'";
	$result=mysql_query($query_ust);
}//fine for
?>

guarda che questa è comunque un'idea che deve essere sviluppata, ad es., tra l'altro, mancano i controlli se ci sono utenti e/o stanze libere
 

cusna

Nuovo Utente
12 Feb 2010
15
0
1
Semplice, basta che ordini gli utenti del database in modo crescente e, per ogni utente, assegni tutte le stanze che ha scelto. Scusa ma, una stanza è piena quando c'è solo un utente? In questa maniera il 90% degli utenti si troverà con tutte le stanze piene...

Grazie intanto,
gli utenti sono molto di più delle stanze diciamo 100 utenti 10 stanze
in ogni stanza ci sta un solo utente.
Sostanzialmente la tal stanza dovrà essere assegnata tra gli utenti che l' avranno scelta all' utente con numero più basso, poi si prosegue con un altra stanza e cosi' via fino a 10.
 

cusna

Nuovo Utente
12 Feb 2010
15
0
1
Grazie anche a te,
si' la tabella scelta utente viene riempita da un form da parte dell' utente
o meglio l' utente che entra si troverà 10 stanze che dovrà assegnargli una priorità come vuole lui (da 0 a 10) con magari 10 caselle a discesa per ogni stanza numerate da 1 a 10.

Mi sono dimenticato :crying: di dire che gli utenti che possono segliere non sono tutti e 100 ma a gruppi che seglierà il n. di partenze l' admin ( per esempio la prima volta parte da 1, la seconda volta si potrà partire da 30, la terza da 50 ecc... quindi la seconda volta l' utente che avrà le priorità su tutti è il n. 30)
La tabella scelta utente dovrà secondo me quindi avere una struttura come tu l' hai scritta sopra (se ho capito bene) cioè:

id int(20)
name varchar(50)
varchar(50) scelta_1 // nome prima stanza scelta
varchar(50) scelta_2 // nome seconda stanza scelta (se l' ha scelta)
varchar(50) scelta_3 // nome terza stanza scelta (se l'ha scelta)
......
varchar(50) scelta_10 // mome 10 stanza scelta (se l' ha scelta)

poi lo script dovrà elaborare e riempire
l' altra tabella definitiva stanze dovre ogni utente avrà solo una stanza.
per me è abbastanza complicata la cosa da sviluppare.:crying:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
qui il problema diventa grosso, anche perchè l'utente puo scegliere più stanze.
ho un piccolo dubbio (che qualcuno più esperto di me può derimere):
tempo fa avevo provato (perche mi serviva) a fare una tabella con 40 campi (mi sembra che a te ne servano 50) e il mio maneger non accettava tabelle con tutti quei campi. non so se le cose sono cambiate, se no il problema diventa molto più difficile
 

cusna

Nuovo Utente
12 Feb 2010
15
0
1
ciao
pardon ho sbagliato: ho letto 50, i campi che ti servono sono (mi sembra) 10

Ciao al massimo le stanze potranno essere 30 non di più.
In effetti mi sembrava semplice da risolvere, in realtà sono alcuni gg
che penso ma non sono ancora riuscito a trovare lo sviluppo in modo corretto
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
da quello che ho capito l'utente può sceglere da una a trenta stanze, giusto?
ci deve essere una priorità di scelta?
es.
l'admin dice di partire da 27, quindi l'utente 27[*] ha la priorità sugli altri, quale stanza gli assegni se ha scelto la stanza A e la F? le priorità di scelta si devo escludere? es. se ha dato priorità 1 alla F non può dare priorità 1 anche alla A? se ha la possibilità di scegliere sino a 30 stanze devi avere una scala di priorità conseguente.

poi (messo aver risolto sopra) assegni all'utente 27 la stanza F
a qusto punto l'utente 28 ha scelto la F (priorità 1) la A (priorità 29) la L (priorità 2), allutente 28 non puoi assegnare la stanza F in quanto gia assegnata all'utente 27, quindi (data la priorità di scelta) gli assegni la stanza L, e così di seguito
ho capito quello che vuoi fare?

[*]nota: gli utenti con id minore di 27 sono esclusi dalle scelte? o, per es, vengono messi in coda
 

cusna

Nuovo Utente
12 Feb 2010
15
0
1
ciao
da quello che ho capito l'utente può sceglere da una a trenta stanze, giusto?
ci deve essere una priorità di scelta?
es.
l'admin dice di partire da 27, quindi l'utente 27[*] ha la priorità sugli altri, quale stanza gli assegni se ha scelto la stanza A e la F? le priorità di scelta si devo escludere? es. se ha dato priorità 1 alla F non può dare priorità 1 anche alla A? se ha la possibilità di scegliere sino a 30 stanze devi avere una scala di priorità conseguente.

Perfetto hai capito esattamente se ha già dato priorità 1 ad una stanza
potrà darre priorità 2 ad una seconda, 3 ad una terza ecc.. ma appena ha usato una priorità passa alla successiva (la può usare solo per una stanza)

poi (messo aver risolto sopra) assegni all'utente 27 la stanza F
a qusto punto l'utente 28 ha scelto la F (priorità 1) la A (priorità 29) la L (priorità 2), allutente 28 non puoi assegnare la stanza F in quanto gia assegnata all'utente 27, quindi (data la priorità di scelta) gli assegni la stanza L, e così di seguito
ho capito quello che vuoi fare?
Perfetto anche qui, è proprio quello che voglio fare

[*]nota: gli utenti con id minore di 27 sono esclusi dalle scelte? o, per es, vengono messi in coda

esatto sono in coda se paradossalmente gli altri non sciegliessero potrebbero avere loro la possibilità, cioè è una lista circolare.

Durante la scelta iniziale da parte degli utenti (esempio partiamo da 27)
quando il 27 ha scelto la stanza a priorità 1 uno gli utenzi successivi dal 28 in poi potrebbero anche non avere la possibilità di scelta di questa stanza , idem quando il 28 ha scelto la stanza con priorità uno i successivi dal 29 in poi non potranno segliere le stanze che sono già state "prenotate con priorità uno" da quelli prima di loro

E' un pò macchinosa la faccenda se riuisciamo ok se no amen inutile diventare matti:byebye:
 
Discussioni simili
Autore Titolo Forum Risposte Data
E Aiuto per query PHP 8
I aiuto urgente per thunderbird Posta Elettronica 0
I aiuto per outlook Posta Elettronica 0
T aiuto per trasformare un quiz fatto in JS in un quiz in JQUERY jQuery 0
M Fullcalendar in Codeigniter, un aiuto per la chiamata $ajax ? jQuery 0
P Aiuto per rendere un Bot Telegram Privato PHP 1
A Aiuto per pagina php PHP 0
T cercasi aiuto per file d1 (open-edge db) Database 0
L Aiuto per programma web php/mySQL PHP 2
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
T Aiuto per php7 e mysqli PHP 3
T mysql tutorial per importare tabelle access in mysql aiuto MySQL 2
wildcity9 aiuto per sbloccare account instagram bannati Social Media Marketing 0
A Aiuto per configurare il banner di Iubenda su un sito in html HTML e CSS 0
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
Z [HTML] aiuto per visualizzazione su tablet Offerte e Richieste di Lavoro e/o Collaborazione 6
W [PHP] Un aiuto per il mio primo "Multithread" PHP 0
G Vuoi fare successo? Abbiamo bisogno di aiuto per un app! Offerte e Richieste di Lavoro e/o Collaborazione 1
K [javascript] Aiuto per programma subnetting Javascript 0
F ciao, sono ferro e ho bisogno di aiuto per problemi con la mail di alice.it Presentati al Forum 1
L [PHP] aiuto per installazione mrbs PHP 0
1 Aiuto per nuovo sito SEO e Posizionamento 4
K Server per sito di annunci: aiuto nella scelta Hosting 4
P [Javascript] Aiuto per recupero variabili da script Javascript 10
P [PHP] Aiuto per gestione file CSV PHP 24
A scambio lavoro per aiuto con android Sviluppo app per Android 0
A aiuto per un codice... PHP 1
ecosito Aiuto con la traduzione in italiano per capire come installare questo JavaScript jQuery 0
StelladelSud Cerco aiuto per una demo Offerte e Richieste di Lavoro e/o Collaborazione 3
G Piccolo aiuto per php mail PHP 2
G aiuto per semplice menu onclick HTML e CSS 6
F aiuto per funzionamento sito responsive e form contatti HTML e CSS 29
A AIUTO per impostazione doppia cifra in tabella HTML e CSS 6
G Passaggio variabili tra pagine- Aiuto per maturità 2015 PHP 3
G Passaggio variabili tra pagine- Aiuto per maturità 2015 PHP 0
A Aiuto per Flash player Flash 0
J Aiuto per localstorage con jquery/js/json Javascript 4
M Cerco aiuto per una modifica di un codice Javascript 2
A Aiuto per ordine cronologico lista file all'interno di una cartella protetta PHP 2
G Aiuto! Studente cerca aiuto per un codice PHP PHP 1
S Aiuto per 2 codifiche java Java 4
G Aiuto per creare chat stile Facebook Javascript 7
Sevenjeak Aiuto e consigli su adattamento sito per dispositivi mobile HTML e CSS 2
S aiuto per script PHP/OOP PHP 2
J Aiuto per un sitema di upload per un progetto PHP 0
K Aiuto per sito Discussioni Varie 0
D Richiesta aiuto siti per indirizzamento forum HTML e CSS 1
M Aiuto per una libreria per generare grafici PHP 1
B Saluti ed aiuto per pagina web html HTML e CSS 11
I Aiuto per modificare gruppo buddypress WordPress 0

Discussioni simili