- Home
- Categorie
- Coding e Sistemistica
- PHP
- Trovare specifici elementi in un ciclo for
-
Scusami ho detto una cavolata, il dati =array() era giusto dov'era. Ho letto male...
Prova con questo codice:
[php]
<?php
$voti = file("MCC02.txt");
$ruolo3=array();
foreach($voti AS $riga) {
// Spezzi la riga in un array
$prova5=explode('|',$riga);// Non so a cosa ti servano, comunque nomini delle variabili per l'array list($codicegiocatore,,$nome,$squadra,,$ruolo,,$vototot,,,$voto,$goal,$goalsubiti,,,$assist) = $prova5; $prezzo=$prova5[27]; // Se il giocatore ha ruolo 3, lo aggiungi nell'altro array if($ruolo==3) $ruolo3[] = $prova5;
}
printr($ruolo3);
?>
[/php]Ho cercato di ridurtelo all'osso e di sistemarlo in modo più pulito... Il problema del codice di prima è che facevi il controllo con $ruolo, ancora prima che definessi $ruolo!
-
Grazie.. questo codice sembra funzionare e mi stampa a schermo questo
Array ( [0] => Array ( [0] => 101 [1] => 2 [2] => "ABBIATI Christian" [3] => "MILAN" [4] => 1 [5] => 0 [6] => 0 [7] => 0.0 [8] => 0 [9] => 0 [10] => 0.0 [11] => 0 [12] => 0 [13] => 0 [14] => 0 [15] => 0 [16] => 0 [17] => 0 [18] => 0 [19] => 0 [20] => 0 [21] => 0 [22] => 0 [23] => 0 [24] => 0 [25] => 0 [26] => 0 [27] => 12 ) [1] => Array ( [0] => 102 [1] => 2 [2] => "AMELIA Marco" [3] => "GENOA" [4] => 1 [5].....
Però poi come faccio selezionare gli elementi che voglio?
-
Si, il printr alla fine mostra i contenuti dell'array.
Se aggiungi un tag html <pre> prima ed un </pre> dopo lo script, lo vedrai ben formattato.
Quali sarebbero gli elementi che vuoi? Quell'array che ti mostra èl'array $ruolo3, che contiene tutti i giocatori di ruolo 3.
-
Ok ho risolto quel problema, ma ora ho fatto un sistema di selezione con menu, che permette di far uscire per esempio i portieri di una determinata squadra, ecco il codice:
[PHP]<?php
$ruolo2=$_POST["Ruolo"];
$squadra2=$_POST["Squadra"];
$voti = file("MCC02.txt");
$ruolo3=array();
foreach($voti AS $riga) {
// Spezzi la riga in un array
$prova5=explode('|',$riga);// Non so a cosa ti servano, comunque nomini delle variabili per l'array list($codicegiocatore,,$nome,$squadra,,$ruolo,,$vototot,,,$voto,$goal,$goalsubiti,,,$assist) = $prova5; $prezzo=$prova5[27]; // Se il giocatore ha ruolo 3, lo aggiungi nell'altro array $nulla='nulla'; if($squadra2==$nulla){ if($ruolo==$ruolo2) $ruolo3[]=$prova5; } if($squadra2!=$nulla){if($squadra==$squadra2 and $ruolo==$ruolo2) $ruolo3[]=$prova5;}
}
$num_cal=count($ruolo3);
echo"$num_cal";
for($num1=0;$num1 < $num_cal;$num1++){
$nome=$ruolo3[$num1][2];
$nome=str_replace('"','',$nome);
$squadra=$ruolo3[$num1][3];
$squadra=str_replace('"','',$squadra);
echo"<tr>";
echo"<td>$nome</td>";
echo"<td>$squadra</td>";
echo"</tr>";} ?> [/PHP]
Se non seleziono la squadra e quindi $squadra2=='nulla' mi esce la lista invece se è diverso e quindi seleziono una squadra non mi appra nessun giocatore, come mai??
P.S.:grazie ancora per l'aiuto..
-
Potresti ottimizzare le cose raggruppando le condizioni:
[php]
// Se il giocatore ha ruolo 3, lo aggiungi nell'altro array
if( ($squadra2=='nulla' OR $squadra2==$squadra) AND $ruolo==$ruolo2)
$ruolo3[]=$prova5;
[/php]Vedi se così risolve, non ho controllato se ci fossero altri errori logici nel tuo codice. Altrimenti, prova a fare un bel:
[php]echo "Hai scritto $squadra2 mentre questo giocatore è della squadra $squadra";[/php]
E mettilo subito dopo il list() all'interno del ciclo! Così puoi "debuggare" un pò la situazione!
-
Continua a non funzionare, purtroppo.. Ora sto provando ad inserire tutti i giocatori in un database mysql, in modo da fare una ricerca da lì
lo sto facendo con un ciclio for però non va la query all'interno del ciclo mentre fuori funziona, ecco:[PHP]<?php
$connessione=mysql_connect("localhost","root","");
$selezione=mysql_select_db("prova",$connessione);
if($selezione==1){echo"sele ok";}
$voti = file("MCC02.txt");
$num_voti = count($voti);
echo"$num_voti";
for($num1 = 0 ; $num1 < $num_voti ; $num1++){
$prova=($voti[$num1]);
$prova1=$prova;
$dati=array();
$dati[]= $prova1;
$prova4=implode($dati);
$prova5=explode('|',$prova4);
$prova5=str_replace('"','',$prova5);
$codicegiocatore= $prova5[0];
$nome=$prova5[2];
$squadra=$prova5[3];
$ruolo=$prova[5];
$vototot=$prova5[7];
$voto=$prova5[10];
$goal=$prova5[11];
$assist=$prova5[15];
$goalsubiti=$prova5[12];
$prezzo=$prova5[27];}
$query=mysql_query("INSERT INTO giocatori (Nome,Squadra,Ruolo) VALUES('$nome','$squadra','$ruolo')");
?>
[/PHP]
-
Ho risolto questo problema, ma ora non so come fare delle ricerche all'interno della tabella, come si fa?
-
Devi usare le SELECT
-
ok, come posso dire di creare una tabella mysql che deve massimo 23 record?
-
LIMIT
( guarda nel sito officiale di mysql )
-
Ok grazie mille, ora devo cercare di creare un menù da dove poter comprare dei giocatori, come faccio a trasformare ciò che c'è scritto in una cella di una tabella html in uan variabile utilizzabile in php?