Oppure

Loading
10/12/09 11:55
giocala88
Salve ragazzi, ho un piccolo problema e volevo chiedervi un aiuto o un consiglio.
Ho in input 4 stringhe (nè di più, nè di meno, quindi il numero 4 è fisso) e le devo associare in questo modo

Siano A, B, C, D:

A - B
A - C
A - D
B - C
B - D
B - A
C - B
C - D
C - A
D - B
D - C
D - A

l'ordine in cui vengono visualizzate non è rilevante..
Come posso fare una cosa del genere in PHP?
Ringrazio anticipatamente.


aaa
10/12/09 12:22
Thejuster
più spiegare più dettagliatamente cosa vuoi fare?
come le voui assocare,
se si tratta di una semplice stringa o di un array?
mire.forumfree.it/ - Mire Engine
C# UI Designer
10/12/09 14:28
giocala88
si scusami, allora il problema è questo:
ho 4 squadre di calcio, ad esempio Juventus, Milan, Inter, Lecce, che le prelevo da un database in mysql, costruire le partite (andata e ritorno) con esse. Quindi

Milan - Inter
Inter - Milan
Lecce - Juve
Juve - Lecce
Inter - Juve
Juve - Inter
Milan - Lecce
Lecce - Milan
Inter - Lecce
Lecce - Inter

Query squadra mysql
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| id_squadra | int(5) | NO | UNI | NULL | auto_increment |
| nome_s | varchar(25) | NO | PRI | | |
| marca | varchar(25) | YES | | | |
| sponsor | varchar(25) | YES | | | |
| allenatore | varchar(25) | YES | | | |
| id_stadio | int(3) | YES | | 0 | |
+------------+-------------+------+-----+---------+----------------+



[php] Ho selezionato la query squadra
//Seleziona le squadre
$nomi_s = @mysql_query("SELECT nome_s FROM squadra";);
if(!$nomi_s)
echo "Errore!";

while ($result = mysql_fetch_array($nomi_s)) {
$nome_s = $result['nome_s'];
echo "<a href='info_s.php?id_squadra=$id_squadra&nome_s=$nome_s&nazione =$nazione'><i>$nome_s<i>" . " - " . "</td>\n";

}

Ora come posso applicare lo schema andata e ritorno per le partite?
Grazie ancora a tutti.




aaa
11/12/09 8:19
Thejuster
lo devi fare tu una per una.

almeno che appunto non fai proprio come hai detto tu

avendo un id delle squadra,
crei un contantore


$contatore = 0
$tot_numero_di_squadra = 10 tanto per fare un esempio


il contatore 0 rimane su zero fino alla fine dell'intero ciclo
mentre l'altro contatore continua ad incrementarsi
e tutti e 2 si riferiscono alla id_sqaudra
quindi se ho esempio

$contatore vs $tot_numero_di_squadra

avrò Milan vs Inter
nel cilco aumento di 1 $tot_numero_di_squadra ogni volta che mi serve una nuova sqaudra
quindi


$contatore vs $tot_numero_di_squadra
$tot_numero_di_squadra++

terminato le squadre e tutto il cilco aumento il contatore
così avro la 2° sqaudra

if($tot_numero_di_squadra == numero di squadre) {
$contatore++;
}

quindi andando a fare ora di nuovo il ciclo avrò

$contatore vs $tot_numero_di_squadra
$tot_numero_di_squadra++

Inter vs Milan ecc. ecc.

semplicemente i 2 contatori dovranno avere questo schema

1-1 (uguale quindi salta incrementando il contatore)
1-2
1-3
1-4
1-5
1-6
1-7
1-8
1-9
1-10 (squadre finite, incrementa il contatore principale)

2-1
2-2 (uguale quindi salta incrementando il contatore)
2-3
ecc. ecc.
Ultima modifica effettuata da Thejuster 11/12/09 8:26
mire.forumfree.it/ - Mire Engine
C# UI Designer
12/12/09 15:18
giocala88
Ciao Thejuster, innanzitutto ti ringrazio per il tuo contributo...tutto ok:k:.
Ora però ho un altro problema, in riferimento a quanto postato prima:
le 30 partite me le mostra seguendo il tuo metodo dei due cicli for ecc....
Questo è una parte del risultato:

Juve - Roma
Juve - Milan
Juve - Inter
Juve - Napoli
Juve - Udinese
Roma - Juve
Roma - Milan
ecc...

Io però dovrei organizzare delle partite e quindi la stessa squadre non può giocare lo stesso giorno (es. Juve - Roma NON può giocare con Roma - Juve o Roma - Milan ecc...), ma a questo problema l'ho risolto assegnando staticamente (visto che il numero di squadre è 6) gli incontri.
Ora il problema è nella visualizzazione, in particolare

