Opvragen van log bestanden werkt maar menu is niet correct
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:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?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>";
}
?>
$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?
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?
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.
Gewijzigd op 31/05/2019 15:33:17 door Thomas van den Heuvel
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.
En zie ook Thomas zijn bericht hierboven.
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.
Gewijzigd op 31/05/2019 20:01:40 door Thomas van den Heuvel
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.
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?
Gewijzigd op 02/06/2019 13:57:14 door - Ariën -
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?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?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>";
}
?>
$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.
Gewijzigd op 25/06/2019 19:28:55 door Ray Mond