Salve a tutti, ho la necessità di effettuare più query contemporaneamente sulla stessa tabella.
Questo è il codice dello script che sto relaizzando:
codice:
<?php
include ("config.php");
$player = $_GET['p'];
$connect = mysql_connect($host, $user , $pass);
mysql_select_db($database) or die(mysql_error());
$sql = "SELECT talents1, talents2 FROM characters WHERE name LIKE '$player'";
$result = mysql_query($sql) or die(mysql_error());
$out = mysql_fetch_row($result);
$talents1 = $out['0'];
$talents2 = $out['1'];
$t1 = (explode(",",$talents1));
$sql0 = "SELECT pos FROM talents WHERE talentid = $t1[0]";
$result0 = mysql_query($sql0) or die(mysql_error());
$pos0 = mysql_fetch_row($result0);
$sql0 = "SELECT pos FROM talents WHERE talentid = $t1[2]";
$result0 = mysql_query($sql0) or die(mysql_error());
$pos1 = mysql_fetch_row($result0);
$sql0 = "SELECT pos FROM talents WHERE talentid = $t1[4]";
$result0 = mysql_query($sql0) or die(mysql_error());
$pos2 = mysql_fetch_row($result0);
Come potete benissimo vedere ci sono 3 query di seguito (sql0)
Funziona perfettamente, ma siccome lo script che sto relizzando e abbastanza complesso e richiede davvero molti dati dal database, in questo modo dovrei effettuare più di 80 query consecutive. Quindi vorrei effettuarne una sola e specificare le varie clausole.
Queste query sono pressochè identiche, perchè controllano lo stesso campo della stessa tabella, solamente con una condizione diversa.
Io dovrei riuscire ad estrarre, sotto forma di array tutti i dati nella colonna 'pos' dove 'talentid' corrisponde a '$t1[0]' oppure '$t1[2]' oppure '$t1[4]' etc..
Ho provato ad utilizzare OR nella query, però quando cerco di stampare su schermo gli array, mi dice che il secondo e terzo indice dell'array non è definito, non so perchè ma mi prende solo e sempre la prima clausola e mi restituisce solo quella.
Premetto che la parte iniziale dello script funziona e le variabili sono tutte definite, e il database è popolato correttamente per rendere vere le varie clausole.
Un grazie in anticipo a chi mi può aiutare.