mostrare solo una volta il risulato doppio

Discussione in 'Database' iniziata da TeoDigital, 17 Luglio 2017.

  1. TeoDigital

    TeoDigital Nuovo Utente

    Registrato:
    17 Luglio 2017
    Messaggi:
    11
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Ciao a tutti.
    Con la seguente query chiamo dei risultati dal database

    SELECT markers.id, markers.addresssei, comments.idcomment, comments.comment FROM markers LEFT JOIN comments ON markers.id = comments.idcomment

    ma se guardate lo screenshot vi accorgete che un risultato è doppio e mi viene mostrato nella pagina due volte. Io ho bisogno che questo risultato caso venga mostrato solo una volta. Mi serve per un form commenti per farvi capire perchè. Grazie
     
  2. TeoDigital

    TeoDigital Nuovo Utente

    Registrato:
    17 Luglio 2017
    Messaggi:
    11
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
  3. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.647
    Mi Piace Ricevuti:
    125
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    a parte che io preferisco le join implicite es.

    Codice:
    SELECT m.id, m.addresssei, c.idcomment, c.comment FROM markers as m, comments as c WHERE m.id=c.idcommentents
    prova ad aggiungere
    ... GROUP BY m.id
    o nel tuo caso
    ... GROUP BY markers.id
    o il campo che si duplica

    p.s.
    l'immagine non l'hai caricata
     
  4. TeoDigital

    TeoDigital Nuovo Utente

    Registrato:
    17 Luglio 2017
    Messaggi:
    11
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Ciao grazie della risposta. L'immagine io la vedo qui sopra...allora se faccio GROUP BY markers.id effetivamente non vedo il duplicato ma non vedo neanche il secondo commento perchè mi toglie tutta la riga
     
  5. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.647
    Mi Piace Ricevuti:
    125
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    si vede solo [ img ] non lincato, posta il testo (eventualmente ridotto), comunque se non ho capito male tu vedi
    messaggi uno
    commento uno
    messaggi uno
    commento due
    //..ecc...
    e vorresti ottenere
    messaggi uno
    commento uno
    commento due
    commento tre
    //..ecc...
    giusto?
    se è così probabilmente converrebbe fare due select e non la join (immagino che in commenti ci sia una chiave che li lega ai messaggi)
    se usi php potrei fare un esempio
     
  6. TeoDigital

    TeoDigital Nuovo Utente

    Registrato:
    17 Luglio 2017
    Messaggi:
    11
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    si uso php e tu hai capito bene il problema

    echo "<div class='risultato'><div class='risultato-img'><img style='display:none;' src='http://mappeinterattive.altervista.org/locandine/" . $row["addresscinque"]. "'></div><div class='risultato-testi'><div class='risultato-testo'>" . $row['addresssei']. "</div></div><form method='post' class='form2' action='caricacommento.php'><textarea class='idcommento' placeholder='' maxlength='600' name='idcomment' class='idcomment'>" . $row["id"]. "</textarea><textarea class='commentoarea' placeholder='' maxlength='600' name='comment' class='comment'></textarea><input type='submit' name='inviacommio' value='commenta'></form><div class='commentomio'>" . $row["comment"]. "</div></div>";
     
  7. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.647
    Mi Piace Ricevuti:
    125
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    ti schematizzo, poi ci pensi tu a condire il tutto con i css e html
    PHP:
    <?php
    //dati connessione
    $q_m="SELECT * FROM markers";//con l'eventuale ORDER BY...
    $ris_m=mysqli_query($connessione,$q_m);
    while(
    $riga_m=mysqli_fetch_assoc($ris_m)){
       
    $id_m=$riga_m['id'];
       echo 
    $riga_m['testo_messaggio']."<br />";
       
    $q_c="SELECT * FROM comments WHERE id_messaggio=$id_m";//con l'eventuale ORDER BY...
       
    $ris_c=mysqli_query($connessione,$q_c);
       if(
    mysqli_num_rows($ris_c)>0){
           while(
    $riga_c=mysqli_fetch_assoc($ris_c)){
               echo 
    $riga_m['testo_commento']."<br />";
           }
       }
    }
    ?>
    controlla i nomi dei campi che li ho messi a caso
     
  8. TeoDigital

    TeoDigital Nuovo Utente

    Registrato:
    17 Luglio 2017
    Messaggi:
    11
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    ma cosa devo mettere al posto di testo_messaggio?
    scusa sono proprio ignorante
     
  9. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.647
    Mi Piace Ricevuti:
    125
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    non so, penso il nome del campo che contiene il testo del messaggio, analogamente al testo del commento.
    ma queste cose devi saperle tu, io non posso sapere quello che vuoi visualizzare
     
  10. TeoDigital

    TeoDigital Nuovo Utente

    Registrato:
    17 Luglio 2017
    Messaggi:
    11
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    perfetto...funziona..grazie mille..un'altra cosa se puoi aiutarmi

    ho il pulsante inviacommio che mi carica i dati con ajax...ma se lo lascio nell'echo non mi funziona..ho verificato il codice togliendolo da lì e mettendolo nella pagina carica i dati correttamente...come posso risolvere anche questo problema..grazie mille

    PHP:
    echo "<form method='post' class='form2'><textarea class='idcommento' placeholder='' maxlength='600' name='idcomment' class='idcomment'>" $row["id"]. "</textarea><input id='inviacommio' type='submit' name='inviacommio' value='commenta'></form></div>";
     
    Ultima modifica di un moderatore: 17 Luglio 2017
  11. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    15.647
    Mi Piace Ricevuti:
    125
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    crdo che sia un problema di ajax, posta nella sezione relativa e non dolo il form ma anche l'ajax che usi

    p.s.
    non sono esperto di ajax
     
Sto caricando...

Condividi questa Pagina