Pagina 1 di 8 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 71
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221

    non duplicare riultato tabella

    Ciao ragazzi. Ho usato un JOIN LEFT per visualizzare i dati di due tabelle differenti. Il seguente codice funziona. Il problema è che mi restituisce due volte lo stesso record. Allego l'esempio. Grazie


    $sql = "SELECT markers.id, markers.addresssei, comments.idcomment, comments.comment FROM markers LEFT JOIN comments ON markers.id = comments.idcomment";


    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
    echo "<div class='risultato'><div class='risultato-testi'><div class='risultato-testo'>" . $row['addresssei']. "</div></div><div class='commentomio'>" . $row["comment"]. "</div></div>";

    }

  2. #2

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    A quanto pare non ti viene duplicato il risultato della query, ma la textarea e il pulsante, che non sono nel codice che hai postato, quindi con certezza non ti si può rispondere.
    Non è che li hai messi dentro al ciclo? Mettili fuori.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221
    ti metto tutto il codice...forse riesci ad aiutarmi così

    $sql = "SELECT markers.id, markers.addresssei, comments.idcomment, comments.comment FROM markers LEFT JOIN comments ON markers.id = comments.idcomment";




    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
    echo "<div class='risultato'><div class='risultato-testi'><div class='risultato-testo'>" . $row['addresssei']. "</div></div><form method='post' class='form2' action='caricacommento.php'><textarea class='' placeholder='' maxlength='600' name='idcomment' id='idcomment'>" . $row["id"]. "</textarea><textarea class='' placeholder='' maxlength='600' name='comment' id='comment'></textarea><input type='submit' name='inviacommio' value='commenta' id=''></form><div class='commentomio'>" . $row["comment"]. "</div></div>";

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221
    risultato-doppio.jpg

    ecco questo ti fa vedere che nella tabella di sinistra un risltato è doppio ma io ne dovrei vedere solo uno nella pagina.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Secondo me stai confondendo le cose.
    L'immagine che proponi è presa dal DB, ed effettivamente ci sono 2 righe uguali, mi pare quindi giusto che 2 righe uguali vengano prese dalla SELECT e poi stampate sulla pagina, perché effettivamente queste righe esistono entrambe.
    Se non sono previste 2 righe uguali nel DB, allora hai commesso qualche errore in un'INSERT.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221
    no in insert il risultato dela tabella di sinistra è stato inserito una sola volta..è questa query il problema

    $sql = "SELECT markers.id, markers.addresssei, comments.idcomment, comments.comment FROM markers LEFT JOIN comments ON markers.id = comments.idcomment";

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Sì, ma dentro la tabella del database, la riga "Terzo inserimento" c'è 2 volte? Dall'ultima immagine che hai postato si direbbe di sì.
    Se la risposta è effettivamente sì, allora è giusto che la SELECT ti prenda 2 righe uguali, perché ce l'hai 2 volte dentro il database.
    Ultima modifica di Alhazred; 17-07-2017 a 10:24

  9. #9
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Ma è normale, no? la join ti crea due righe:
    se hai
    Markers

    1 - Pippo

    e comments (id - idcomment - comment)
    1 - 1 - commento
    2 - 1 - commento2

    è normale che alla fine hai due righe se fai il join. Da codice devi poi determinare se la riga è solo da "appendere" alla precedente

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221
    e quindi cosa devo fare scusa? credo che tu il mio problema lo abbia capito...c'è due volte Terzo inserimento ma nella pagina va stampato una sola volta

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 © 2024 vBulletin Solutions, Inc. All rights reserved.