Problema con select e mini avatar nei messaggi
Problema con select e mini avatar nei messaggi postato il 14/01/2018 19:57:47 nel forum programmazione, open source e hosting
Buonasera a tutti.Stasera ho provato ad inserire il mini avatar nei messaggi. Ci sono riuscita ma la funzione mi da un problema:Il mini avatar appare accanto al mittente ma è lo stesso per tutti.Il codice è questo
<?php$avatar = gdrcd_query("SELECT personaggio.url_img_chat , personaggio.nome , messaggi.mittente FROM personaggio LEFT JOIN messaggi ON personaggio.url_img_chat=personaggio.nome ");?>
come posso risolvere?
Pagine → 1
14/02/2018 02:58:47 e modificato da nyhr il 14/02/2018 02:59:55
fiammettainlove ha scritto: Buonasera a tutti.Stasera ho provato ad inserire il mini avatar nei messaggi. Ci sono riuscita ma la funzione mi da un problema:Il mini avatar appare accanto al mittente ma è lo stesso per tutti.Il codice è questo
<?php$avatar = gdrcd_query("SELECT personaggio.url_img_chat , personaggio.nome , messaggi.mittente FROM personaggio LEFT JOIN messaggi ON personaggio.url_img_chat=personaggio.nome ");?>
come posso risolvere?Prova in questo modo , io ho risolto cosi:<?php$avatar = gdrcd_query("SELECT personaggio.url_img_chat , personaggio.nome , messaggi.mittente, messaggi.id, messaggi.destinatario FROM personaggio LEFT JOIN messaggi ON personaggio.nome=messaggi.mittente WHERE messaggi.id = '".gdrcd_filter('num',$_REQUEST['id_messaggio'])."'");?>
e per stampare l'immagine con collegamento diretto alla scheda così<a HREF="../popup.php?page=s1&pg=<?php echo ($record['mittente']);?>", target="_blank"><img src="<?php echo gdrcd_filter('out',$avatar['url_img_chat']);?>" width="100" height="100" border="1" title="SCHEDA PERSONAGGIO"/></a>
popup.php?page= poi lo sostituisci con il link per la scheda che utilizzi di solito
03/10/2022 13:35:58
sallys ha scritto: Scusate, sono di nuovo io che rompo le scatole...Stavo cercando di mettere anch'io l'avatar di chat all'interno dei messaggi (sto usando i messaggi formato whatsapp), ma purtroppo con entrambi i metodi qui postati non funziona...si vede lo stesso avatar per tutti quanti.Io purtroppo non me ne intendo proprio di query e quindi non ne vengo a capo 😥
Consiglierei di lavorare su un problema per volta :D Puoi descrivere i passaggi che hai provato a fare e riportare gli spezzoni di codice che hai provato a modificare (e come) ? Così intanto vediamo di capire dov'è l'errore
03/10/2022 16:39:07
sallys ha scritto: Hai ragione, scusami 😅 anche perchè in realtà sto notando più di un problema con gli sms in formato whatsapp...magari aprirò un post solo dedicato a quello.
Probabilmente conviene, perché sicuramente dovrai risolvere diverse altre cose per arrivare al risultato, quindi direi di esaurire questo specifico topic sulla questione del mini avatar 👍Riguardo al miniavatar ho provato esattamente i due suggerimenti che sono stati posti qui sopra e poi ho provato anche con questo:
<?php$query = "SELECT personaggio.url_img_chat, nome FROM personaggio WHERE nome = '".gdrcd_filter('in',$_SESSION['login'])."'";
Le query sql per "leggere" dati dal database sono molto espressive e se le leggi con calma e con un pizzico di conoscenza in inglese riesci a capire facilmente costa sta succedendo qui:SELECT personaggio.url_img_chat, nome (Cerca il contenuto delle colonne url_img_chat e nome)FROM personaggio (dalla tabella chiamata "personaggio")WHERE nome = ... (dove la colonna "nome" ha il valore posto dopo il simbolo "=")Il problema è che nel tuo caso stai chiedendo alla query di prendere l'avatar di chat di $_SESSION['login'] che contiene il nome di chi sta visualizzando la pagina e non del mittente del messaggio.Adesso presumo tu stia lavorando sul file in /pages/messages/read.inc.php,Quindi per visualizzare l'avatar di chat del mittente nella pagina ti suggerirei di metterti qui su riga 27https://github.com/GDRCD/GDRCD/blob/master/pages/messages/read.inc.php#L27 ↗e provare a comporre la stessa query ma indicando questa volta il "mittente" invece del $_SESSION['login']:[...] // Suddivido la data di invio list($data_spedito, $ora_spedito) = explode(' ', $record['spedito']); $mittente = gdrcd_filter('in', $record['mittente']); $personaggio = gdrcd_query("SELECT url_img_chat FROM personaggio WHERE nome = '$mittente'); ?> <div class="read_message_box"> [...]
A questo punto dovremmo aver incamerato il dato che ci serve nella variabile $personaggio.Possiamo per esempio provare a visualizzarlo vicino al nome del mittente, qui in riga 38https://github.com/GDRCD/GDRCD/blob/master/pages/messages/read.inc.php#L38 ↗<div class="infos"> <span class="title"><?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['sender']).": "; ?></span> <div class="miniavvo_scheda"> <a href="main.php?page=scheda&pg=<?php echo gdrcd_filter('out', $record['mittente']); ?>"> <img class="miniavvo_scheda_img" src="<? echo !empty($personaggio['url_img_chat'])? $personaggio['url_img_chat'] : '../themes/advanced/imgs/img_chat_standard.png' ?>"> </a> </div> <span class="body"><?php echo gdrcd_filter('out', $record['mittente']); ?></span> </div>
Se tutto in ordine, dovresti poter vedere il mini avatar del mittente aprendo un messaggio, da quel punto in poi giocando con l'html puoi provare a visualizzarlo nel posto che preferisci
10/10/2022 12:03:18
Leggero off topic...Vi spiace se faccio un plauso pubblico a Blancks per grandissimo aiuto che da sul forum? :) Vedere che tutto il team GDRCD offre gratuittamente così tanto aiuto ai neofiti del pacchetto GDRCD è davvero bello. Grazie a nome di tutti! :)
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!