我有这段代码,我正试图分解我的日期例如"2015年6月4日"在其他2个变量中有日期和月份,但我在一个方法中有所有的,有一个数组,这可能吗,我的代码不起作用,它写"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
编辑
在这种情况下:
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>
它正确地返回"04",但我不能使用它,因为它对循环的每个结果都重复04。
所有代码
<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>
爆炸函数使用正确,因此您的问题更严重。
$data[$i] = mysql_result($result,$i,"data");
没有从数据库返回预期的字符串"2015-06-04"
或
您的函数$data[$i] = data_eng_to_it_($data[$i]);
没有返回预期的字符串"2015年6月4日"
因此,在这两行之后,通过echo/var_dump进行进一步测试,一次一行,以确保您得到了所需的字符串。在data_eng_to_it_
功能中,您是否记得return $data
?
编辑:
您正在回显$data_exploded[0]
,它将输出"Array"。相反,输出2D数组,因此$data_exploded[0]将输出"04"。或者要查看$data_exploded[0]的完整输出,请使用:var_dump($data_exploded[0]);
要使其在while循环中工作,请使用$data_exploded[$i][0]
但是,您不能在回显字符串"中执行此操作。使用.
将其连接起来,或者将其分配给一个更简单的变量。
- 更简单的变量:$day=$data_exploded[$i][0],并使用与
- 连接:
echo "<h1>".$data_exploded[$i][0]."</h1>";
- 拆分HTML和PHP:我个人会这么做:
?> <h1><?php echo $data_exploded[$i][0];?></h1>