Grazie per le risposte inanzitutto.
Detto questo, per spiegare meglio il problema, mando in allegato una parte della suddetta funzione.
Quando in due punti della funzione leggete: "show_error("La categoria $dom[4] non esiste.\nVerrà utilizzata la categoria " . DEFAULT_CATEGORY,0,0,0);", al posto di mostrare semplicemente l'errore vorrei chiedere all'utente se creare la nuova categoria oppure no; nel primo caso quindi dovrei fare l'assegnamento "$cat_dif['category'] = $dom[4];", mentre nel secondo "$cat_dif['category'] = DEFAULT_CATEGORY;". Ovviamente poi devo poter continuare con l'esecuzione della funzione.
Spero di essermi spiegato meglio e di riuscire a trovare insieme una soluzione.
//-------------FUNCTION------------------------
$query = "SELECT * FROM categories WHERE name='$dom[4]'";
If($dom[4] != "" && $dom[8] != "") {
$res = mysql_query($query); //cerco la categoria nel DB
$num_rows = mysql_num_rows($res);
if($num_rows == 0) { //se la categoria non esiste
show_error("La categoria $dom[4] non esiste.\nVerrà utilizzata la categoria " . DEFAULT_CATEGORY,0,0,0);
$cat_dif['category'] = DEFAULT_CATEGORY;
}
else
$cat_dif['category'] = $dom[4];
$cat_dif['difficulty'] = $dom[8];
}
else if($dom[4] == "" && $dom[8] == "") {
$cat_dif['category'] = DEFAULT_CATEGORY;
$cat_dif['difficulty'] = '0';
}
else if(!ctype_digit($dom[4])) {
$res = mysql_query($query);
$num_rows = mysql_num_rows($res);
if($num_rows != 0)
$cat_dif['category'] = $dom[4];
else { //se la categoria non esiste
show_error("La categoria $dom[4] non esiste.\nVerrà utilizzata la categoria " . DEFAULT_CATEGORY,0,0,0);
$cat_dif['category'] = DEFAULT_CATEGORY;
}
$cat_dif['difficulty'] = '0';
}
else {
$cat_dif['category'] = DEFAULT_CATEGORY;
$cat_dif['difficulty'] = $dom[4];
}

Rispondi quotando