ok grazie
ok grazie
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
Allor ho dato un occhio al codice e premetto che nn sapendo come hai stipato i dati ci sono degli errori di concetto nel codice che hai postato
[/QUOTE]Codice PHP:function Autormessage($userid , $staffid, $adminid)
{
if($userid == 1){
$estrazione_user = mysql_query( "SELECT * FROM user WHERE id = ".$userid." AND stato = 1 LIMIT 1");
// aggiunto da Virus
// usiamo una struttura dati per memorizzare le mail
$mails = array();
if($estrazione_user){
while( $curr = mysql_fetch_array($estrazione_user) )
/*
Questo non va bene perche' il comando return termina in toto l'esecuzione della
funzione per cui nel caso tu entrassi esci al primo ciclo
{return $curr['email'];}
Facciamolo cosi'
*/
{array_push($mails , $curr][emai]l); }
}
}.......
/*
Il resto del codica ha lo stesso errore e lo correggi come ho fatto sopra.
Alla fine dei blocchi o nel singolo blocco if/else metti return $mails;
cosi' da ritornare al chiamante l'array popolato con gli indirizza che ti servono
*/
}
$autoreMessTicket = Autormessage($userid , $staffid, $adminid);
// scorriamo le email
foreach( $autoreMessTicket as $n=>$v)
echo "$n = $v
";
grazie virus mi vede questo come erroree questo e l erroreCodice PHP:array_push($mails,$curr][emai] l);
codice:Parse error: syntax error, unexpected ']' in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\supp\include\funzion_ticket.php on line 105
ti spiego come dovvrebbe funzionzionare lo script nella tabella dove c'e il messaggio , ci sono 3 campi uno e l id del user , uno e l i id dello staff e l altro e l id del amministratore ,tramite questi id dovrebbe estrarre le email dalle varie tabbelle user staff admin
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
Si vero ho fatto un errrore scrivendo il codice
l'ho scritto di getto
se fai
array_push($mails,$curr[emai] );
vedrai che l'istruzione funziona
mi da ugualmente erroreCodice PHP:array_push($mails,$curr]['emai']);
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
Scusa ma non vedi che l'istruzione e' sbagliata sotto ti ho scritto la versione corretta.
$curr e' un array associativo con le coppie chiave valore e per accedere ai valori
fai $curr[chiave] e accedi al valore
$curr][mai] e' ovviamente sintaticcamente errata
$curr[email] e' una istruzione sintatticamente corretta
Il codiche che ti ho scritto e' scritto di getto in velocita' e puo' contenere errori.
Cmq
se scrivi l'istruzione come l'ho scritta nel post preceente vedria che funziona.
ora mi vede questo errore :
codice:Warning: Invalid argument supplied for foreach() in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\supp\include\funzion_ticket.php on line 121
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
Ovviamente devi assicurarti che il risultato della funzione sia un array.
Devi correggere tutti i while della funzione per popolare correttamente gli array e poi facciamo questo
Codice PHP:
// scorriamo le email
if(is_array($autoreMessTicket))
foreach( $autoreMessTicket as $n=>$v)
echo "$n = $v
";
else
{/*gestisci errore*/}
ma la $n e la $v dove sono dichiarate?
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
mi da errore :Codice PHP:
function Autormessage($userid , $staffid, $adminid)
{
if($userid == 1)
{
$estrazione_user = mysql_query( "SELECT * FROM user WHERE id = ".$userid." AND stato = 1 LIMIT 1");
$mails = array();
if($estrazione_user){
while($curr = mysql_fetch_array($estrazione_user))
{
array_push($mails,$curr[email]);
}
}
}
}
$autoreMessTicket = Autormessage($userid , $staffid, $adminid);
// scorriamo le email
if(is_array($autoreMessTicket))
foreach( $autoreMessTicket as $n=>$v)
echo "$n = $v
";
else
{echo "errore";}
Non è tanto importante saper fare,quanto ad avere voglia d imparare .