Het is niet zo dat ik nu natuurlijk alles kom vragen haha maar dankzij deze site ben ik nog wel meer lerende.

Ik ben al een tijdje aan het vechten met een deel script waarvan het script de verkeerde kant menu gaat openen.
Het gaat hier om een profielenscript, links en rechts maar dan de log gedeelte.

Wanneer 1 kant ingevuld is werkt het open en dichtklappen prima maar wanneer er aan de rechterkant wat bij ingevoerd gaat worden en we willen de rechterkant openen dan gaat het juist aan de linkerkant (andere profiel) openen.

Verder wil ik hier nog graag de datum/tijd willen laten tonen (last_update) in database, ook dit krijg ik niet aan de loop.

Scriptje:


<?php 
						
						$data = array();
						$notes_sql = "select * from note_custom where to_id='".$row->profile_id."' and from_id= '".$db->escape_string($aid)."'  order by type, content asc";
						$ret  = $db->query($notes_sql);
						while($rown = $ret->fetch_object()){
							$data[$rown->type][$rown->id] = $rown->content;
						}
						
						if(!empty($data)){
							echo '<div class="accordion" id="collapse-group">';
							
							foreach($data as $type => $content){
								echo' <div class="accordion-group widget-box">
                                <div class="accordion-heading">
                                    <div class="widget-title">
                                        <a data-parent="#collapse-group" href="#collapse'.$type.'" data-toggle="collapse">
                                            <span class="icon"><i class="icon-book"></i></span><h5>'.$config['note_setting'][$type].' ('.sizeof($content).')</h5>
                                        </a>
                                    </div>
                                </div>
                                <div class="collapse accordion-body" id="collapse'.$type.'">
                                    <div class="widget-content"><ul>';
										
								  foreach($content as $list_id => $list ){
									  echo "<li> ".$list." <span id='".$list_id."' class='del_note'><i class='icon icon-remove'></i></span>";
								  }
								  
                                   echo' </div>
                                </div>
								</div> ';
							}
							echo "</div>";
						}
						
						?>
Heb je een werkend voorbeeld? Bij voorkeur in JSfiddle.com?
Je bedoelde JSfiddle.net? :P
Een werkend voorbeeld kan ik helaas niet zetten nee..

Menu dicht: https://imgur.com/sep16he

En dan klik ik nu aan de rechterkant op aktueel:

https://imgur.com/B18BqTO dan gaat aan de linkerkant alles open.. Dat is niet echt de bedoeling...
Blijkbaar wordt er op het verkeerde element getarget. Gebruik je jQuery?
Er staan id-attributen (#collapse-group et cetera) in een loop.

Dit kan nooit goed gaan.

id's dienen uniek te zijn.

Waarschijnlijk is een aanpak met CSS-classes beter, en click-events (afgebakend in een container-element) waarbij het element waarop is geklikt wordt geïdentificeerd.

Als je jQuery gebruikt zal dat doorgaans $(this) zijn. Van daaruit kun je dat element, of bovenliggende en/of onderliggende elementen manipuleren.
Collapse group zelf werkt wel goed moet ik zeggen alleen doet hij het aan de verkeerde kant namelijk openen en dat is dus niet de bedoeling.
Dan klopt je target niet helemaal, zoals ik dus zei.
En zie ook Thomas zijn bericht hierboven.
Het heeft geen zin om een situatie te bestuderen waarvan je weet dat deze niet klopt.

Repareer eerst deze situatie, en kijk dan of de klachten zich nog voordoen.

Als dit inhoudt dat je de implementatie van je functionaliteit moet aanpassen, dan betekent dit dus ook dat (de opzet van) deze code onderdeel van het probleem was.
Thomas van den Heuvel op 31/05/2019 15:30:39

Er staan id-attributen (#collapse-group et cetera) in een loop.

Dit kan nooit goed gaan.

id's dienen uniek te zijn.

Waarschijnlijk is een aanpak met CSS-classes beter, en click-events (afgebakend in een container-element) waarbij het element waarop is geklikt wordt geïdentificeerd.

Als je jQuery gebruikt zal dat doorgaans $(this) zijn. Van daaruit kun je dat element, of bovenliggende en/of onderliggende elementen manipuleren.


Hoe ga ik dit eigenlijk precies zien te fabriceren? Het is natuurlijk sowieso al via css maar dan met een oproep?
Hoe ziet je bijbehorende Jquery code eruit, die de events afhandelt?
Excuses voor de late reactie..
Ik had het inmiddels opgelost, nu zit ik echter met nog 1 vraag.. $list.. dat is content wat opgevraagd gaat worden, dat is logisch maar nu wil ik voor $List ook nog last_update laten zien.. Hoe krijg ik dat er dom gevraagd even bij in?


<?php 
						
						$data = array();
						$notes_sql = "select * from note_custom where to_id='".$row->profile_id."' and from_id= '".$db->escape_string($aid)."'  order by type, last_update DESC";
						$ret  = $db->query($notes_sql);
						while($rown = $ret->fetch_object()){
							$data[$rown->type][$rown->id] = $rown->content;
						}
						
						if(!empty($data)){
							echo '<div class="accordion" id="collapse-group">';
							
							foreach($data as $type => $content){
								echo' <div class="accordion-group widget-box">
                                <div class="accordion-heading">
                                    <div class="widget-title">
                                        <a data-parent="#collapse-group" href="#collapse'.$row->profile_id.''.$type.'" data-toggle="collapse">
                                            <span class="icon"><i class="icon-book"></i></span><h5>'.$config['note_setting'][$type].' ('.sizeof($content).')</h5>
                                        </a>
                                    </div>
                                </div>
                                <div class="collapse accordion-body" id="collapse'.$row->profile_id.''.$type.'">
                                    <div class="widget-content"><ul>';
										
								  foreach($content as $list_id => $list ){
									  echo "<li> ".$list." <span id='".$list_id."' class='del_note'><i class='icon icon-remove'></i></span>";
								  }
								  
                                   echo' </div>
                                </div>
								</div> ';
							}
							echo "</div>";
						}
						
						?>


Dus voor de opgevraagde tekst wil ik de ingevoerde tijd laten zien die in de database onder 'last_update' opgeslagen gaat worden.

Reageren