[PHP] piccola modifica a script (non mio...)

theseo

Utente Attivo
22 Feb 2017
88
4
8
57
ciao a tutti, ho questo script php-->

$where = "";

if (isset($_REQUEST["argomento_1"]) and $_REQUEST["argomento_1"])
$where .= "AND (difficolta LIKE '".mysql_real_escape_string($_REQUEST["argomento_1"])."' OR difficolta2 LIKE '".mysql_real_escape_string($_REQUEST["argomento_1"])."') \n";

if (isset($_REQUEST["argomento_2"]) and $_REQUEST["argomento_2"])
$where .= "AND (difficolta LIKE '".mysql_real_escape_string($_REQUEST["argomento_1"])."' OR difficolta2 LIKE '".mysql_real_escape_string($_REQUEST["argomento_1"])."') \n";

if (isset($_REQUEST["difficolta2"]) and $_REQUEST["difficolta2"])
{
foreach ($_REQUEST["difficolta2"] as $difficolta2_t)
$where .= "AND (difficolta2 LIKE '%".mysql_real_escape_string($difficolta2_t)."%') \n";
}

if (isset($_REQUEST["numdomande"]) and $_REQUEST["numdomande"])
$where .= "AND numdomande = '".mysql_real_escape_string($_REQUEST["numdomande"])."' \n";

if (isset($_REQUEST["numoperazioni"]) and $_REQUEST["numoperazioni"])
$where .= "AND numoperazioni = '".mysql_real_escape_string($_REQUEST["numoperazioni"])."' \n";

if (isset($_REQUEST["classe"]) and $_REQUEST["classe"])
{
$classe_arr = str_split($_REQUEST["classe"]);
$where .= "AND classe IN (".implode(",", $classe_arr).") \n";
}

$query = "
SELECT COUNT(id)
FROM tabella
WHERE 1
$where
";
$result = doQuery($query);
list($cnt) = mysql_fetch_array($result);

che nella variabile finale $cnt restituisce il NUMERO dei record scelti dall'utente selezionando (tramite dei checkbox) le variabili:
argomento_1
argomento_2
difficolta2
numdomande
numoperazioni
classe

io invece avrei bisogno che la query mi elencasse il tipo di variabile che è stata scelta, ossia: qual era l'argomento_1 scelto? quale l'argomento_? qual era la difficolta2? ecc ecc
è uno script che non ho fatto io e non so proprio come farlo... mi potete aiutare x favore?
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
Ciao Theseo.
Non mi è molto chiaro quello che vuoi ottenere.
Lo script che hai postato fa una select nel database, e nella variabile $cnt inserisce il numero di record trovati nel database.

Tu non vuoi visualizzare il numero, ma l'elenco dei record, con tutti i campi?
 

theseo

Utente Attivo
22 Feb 2017
88
4
8
57
ah ciao Livellacri non volevo di nuovo disturbare te... mannaggia
si lo script fa una select in base a delle scelte dell'utente
l'utente sceglie-->
argomento_1
argomento_2
difficolta2
numdomande
numoperazioni
classe

io vorrei sapere qual era l'argomento_1 scelto? quale l'argomento_2? qual era la difficolta2? ecc ecc
dovrebbe essere possibile no? sono variabili che ci sono ed invece di essere contate vorrei che fossero messe in un array che poi io stampo con un bel print
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
non capisco dove è il problema.
semplicemente argomento_1 è $_REQUEST["argomento_1"], argomento_2 è $_REQUEST["argomento_2"], ecc...

se vuoi mettere tutto in un array:
PHP:
$userInput = array();
$r = array("argomento_1", "argomento_2", "difficolta2", "numdomande", "numoperazioni", "classe");
foreach ($r AS $thisR) {
    if (isset($_REQUEST[$thisR]) AND $_REQUEST[$thisR]) {
        $userInput[$thisR] = $_REQUEST[$thisR];
    }
}
per printare l'array:
PHP:
print_r($userInput);
 

theseo

Utente Attivo
22 Feb 2017
88
4
8
57
(grazie infinite sempre x i tuoi aiuti)
te lo spiego con un esempio
se io in quella pagina faccio:
<?=$_REQUEST["argomento_1"]?><?=$_REQUEST["argomento_2"]?> non mi appare nulla
se faccio il print_r che mi ha suggerito tu appare:
Array ( [argomento_1] => compravendita [difficolta2] => Array ( [0] => netto [1] => lordo [2] => tara ) )
io invece vorrei che apparisse: compravendita netto lordo tara
 

livellacri

Utente Attivo
18 Ago 2016
108
13
18
ops, mi ero dimenticato che l'array è multidimensionale :(
prova così:
PHP:
$output = "";
foreach ($userInput as $thisUserInput) {
    if (is_array($thisUserInput))
        $output .= implode(" ", $thisUserInput);
    else
        $output .= " ".$thisUserInput." ";
}
echo trim($output);