Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    stesso dato stampato più volte

    ciao,

    ho creato un pannello di controllo per inviare agli iscritti dei comunicati, in due modi, o invio la comunicazione ad un singolo o a tutti.

    Vorrei che l'iscritto possa leggere solo il comunicato riferito a lui e quello visibile a tutti, ma non i comunicati personali degli altri iscritti.

    questa è la query che si trova nella pagina dell'iscritto, dove
    comunicazioni.id_tecniche = $_SESSION[idtecniche] corrisponde alla visualizzazione delle comunicazioni riservate e
    comunicazioni.id_tecniche = 0 corrisponde alla visualizzazione delle comunicazioni visibili a tutti:

    Codice PHP:
    <? 
        $query
    ="SELECT comunicazioni.*, a_tecniche.*, DATE_FORMAT(comunicazioni.data_ins_comunicazione, '%d-%m-%Y')AS data_ins_comunicazione 
                FROM comunicazioni, a_tecniche 
                WHERE comunicazioni.id_tecniche = 
    $_SESSION[idtecniche] AND comunicazioni.id_tecniche = a_tecniche.id_tecniche OR comunicazioni.id_tecniche = 0  ORDER BY comunicazioni.data_ins_comunicazione DESC, comunicazioni.ora_ins_comunicazione DESC";
        
    $ris_query=mysql_query($query$conn); 
    while(
    $row=mysql_fetch_array($ris_query)){?>
    le comunicazioni riservate al singolo iscritto arrivano correttamente, il mio problema è sulle comunicazioni visibili a tutti, invece di visualizzarmi il messaggio così:

    ---------------
    messaggio per tutte le tecniche
    CARLA alle ore 10:30 ci vediamo in ufficio
    ---------------

    me lo visualizza così:

    ---------------
    messaggio per tutte le tecniche
    CARLA alle ore 10:30 ci vediamo in ufficio
    ---------------
    messaggio per tutte le tecniche
    FRANCA alle ore 10:30 ci vediamo in ufficio
    ---------------
    messaggio per tutte le tecniche
    LUISA alle ore 10:30 ci vediamo in ufficio
    ---------------
    messaggio per tutte le tecniche
    ALESSIA alle ore 10:30 ci vediamo in ufficio
    ---------------

  2. #2
    non e' che si capisca poi granche' (che sono le tecniche?) ma hai un AND/OR nel where che potrebbe necessitare di una parentesi per dare le corrette priorita'.

    codice:
    WHERE comunicazioni.id_tecniche = $_SESSION[idtecniche] 
    AND 
    (comunicazioni.id_tecniche = a_tecniche.id_tecniche OR comunicazioni.id_tecniche = 0  )
    ma e' in assoluto un tentativo perche', ripeto, non si capisce molto chi e' tecniche e cosa lo contraddistingue. In pratica l'alternativa OR deve essere tra parentesi oppure diventerebbe:

    codice:
    WHERE (comunicazioni.id_tecniche = $_SESSION[idtecniche] AND comunicazioni.id_tecniche = a_tecniche.id_tecniche)
    OR comunicazioni.id_tecniche = 0
    con un significato ben differente.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.