Gegevens van database in variabele
Voor het overkoepelende script is het belangrijk dat de data van meerdere MySql rijen in één variabele komt;
Ik heb het volgende geprobeerd maar bij voorbaat was eigenlijk al duidelijk dat dat niet ging werken:
Code (php)
1
2
3
2
3
<?
$antwoorden = while($rij_3 = mysql_fetch_object($sql_3)){ echo $rij_3->antwoord; };
?>
$antwoorden = while($rij_3 = mysql_fetch_object($sql_3)){ echo $rij_3->antwoord; };
?>
maar maakt misschien wel duidelijk hoe het zou moeten.
Ik hoop dat iemand even kan kijken.
Met vriendelijke groeten,
Jelmer
Baken schreef op 15.09.2008 19:03:
Beste,
Voor het overkoepelende script is het belangrijk dat de data van meerdere MySql rijen in één variabele komt;
Voor het overkoepelende script is het belangrijk dat de data van meerdere MySql rijen in één variabele komt;
Gewoon een array dus?
Code (php)
1
<? $sql_3 = mysql_query("select * FROM onderzoek_antwoord WHERE id_vraag = '".$f."'"); ?>
erin?
En hoe zorg ik ervoor dat de hele array in eenmaal wordt aangeroepen en niet een deel daarvan?
Ik snap je vraag niet.
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?
[code]<?php session_start();
$gebruikersnaam = $_SESSION['gebruikersnaam'];
include("../verbinden.php");
// Kijken welke vraag het gaat en veilig stellen
$f = mysql_escape_string(htmlspecialchars($_GET['f']));
// Opzoeken om welke vraag het gaat
$sql_1 = mysql_query("select * from onderzoek_vragen WHERE id = '".$f."'");
$rij_1 = mysql_fetch_object($sql_1);
// De titel van de vraag
$titel_vraag = $rij_1->vraag;
// Kijken of de gebruiker gelijk staat aan de ingelogde
if($gebruikersnaam != $rij_1->gebruikersnaam){ header("location: http://www.onderzoekdoen.nl"); exit; }
// Query voor resultaten
$sql_3 = mysql_query("select * FROM onderzoek_antwoord WHERE id_vraag = '".$f."'");
// Een variabele maken met alle resultaten
$data = array ();
while ($data['a1'] = mysql_fetch_object($sql_3));
echo $data['a1'];
// Opzoeken om welk onderzoek het gaat
$sql_2 = mysql_query("select * from onderzoek_titels WHERE id = $rij_1->idonderzoek");
$rij_2 = mysql_fetch_object($sql_2);
//De titel van het onderzoek:
$titel_onderzoek = $rij_2->titel;
// Datum vaststellen
$maand = date("m");
if($maand == '01'){ $maand = "Januari"; };
if($maand == '02'){ $maand = "Februari"; };
if($maand == '03'){ $maand = "Maart"; };
if($maand == '04'){ $maand = "April"; };
if($maand == '05'){ $maand = "Mei"; };
if($maand == '06'){ $maand = "Juni"; };
if($maand == '07'){ $maand = "Juli"; };
if($maand == '08'){ $maand = "Augustus"; };
if($maand == '09'){ $maand = "September"; };
if($maand == '10'){ $maand = "Oktober"; };
if($maand == '11'){ $maand = "November"; };
if($maand == '12'){ $maand = "December"; };
$dag = date("j");
$jaar = date("Y");
$uren = date("G");
$minuten = date("i");
$data = "
<head>
<style>
table.menu {
width: 700px;
}
td.menu {
height: 50px;
vertical-align: top;
background-color: #0265CB;
}
div.titel { color: white; font-weight: bold; font-family: Verdana, Arial, Helvetica, sans-serif; font-size:13pt; }
</style>
</head>
<table class='menu'>
<tr>
<td class='menu'><div class='titel'>Onderzoekdoen.nl - Export Resultaten</div></td>
</tr>
<tr>
<td>Export uit onderzoek: $titel_onderzoek</td>
</tr>
<tr>
<td>Export van de vraag: $titel_vraag</td>
</tr>
<tr>
<td>Export heeft plaats gevonden op: $dag $maand $jaar; $uren:$minuten</td>
</tr>
<tr>
<td>$antwoorden</td>
</tr>
<tr>
<td>Resultaat</td>
</tr>
</table>
";
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=onderzoek.xls");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
echo "$data";
?>
Echter hoe krijg ik nu de antwoorden uit diverse SQL rij'en met n gelijk onderzoekid allemaal per nu tabel-rij gepresenteerd.
Dus alle: "$antwoorden" in bovenstaande $data variabele.
Bedankt!
Jelmer
[code]<?php session_start();
$gebruikersnaam = $_SESSION['gebruikersnaam'];
include("../verbinden.php");
// Kijken welke vraag het gaat en veilig stellen
$f = mysql_escape_string(htmlspecialchars($_GET['f']));
// Opzoeken om welke vraag het gaat
$sql_1 = mysql_query("select * from onderzoek_vragen WHERE id = '".$f."'");
$rij_1 = mysql_fetch_object($sql_1);
// De titel van de vraag
$titel_vraag = $rij_1->vraag;
// Kijken of de gebruiker gelijk staat aan de ingelogde
if($gebruikersnaam != $rij_1->gebruikersnaam){ header("location: http://www.onderzoekdoen.nl"); exit; }
// Query voor resultaten
$sql_3 = mysql_query("select * FROM onderzoek_antwoord WHERE id_vraag = '".$f."'");
// Een variabele maken met alle resultaten
$data = array ();
while ($data['a1'] = mysql_fetch_object($sql_3));
echo $data['a1'];
// Opzoeken om welk onderzoek het gaat
$sql_2 = mysql_query("select * from onderzoek_titels WHERE id = $rij_1->idonderzoek");
$rij_2 = mysql_fetch_object($sql_2);
//De titel van het onderzoek:
$titel_onderzoek = $rij_2->titel;
// Datum vaststellen
$maand = date("m");
if($maand == '01'){ $maand = "Januari"; };
if($maand == '02'){ $maand = "Februari"; };
if($maand == '03'){ $maand = "Maart"; };
if($maand == '04'){ $maand = "April"; };
if($maand == '05'){ $maand = "Mei"; };
if($maand == '06'){ $maand = "Juni"; };
if($maand == '07'){ $maand = "Juli"; };
if($maand == '08'){ $maand = "Augustus"; };
if($maand == '09'){ $maand = "September"; };
if($maand == '10'){ $maand = "Oktober"; };
if($maand == '11'){ $maand = "November"; };
if($maand == '12'){ $maand = "December"; };
$dag = date("j");
$jaar = date("Y");
$uren = date("G");
$minuten = date("i");
$data = "
<head>
<style>
table.menu {
width: 700px;
}
td.menu {
height: 50px;
vertical-align: top;
background-color: #0265CB;
}
div.titel { color: white; font-weight: bold; font-family: Verdana, Arial, Helvetica, sans-serif; font-size:13pt; }
</style>
</head>
<table class='menu'>
<tr>
<td class='menu'><div class='titel'>Onderzoekdoen.nl - Export Resultaten</div></td>
</tr>
<tr>
<td>Export uit onderzoek: $titel_onderzoek</td>
</tr>
<tr>
<td>Export van de vraag: $titel_vraag</td>
</tr>
<tr>
<td>Export heeft plaats gevonden op: $dag $maand $jaar; $uren:$minuten</td>
</tr>
<tr>
<td>$antwoorden</td>
</tr>
<tr>
<td>Resultaat</td>
</tr>
</table>
";
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=onderzoek.xls");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
echo "$data";
?>
Echter hoe krijg ik nu de antwoorden uit diverse SQL rij'en met n gelijk onderzoekid allemaal per nu tabel-rij gepresenteerd.
Dus alle: "$antwoorden" in bovenstaande $data variabele.
Bedankt!
Jelmer
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$data = array ();
while ($data['a1'] = mysql_fetch_object($sql_3));
echo $data['a1'];
?>
$data = array ();
while ($data['a1'] = mysql_fetch_object($sql_3));
echo $data['a1'];
?>
Deze while() heeft als index 'a1'. Deze zal dus zolang de while() loopt worden overschreven. Eindresutaat is een array() met maar één record, namelijk de laatste uit de while().
Bekijk mijn voorbeeldje nog eens.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Maar als ik jouw voorbeeld goed invoer dan krijg ik toch een array met meerdere dingen erin, maar hoe druk ik dan in een keer de hele array af?
Hoe zet ik de hele array, als onderdeel in de de variabele $data?
Jelmer
Code (php)
Dan zie wat er allemaal in zit.
SanThe schreef op 15.09.2008 19:11:
Ahh, handig.
Ik deed altijd
Maar zoals jij 't zegt is 't veel handigere/korter.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
// Een variabele maken met alle resultaten
$data = array ();
while ($data[] = mysql_fetch_object($sql_3));
echo $data;
?>
// Een variabele maken met alle resultaten
$data = array ();
while ($data[] = mysql_fetch_object($sql_3));
echo $data;
?>
Dan krijg ik als output: Array.
Dat klopt. Wat wil je ermee?
Ik wil: alle resultaten die een "while $sql_3" oplevert in één variabele zetten en die vervolgens door middel van het aanroepen van één variabele te presenteren.
Je zal dat array() met een foreach() moeten doorlopen. Er zitten namelijk gewoon de gevonden records in.