Gegevens van database in variabele

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Baken

Baken

15/09/2008 19:03:00
Quote Anchor link
Beste,

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$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
 
PHP hulp

PHP hulp

16/04/2024 13:44:19
 
Jan Koehoorn

Jan Koehoorn

15/09/2008 19:06:00
Quote Anchor link
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;

Gewoon een array dus?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    $data
= array ();
    while (fetchfetchfetch) {
        array_push ($data, $row);
    }

?>
 
- SanThe -

- SanThe -

15/09/2008 19:11:00
Quote Anchor link
Kan simpeler.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $data
= array ();
    while ($data[] = fetchfetchfetch);
?>
 
Baken

Baken

15/09/2008 19:23:00
Quote Anchor link
Ik heb net even één en ander geprobeerd, maar ik snap hem niet helemaal, hoe kan zet ik bijvoorbeeld de query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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?
 
- SanThe -

- SanThe -

15/09/2008 19:45:00
Quote Anchor link
Ik snap je vraag niet.
 
Baken

Baken

17/09/2008 17:41:00
Quote Anchor link
Ik heb volgend script geschreven om data vanuit SQL naar een Excel bestand te schrijven:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
[
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
 
- SanThe -

- SanThe -

17/09/2008 18:42:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    $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 -
 
Baken

Baken

17/09/2008 18:47:00
Quote Anchor link
Ja okeey.

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
 
- SanThe -

- SanThe -

17/09/2008 18:51:00
Quote Anchor link
Doe eens dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    $data
= array ();
    while ($data[] = fetchfetchfetch);
    echo '<pre>' . print_r($data, true) . '</pre>';
?>

Dan zie wat er allemaal in zit.
 
Gerben Jacobs

Gerben Jacobs

18/09/2008 06:02:00
Quote Anchor link
SanThe schreef op 15.09.2008 19:11:
Kan simpeler.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $data
= array ();
    while ($data[] = fetchfetchfetch);
?>


Ahh, handig.
Ik deed altijd
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
while ($row = mysql_fetch_assoc()) {
 $data[] = $row;
}

return $data;
?>


Maar zoals jij 't zegt is 't veel handigere/korter.
 
Baken

Baken

21/09/2008 16:22:00
Quote Anchor link
Als ik doe:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
    // Een variabele maken met alle resultaten
  $data = array ();
   while ($data[] = mysql_fetch_object($sql_3));
  
   echo $data;
?>


Dan krijg ik als output: Array.
 
- SanThe -

- SanThe -

21/09/2008 16:31:00
Quote Anchor link
Dat klopt. Wat wil je ermee?
 
Baken

Baken

21/09/2008 16:50:00
Quote Anchor link
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.
 
- SanThe -

- SanThe -

21/09/2008 17:58:00
Quote Anchor link
Je zal dat array() met een foreach() moeten doorlopen. Er zitten namelijk gewoon de gevonden records in.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.