Ho questo codice che è una parte di codice per una chat.
Codice PHP:
//Create the XML response.
$xml = '<?xml version="1.0" ?><root>';
//Check to ensure the user is in a chat room.
if(!isset($_GET['chat'])) {
$xml .='Your are not currently in a chat session. [url=""]Enter a chat session here[/url]';
$xml .= '<message id="0">';
$xml .= '<text>Your are not currently in a chat session. <a href="">Enter a chat session here</a></text>';
$xml .= '</message>';
} else {
$last = (isset($_GET['last']) && $_GET['last'] != '') ? $_GET['last'] : 0;
$sql = "SELECT message_id, user_name, message, date_format(post_time, '%H:%i') as post_time, TIPO" .
" FROM message WHERE chat_id = " . db_input($_GET['chat']) . " AND message_id > " . $last;
$message_query = db_query($sql);
//Loop through each message and create an XML message node for each.
while($message_array = db_fetch_array($message_query)) {
$xml .= '<message id="' . $message_array['message_id'] . '">';
$xml .= '<text>' . htmlspecialchars($message_array['message']) . '</text>';
$xml .= '</message>';
}
}
queste le funzioni prese da file esterno
Codice PHP:
function db_query($query, $link = 'db_link') {
global $connessione;
$result = mysql_query($query, $connessione) or db_error($query, mysql_errno(), mysql_error());
return $result;
}
//Get a row from the database query
function db_fetch_array($db_query) {
return mysql_fetch_array($db_query, MYSQL_ASSOC);
}
Se lo lascio così, manda alla pagina di visualizzazione i record del campo "message" ordinati per "message_id" e fin qui va bene, ma volevo mandare alla pagina di visualizzazione il testo già formattato con colori, grandezze, ecc diversa a seconda del tipo di messaggio, quindi ho provato a modificare così (posto una delle tante prove fatte tanto per farvi capire cosa vorrei fare):
Codice PHP:
............
else {
$last = (isset($_GET['last']) && $_GET['last'] != '') ? $_GET['last'] : 0;
$sql = "SELECT message_id, user_name, message, date_format(post_time, '%H:%i') as post_time, TIPO" .
" FROM message WHERE chat_id = " . db_input($_GET['chat']) . " AND message_id > " . $last;
$message_query = db_query($sql);
$tipo=$message_query['TIPO'];
$msg='';
switch ($tipo) {
case"1":
$msg = '<font color="#FFFFFF">'.$message_query['message'].'</font>';
break;
case"2":
$msg = '<font color="#000000">'.$message_query['message'].'</font>';
break;
}
//Loop through each message and create an XML message node for each.
while($message_array = db_fetch_array($message_query)) {
$xml .= '<message id="' . $message_array['message_id'] . '">';
$xml .= '<text>' . $msg . '</text>';
$xml .= '</message>';
}
}
ma mi rendo conto di sbagliare qualcosa sicuramente ci sono di mezzo gli array, ma non riesco proprio a modificarlo qualcuno mi aiuta?