PHP variable in Javascript
ik gebruik op een pagina een jquery datepicker hier wil ik een aantal dagen in uitsluiten. dat met een array van datums in de javascript var te zetten, de datums haal ik uit mijn DB met php waar ik alleen een begin en een eind datum heb . het is me nu al gelukt om in php alle tussen liggende datums op te halen. nu ik dit heb dacht ik alles gewoon in een PHP variable en dit echoen in javascript maar helaas werkt dit niet maar krijg ik alleen in mijn javascript het laatste resultaat uit mijn array. hoop dat iemand mij kan helpen .
alvast bedankt
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
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
<?php
$load_order = "SELECT * FROM orders WHERE confirmed='yes'";
$query_load_order = mysqli_query($connect,$load_order);
if($query_load_order == true){
while($res_order = mysqli_fetch_assoc($query_load_order)){
$from = new DateTime($res_order['from']);
$till = new DateTime($res_order['till']);
$res_diff = $till->diff($from)->format("%a");
for($i = 0; $i <= $res_diff; $i++){
$date = $res_order['from'];
$date = strtotime($date);
$date = strtotime($i."day",$date);
$res_array = date('d-m-Y',$date).',';
echo $res_array;[u][i]// hier heb komen wel alle resultaten uit[/i][/u]
}
}
}
<script>
var array = ["<?php echo $res_array;?>"][u][i]// hier komt alleen maar het laatste resultaat tevoorschijn uit de array[/i][/u]
</script>
?>
$load_order = "SELECT * FROM orders WHERE confirmed='yes'";
$query_load_order = mysqli_query($connect,$load_order);
if($query_load_order == true){
while($res_order = mysqli_fetch_assoc($query_load_order)){
$from = new DateTime($res_order['from']);
$till = new DateTime($res_order['till']);
$res_diff = $till->diff($from)->format("%a");
for($i = 0; $i <= $res_diff; $i++){
$date = $res_order['from'];
$date = strtotime($date);
$date = strtotime($i."day",$date);
$res_array = date('d-m-Y',$date).',';
echo $res_array;[u][i]// hier heb komen wel alle resultaten uit[/i][/u]
}
}
}
<script>
var array = ["<?php echo $res_array;?>"][u][i]// hier komt alleen maar het laatste resultaat tevoorschijn uit de array[/i][/u]
</script>
?>
Hoe ziet je HTML eruit, en met name je array?
misschien nog verkeerd verwoord uit mijn FOR loop echo ik alle resultaten wat iedergeval het juiste resultaat geeft. maar hoe krijg ik dit in een juiste array zodat deze ook gebruikt kan worden in javascript
De HTML-source? De broncode aan de achterkant van je browser als je het uitvoert?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
<div class="content"><!--start page-->
20-11-201421-11-201422-11-201423-11-201428-11-201429-11-201430-11-2014
<script>
var array = ["30-11-2014"]
//datepicker 1
$(function() {
$('#date1').datepicker({
},
//set ofset date
$('#date1').datepicker({
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('dd-mm-yy', date);
return [ array.indexOf(string) == -1 ]
}
}),
$.datepicker.regional['nl']);
});
?>
<div class="content"><!--start page-->
20-11-201421-11-201422-11-201423-11-201428-11-201429-11-201430-11-2014
<script>
var array = ["30-11-2014"]
//datepicker 1
$(function() {
$('#date1').datepicker({
},
//set ofset date
$('#date1').datepicker({
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('dd-mm-yy', date);
return [ array.indexOf(string) == -1 ]
}
}),
$.datepicker.regional['nl']);
});
?>
- Je haalt gegevens op
- Je loopt de gegevens door
Maar dan, stop je je while loop, dus het laatste gegeven zit in $res_array, en die geeft ie netjes weer.
Toevoeging op 20/11/2014 17:08:44:
Bedankt voor jullie reacties maar heb een oplossing gevonden .
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
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
<?php
$load_order = "SELECT * FROM orders WHERE confirmed='yes'";
$query_load_order = mysqli_query($connect,$load_order);
if($query_load_order == true){
$res_array = array();
while($res_order = mysqli_fetch_assoc($query_load_order)){
$from = new DateTime($res_order['from']);
$till = new DateTime($res_order['till']);
$res_diff = $till->diff($from)->format("%a");
for($i = 0; $i <= $res_diff; $i++){
$date = $res_order['from'];
$date = strtotime($date);
$date = strtotime($i."day",$date);
$res_array[] = date('d-m-Y',$date);
$res_string = implode('","', $res_array);
}
}
}
<script>
var array = ["<?php echo $res_string;?>"]
</script?
?>
$load_order = "SELECT * FROM orders WHERE confirmed='yes'";
$query_load_order = mysqli_query($connect,$load_order);
if($query_load_order == true){
$res_array = array();
while($res_order = mysqli_fetch_assoc($query_load_order)){
$from = new DateTime($res_order['from']);
$till = new DateTime($res_order['till']);
$res_diff = $till->diff($from)->format("%a");
for($i = 0; $i <= $res_diff; $i++){
$date = $res_order['from'];
$date = strtotime($date);
$date = strtotime($i."day",$date);
$res_array[] = date('d-m-Y',$date);
$res_string = implode('","', $res_array);
}
}
}
<script>
var array = ["<?php echo $res_string;?>"]
</script?
?>
Dit werkt perfect