Scusate per il titolo ma non sapevo come chiamarlo per rendere l'idea.
Vendendo al punto: un amico mi ha aiutato a creare il seguente script (vista la sua complessitą io non so dire se sia corretto o meno, io so solo che per ora funziona
), questo script collegandosi al DB verifica i valori di 20 campi divisi su due colonne (id_membro1, id_membro2.... id_membro10 e confirm_membro1, confirm_membro2... confirm_membro10) e nel caso in cui i campi sono verificati mostra un tick verde e il valore del campo id_membro1-10, altrimenti mostra una x rossa. Fin qui tutto ok, il problema giunge quando invece del valore del campo id_membro1-10 voglio mostrare il nome associato a quel valore preso da un'altra tabella.
L'altra tabella si chiama membri ed č strutturata in id | id_user | nome etc etc, io dovrei associare il valore di id_membro1-10 al campo id_user cosģ da mostrare il nome del membro invece che il suo id.
Idee?
Posto il codice:
Codice PHP:
<? require('db_config.php');
echo "<pre>";
for($k=1;$k<=10;$k++){
$n[]="id_membro".$k;
$c[]="confirm_membro".$k;
}
$nome=implode(", ",$n);
$conferma=implode(", ",$c);
$query="SELECT id, $nome, $conferma FROM creazione_clan WHERE id_capoclan = 6";
var_dump($query);
$ris=mysql_query($query) or die (mysql_error());
var_dump(mysql_num_rows($ris));
/*se ti da 0 c'č qualcosa che non va nella query, cieč non trova record quindi l'errore viene prima, se >0 allora metti gli altri var_dump*/
if(mysql_num_rows($ris) > 0){ //qui metti il numero di record trovati (se 0 non trovati)
while($riga =mysql_fetch_array($ris)){ //qui prova a mettere array
var_dump($riga);//se risulta posta il risultato di un record
$id=$riga['id'];
for($k=1;$k<=10;$k++){
$nom="id_membro".$k;
$con="confirm_membro".$k;
$la[]=$riga[$nom]."*".$riga[$con];
//se var_dump($riga) č ok verifica $la
var_dump($la);
}//fine for
$letto[$id]=implode("|",$la);
}//fine while
}else{
echo "errore";
}
var_dump($letto);//questo per vedere come viene l'array
$letto foreach($letto as $id => $val){//es pinco*1|pallo*0 ecc.... $membro=explode("|",$val);//$membro[0]=pinco*1, $membro[1]=pallo*0 ecc....
foreach($membro as $c => $val_1){
$dati=explode("*",$val_1); //1° giro:$dati[0]=pinco, $dati[1]=1 - 2° giro:$dati[0]=pallo, $dati[1]=0 ecc...
if($dati[0] == 0){
//poi qui se vuoi puoi settare il flag che secondo me deve essere riferito a quel particolare id $val_membro[$id]=0;
echo "$id: <img src=\"X_rossa.jpg\"><br />";
}elseif($dati[0] > 0){
$val_membro[$id]=1;
echo "$id: ".$dati[0]."<img src=\"X_verde.jpg\"><br />";
}
if($dati[1] !=1){
$val_confirm[$id]=0;
echo "$id: <img src=\"X_rossa.jpg\"><br />";
}elseif($dati[1] == 1) {
$val_confirm[$id]=1;
echo "$id: ".$dati[0]."<img src=\"X_verde.jpg\"><br />";
}
}
}
echo "</pre>";
?>
Nel codice sono sparsi qua e lą dei var_dump() per verificare il funzionamento dello script!
Spero di essere stato chiaro, grazie anticipatamente