Ah, ecco, quindi la seconda immagine era la query eseguita direttamente sul DB.
Ah, ecco, quindi la seconda immagine era la query eseguita direttamente sul DB.
si esatto...mi avevano detto di provare la query direttamente nel phpmyadmin
ma giusto per velocizzarmi
per non farvi diventare matti, sto aiutando il giovanotto qui http://forum.html.it/forum/showthrea...readid=2956045 per la parte db
La query è su 2 tabelle 1..n, per cui è corretto che possa riportare
inserim1 -- commento1
inserim1 -- commento2
inserim1 -- commento3
ora la cosa è semplice: il campo text box di inserim1 deve essere visualizzato una volta sola. Non lavoro di solito con PHP, ma saranno al massimo un paio di IF, solo che Teotone non sa dove metterle
Secondo me puoi fare due cose:
1. lasci la query così ed aggiungi order by markers.id. Quando fai il ciclo ti tieni una variabile con l'id precedente. Se l'id attuale è uguale al precedente, prendi solo il commento altrimenti tutto
2. Ti fai due query distinte: una per markers e una per comments.Codice PHP:
$prev_id = '';
while($row = ...){
if ($prev_id != $row['id']){
//Stampi markers + comment
}else{
//Stampi solo comment
}
$prev_id = $row['id'];
}
Quella per comments te la prepari così:
Così poi, quando stampi markers:Codice PHP:
$query = "SELECT * FROM comments";.
$comments = mysqli_query($conn, $query);
$association = [];
while($row = mysqli_fetch_assoc($conn, $comments)){
if(!isset($association[$row['idcomment']])){
$association[$row['idcomment']] = [];
}
$association[$row['idcomment']][] = $row;
}
Codice PHP:
$query = "SELECT * FROM markers";.
$markers = mysqli_query($conn, $query);
while($row = ...){
// echo di markers
if(isset($association[$row['id']])){
foreach($association[$row['id']] as $comment){
// echo di comment
}
}
}
Ultima modifica di boots; 17-07-2017 a 10:49
io terrei la query così com'è è solo che per me il tuo codice è troppo difficile..non riesco a farlo funzionare.
Cose più semplici non mi vengono in mente...prova a vedere se qualcun altro ha un idea migliore.
PS: Con il primo metodo potresti aver qualche problemino se hai una struttura html annidata:
Perchè non sai quando chiudere il div "marker" e quindi devi "giocare" con $prev_id e l'id attualecodice:<div id="marker"> <div> marker </div> <div> commento 1 commento 2 ... commento n </div> </div>
qualcuno ha un'idea più semplice o mi scrive precisamente la prima soluzione perchè forse faccio qualche errore?grazie mille..mi manca davvero solo questo passaggio poi ho finito
ma poi è giusto questo punto alla fine?
$query = "SELECT * FROM markers";.
ok ho tolto il puntino alla fine e funziona. Grazie mille..mi sei stato davvero di aiuto..ps un consiglio quando scrivete i codici fate attenzione perchè se trovate un ignorante come ME....copia anche l'errore..grazie mille ancora..e grazie anche a OPTIME