i've this code, i'm trying to explode my date e.g "04 June 2015" to have the day and the month in other 2 variables, but i have all in a method, with an array, is it possible, my code doesn't work, it writes "Array[0]" why?
我有这个密码,我想把我的约会搞砸。g“04 June 2015”在另外两个变量中有一天和一个月,但是我在一个方法中,有一个数组,有可能,我的代码不工作,它写了“array[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[$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 can't use it because it repeats 04 for each result of my cycle.
它正确地返回我“04”,但我不能使用它,因为它对我的周期的每个结果重复04次。
ALL THE 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>
1 个解决方案
#1
3
The explode function is being used correctly, so your problem is further up.
爆炸功能被正确使用,所以你的问题还在继续。
Either $data[$i] = mysql_result($result,$i,"data");
isn't returning the expected string "2015-06-04" from the database
$ data[$ i]= mysql_result(因此,我美元,“数据”);不从数据库返回预期的字符串“2015-06-04”
OR
或
your function $data[$i] = data_eng_to_it_($data[$i]);
isn't returning the expected string "04 June 2015"
函数$data[$i] = data_eng_to_it_($data[$i]);难道不返回预期的字符串“2015年6月4日”吗?
So test further up by echo / var_dump after both these two lines one at a time to make sure you're getting the strings you're expecting. In the data_eng_to_it_
function are you remembering to return $data
?
因此,在这两行之后,通过echo / var_dump进一步测试,以确保得到您所期望的字符串。在data_eng_to_it_函数中,您是否记得要返回$data ?
EDIT:
编辑:
You are echoing $data_exploded[0]
which will output 'Array'. Instead output the 2D array, so $data_exploded[0][0] will output "04". Or to see the FULL output of $data_exploded[0] use: var_dump($data_exploded[0]);
您正在响应$ data_explosion[0],它将输出“Array”。相反,输出2D数组,因此$ data_explosion[0][0]将输出“04”。或者查看$ data_explosion[0]的全部输出:var_dump($ data_explosion [0]);
For it to work in your while loop, use $data_exploded[$i][0]
要让它在while循环中工作,请使用$ data_explosion [$i][0]
You can't however do this in a echo string "". Either concatenate it using .
or assign it to a simpler variable.
但是,你不能在一个echo字符串中这样做。或者使用连接。或者把它赋给一个更简单的变量。
- Simpler variable: $day = $data_exploded[$i][0] and use the day variable the same way you have
- 更简单的变量:$day = $ data_explosion [$i][0],使用day变量的方式与您的相同
- Concatenate:
echo "<h1>".$data_exploded[$i][0]."</h1>";
- 连接:回声“< h1 >”。$ data_exploded[$ i][0]。”< / h1 >”;
- Split HTML and PHP: personally I would do:
?> <h1><?php echo $data_exploded[$i][0];?></h1>
-
拆分HTML和PHP:我个人认为:?>
< / h1 >
#1
3
The explode function is being used correctly, so your problem is further up.
爆炸功能被正确使用,所以你的问题还在继续。
Either $data[$i] = mysql_result($result,$i,"data");
isn't returning the expected string "2015-06-04" from the database
$ data[$ i]= mysql_result(因此,我美元,“数据”);不从数据库返回预期的字符串“2015-06-04”
OR
或
your function $data[$i] = data_eng_to_it_($data[$i]);
isn't returning the expected string "04 June 2015"
函数$data[$i] = data_eng_to_it_($data[$i]);难道不返回预期的字符串“2015年6月4日”吗?
So test further up by echo / var_dump after both these two lines one at a time to make sure you're getting the strings you're expecting. In the data_eng_to_it_
function are you remembering to return $data
?
因此,在这两行之后,通过echo / var_dump进一步测试,以确保得到您所期望的字符串。在data_eng_to_it_函数中,您是否记得要返回$data ?
EDIT:
编辑:
You are echoing $data_exploded[0]
which will output 'Array'. Instead output the 2D array, so $data_exploded[0][0] will output "04". Or to see the FULL output of $data_exploded[0] use: var_dump($data_exploded[0]);
您正在响应$ data_explosion[0],它将输出“Array”。相反,输出2D数组,因此$ data_explosion[0][0]将输出“04”。或者查看$ data_explosion[0]的全部输出:var_dump($ data_explosion [0]);
For it to work in your while loop, use $data_exploded[$i][0]
要让它在while循环中工作,请使用$ data_explosion [$i][0]
You can't however do this in a echo string "". Either concatenate it using .
or assign it to a simpler variable.
但是,你不能在一个echo字符串中这样做。或者使用连接。或者把它赋给一个更简单的变量。
- Simpler variable: $day = $data_exploded[$i][0] and use the day variable the same way you have
- 更简单的变量:$day = $ data_explosion [$i][0],使用day变量的方式与您的相同
- Concatenate:
echo "<h1>".$data_exploded[$i][0]."</h1>";
- 连接:回声“< h1 >”。$ data_exploded[$ i][0]。”< / h1 >”;
- Split HTML and PHP: personally I would do:
?> <h1><?php echo $data_exploded[$i][0];?></h1>
-
拆分HTML和PHP:我个人认为:?>
< / h1 >