Werken met foreach, gegevens opvragen uit database
Om eerlijk te zijn weet ik niet precies hoe het allemaal werkt met foreach.. daar draai ik ook zeker niet omheen.
Ik krijg dus wel het content te zien maar ik zou ook graag de datum (last_update) op willen roepen vanuit de database voor het content. Samen met de gebruiker die het opgeslagen heeft.
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
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
<?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>";
}
?>
Iemand enig idee? Mijn dank is groot!
Een goede tip: gebruik print_r() om eens $data uit te lezen.
Maar als de database een beetje fatsoenlijk in elkaar zit dan wordt waarschijnlijk het user-id opgeslagen in note_custom, en niet de gebruikersnaam zelf, dus in dat geval zou je de query ook moeten uitbreiden met een JOIN op je user-tabel om de gebruikersnaam op te halen.
Dit lijkt mij allemaal redelijk eenvoudig te realiseren met de bovenstaande aanpassingen.
De gebruikersnaam gaat inderdaad niet opgeslagen worden maar naam van de mod, de gebruiker die het dus invoert.
Vandaar dat ik bij het content dus de log informatie de tijdstip (last_update) wil laten zien samen met de (moderator) naam.
heb je al een print_r() gebruikt? Dan heb je een mooi overzicht wat er in de array's bevindt.