mostrare solo una volta il risulato doppio

TeoDigital

Nuovo Utente
17 Lug 2017
14
0
1
42
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
 
attachment.php
 
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
 
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
 
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
 
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>";
 
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
 
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
 
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:
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
 

Discussioni simili