[codice PHP]

....

<?php

//Cicla gli id_squadra query squadra per craere le giornate
for($cont=1; $cont<=6; $cont++) {
for($tot=1;$tot <=6 ; $tot++) {
if($cont != $tot)
//Condizione affinchè non vengano visualizzate due squadre uguali contro
if($cont != $tot) {
//Seleziona la query squadra
$squadre_cont = @mysql_query("SELECT id_squadra, nome_s FROM squadra WHERE id_squadra
IN ($cont)";);
$squadre_tot = @mysql_query("SELECT id_squadra, nome_s FROM squadra WHERE id_squadra
IN ($tot)";);
//Condizione per eventuali errori
if(!$squadre_cont and
!$squadre_tot) {
echo "Errore nel selezionare i dati query squadra";
}
//Cicla gli elementi e visualizza le sfide
while ($result_cont = mysql_fetch_array($squadre_cont) and
$result_tot = mysql_fetch_array($squadre_tot)) {
$id_squadra_cont = $result_cont['id_squadra'];
$id_squadra_tot = $result_tot['id_squadra'];
$nome_cont = $result_cont['nome_s'];
$nome_tot = $result_tot['nome_s'];
//Link che andrà a visualizzare i campi delle squadre e le suddividerà in giornate

    //1^giornata
if($id_squadra_cont == 1 and
$id_squadra_tot == 2) {
echo "<a href='info_s.php?id_squadra=$id_squadra_cont&nome_s=$nome_cont'>
<b>$nome_cont</b>" . " - " .
"<a href='info_s.php?id_squadra=$id_squadra_tot&nome_s=$nome_tot'>
<b>$nome_tot</b>" . "</td>\n" . "<ul/><ul/><ul/>" ;
}
if($id_squadra_cont == 3 and
$id_squadra_tot == 4) {
echo "<a href='info_s.php?id_squadra=$id_squadra_cont&nome_s=$nome_cont'>
<b>$nome_cont</b>" . " - " .
"<a href='info_s.php?id_squadra=$id_squadra_tot&nome_s=$nome_tot'>
<b>$nome_tot</b>" . "</td>\n" . "<ul/><ul/><ul/>" ;
}
if($id_squadra_cont == 5 and
$id_squadra_tot == 6) {
echo "<a href='info_s.php?id_squadra=$id_squadra_cont&nome_s=$nome_cont'>
<b>$nome_cont</b>" . " - " .
"<a href='info_s.php?id_squadra=$id_squadra_tot&nome_s=$nome_tot'>
<b>$nome_tot</b>" . "</td>\n" . "<ul/><ul/><ul/>" ;
}

...

Questo pezzo di codice mi da come risultato
Juve - Roma
Milan - Inter
Napoli - Udinese (tutto OK)

se io però aggiungo, conseguente a quanto scritto sopra

codice PHP

...
//2^giornata
if($id_squadra_cont == 1 and
$id_squadra_tot == 3) {
echo "<a href='info_s.php?id_squadra=$id_squadra_cont&nome_s=$nome_cont'>
<b>$nome_cont</b>" . " - " .
"<a href='info_s.php?id_squadra=$id_squadra_tot&nome_s=$nome_tot'>
<b>$nome_tot</b>" . "</td>\n" . "<ul/><ul/><ul/>" ;
}
if($id_squadra_cont == 2 and
$id_squadra_tot == 5) {
echo "<a href='info_s.php?id_squadra=$id_squadra_cont&nome_s=$nome_cont'>
<b>$nome_cont</b>" . " - " .
"<a href='info_s.php?id_squadra=$id_squadra_tot&nome_s=$nome_tot'>
<b>$nome_tot</b>" . "</td>\n" . "<ul/><ul/><ul/>" ;
}
if($id_squadra_cont == 4 and
$id_squadra_tot == 6) {
echo "<a href='info_s.php?id_squadra=$id_squadra_cont&nome_s=$nome_cont'>
<b>$nome_cont</b>" . " - " .
"<a href='info_s.php?id_squadra=$id_squadra_tot&nome_s=$nome_tot'>
<b>$nome_tot</b>" . "</td>\n" . "<ul/><ul/><ul/>" ;
}
...

Mi visualizza una sbagliata e non chiara suddivisione delle giornate

Juventus - Roma
Juventus - Milan
Roma - Napoli
Milan - Inter
Inter - Udinese
Napoli - Udinese

Come posso risolvere questo problema???8-|...Grazie anticipatamente
aaa