Having two arrays in php variable
I have this code, I am trying to blow up my date for example, "04 June 2015" have day and month in 2 other variables, but I have everything in a method with an array, is it possible my code does not work, it writes "Array [ 0] "why?
while ($i < $number) {
$festa[$i] = mysql_result($result,$i,"festa");
$luogo[$i] = mysql_result($result,$i,"luogo");
$idfesta[$i] = mysql_result($result,$i,"ID");
$data[$i] = mysql_result($result,$i,"data");
$nomeimg[$i] = mysql_result($result,$i,"nomeimg");
$data[$i] = data_eng_to_it_($data[$i]);
$data_exploded[$i] = explode(" ", $data[$i]);
$data_exploded[$i][0] ; //day
$data_exploded[$i][1] ; //month
$data_exploded[$i][2] ; //year
EDIT
in this case:
while ($i < $number) {
$festa[$i] = mysql_result($result,$i,"festa");
$luogo[$i] = mysql_result($result,$i,"luogo");
$idfesta[$i] = mysql_result($result,$i,"ID");
$data[$i] = mysql_result($result,$i,"data");
$nomeimg[$i] = mysql_result($result,$i,"nomeimg");
$data[$i] = data_eng_to_it_($data[$i]);
$data_exploded = explode(" ", $data[$i]);
$data_exploded[$i][0] ; //day
$data_exploded[$i][1] ; //month
$data_exploded[$i][2] ; //year
echo"
<div class=\"circleBase type3\"><div style=\"text-align:center;\">
<br>
<font size=\"+2\" style=\"margin-left:4px;\"> $data_exploded[0] </font>
it returns me "04" correctly, but I cannot use it because it repeats 04 for every result of my loop.
ALL CODE
<div id="container">
<?php
//VARIABILI DI LOGIN CON FACEBOOK
$FBID = $_GET['FBID'];
$FBUSER = $_GET['FBUSER'];
$FEMAIL = $_GET['FEMAIL'];
$DBhost = "localhost";
$DBuser = "bestparty";
$DBpass = "";
$DBName = "my_bestparty";
$count = strlen($FBID);
if ($count < 5 || !$count || $count = "undefined") {}
else {
//CHECK IF USERS EXIST
$link = mysql_connect("localhost", "bestparty", "") or die(mysql_error());
mysql_select_db("my_bestparty") or die(mysql_error());
$myquery = "SELECT * FROM Utenti WHERE Fuid = '$FBID'";
$resulta = mysql_query($myquery);
$numbera = mysql_num_rows($resulta);
mysql_close($link);
if($numbera == '0'){
$link1 = mysql_connect("localhost", "bestparty", "password") or die(mysql_error());
mysql_select_db("my_bestparty") or die(mysql_error());
$myquery1 = "INSERT INTO `Utenti`(`UID`, `Fuid`, `Ffname`, `Femail`, `class`) VALUES (NULL,'$FBID','$FBUSER','$FEMAIL','3')";
$resulta1 = mysql_query($myquery1);
$numbera1 = mysql_num_rows($resulta1);
mysql_close($link1);
}
else {
}
}
$table = "Database";
mysql_connect($DBhost,$DBuser,$DBpass) or die("mysql_error()");
@mysql_select_db("$DBName") or die("mysql_error()");
$sqlquery = "SELECT * FROM `Database` ORDER BY data DESC";
$result = mysql_query($sqlquery);
$number = mysql_num_rows($result);
$i = 0;
while ($i < $number) {
$festa[$i] = mysql_result($result,$i,"festa");
$luogo[$i] = mysql_result($result,$i,"luogo");
$idfesta[$i] = mysql_result($result,$i,"ID");
$data[$i] = mysql_result($result,$i,"data");
$nomeimg[$i] = mysql_result($result,$i,"nomeimg");
$data[$i] = data_eng_to_it_($data[$i]);
$data_exploded = explode(" ", $data[$i]);
$data_exploded[$i][0] ; //day
$data_exploded[$i][1] ; //month
$data_exploded[$i][2] ; //year
echo" <style>
.circleBase {
border-radius: 50%;
behavior: url(PIE.htc); /* remove if you don't care about IE8 */
}
.type1 {
width: 100px;
height: 100px;
background: yellow;
border: 3px solid red;
}
.type2 {
width: 50px;
height: 50px;
background: #ccc;
border: 3px solid #000;
}
.type3 {
position: absolute;
width: 60px;
height: 60px;
margin-left:40%;
margin-top: 53%;
background: #fff;
z-index: 1000;
box-shadow: 1px 0px 3px rgba(0,0,0,0.24), 0 0px 3px rgba(0,0,0,0.24);
font-size:8px;
color: #e20a7e;
border: solid 1px #e20a7e;
}
</style>
<!--INIZIO DIV EVENTO-->
<div class=\"circleBase type3\"><div style=\"text-align:center;\">
<br>
<font size=\"+2\" style=\"margin-left:4px;\"> $data_exploded[0] </font>
<br>Maggio</div></div>
<a href=\"pagevento.html?ID=$idfesta[$i]&FBID=$FBID&FBUSER=$FBUSER\">
<div style = \"display: block; margin: 0 auto; width: 95%; \">
<div id=\"testihomeevento\"
style=\" box-shadow: 1px 0px 3px rgba(0,0,0,0.24), 0 0px 3px rgba(0,0,0,0.24);
padding:10px; display: block; margin: 0 auto; width: 85%; background-color: #fff;font-size: 0.7em;\">
<font size=\"+1\" style=\"color:#e20a7e\">$festa[$i]</font> <br>
$luogo[$i] <br>
$data[$i] <br>
</div>
<div style=\"background-image:url(http://www.bestparty.altervista.org/APP/foto/$nomeimg[$i]);
background-position:center;
background-size: cover;
position: relative;
width: 100%;
height: 240px;
box-shadow: 1px 0px 3px rgba(0,0,0,0.24), 0 0px 3px rgba(0,0,0,0.24);\">
</div>
<div style=\" display: block; margin: 0 auto; width: 85%; background-color: #fff;
box-shadow: 1px 0px 3px rgba(0,0,0,0.24), 0 0px 3px rgba(0,0,0,0.24);\">
<br>
<br>
</div>
</div>
<br>
</a>
<!--FINE DIV EVENTO-->
";
$i++;
}
?>
</div>
source to share
The explosion function is being used correctly, so your problem is even bigger.
Or $data[$i] = mysql_result($result,$i,"data");
does not return the expected string "2015-06-04" from the database
OR
your function $data[$i] = data_eng_to_it_($data[$i]);
does not return the expected string "June 04, 2015"
So, repeat the echo / var_dump test after both of those two lines one at a time to make sure you get the lines you expect. In the function, data_eng_to_it_
do you remember return $data
?
EDIT:
You echo $data_exploded[0]
that "Array" gives out. Print a 2D array instead, so $ data_exploded [0] [0] will print "04". Or, to see the FULL output of $ data_exploded [0], use:var_dump($data_exploded[0]);
To make it work in your while loop use $data_exploded[$i][0]
However, you cannot do this on the echo line "". Either connect it with .
, or assign it to a simpler variable.
- Simplified variable: $ day = $ data_exploded [$ i] [0] and use the day variable just like you do.
- Concatenation:
echo "<h1>".$data_exploded[$i][0]."</h1>";
- Separate HTML and PHP: Personally I would do:
?> <h1><?php echo $data_exploded[$i][0];?></h1>
source to share