したがって、条件が満たされた場合、アプリはデータベースから読み取り、この形式でページに 出力する必要があります。 コードは次のとおりです。出力の画像を最後に lib.php に投稿します。
<?php
$db_name = "ispit_septembar";
$db_user = "root";
$db_host = "localhost";
$db_pass = "";
function vratiStudente($godina)
{
global $db_name,$db_user,$db_host,$db_pass;
$studenti = array();
$link = mysql_connect("$db_host","$db_user","$db_pass") or die ("Nije moguca konekcija");
mysql_select_db("$db_name",$link) or die ("Nepostojeca baza");
$sql = mysql_query("SELECT * from studenti where godina = '$godina'");
while ($row = mysql_fetch_array($sql) )
{
$indeks = $row["indeks"];
$imeiprezime = $row["imeiprezime"];
$godina = $row["godina"];
$studenti["indeks"] = $indeks;
$studenti[$indeks]["imeiprezime"] = $imeiprezime;
$studenti[$indeks]["godina"] = $godina;
}
return $studenti;
}
function daLiPostojiStudent($indeks)
{
global $db_name,$db_user,$db_host,$db_pass;
$link = mysql_connect("$db_host","$db_user","$db_pass") or die ("Nije moguca konekcija");
mysql_select_db("$db_name","$link") or die ("Nepostojeca baza");
$sql = mysql_query("SELECT * from studenti where indeks = '$indeks'");
$check = mysql_num_rows($sql);
if ($check >0 )
{
$postoji = "postoji";
}
else
{
$postoji = "ne postoji";
}
return $postoji;
}
function dodajStudenta($indeks,$ime,$godina)
{
global $db_name,$db_user,$db_host,$db_pass;
$link = mysql_connect("$db_host","$db_user","$db_pass") or die ("Nije moguca konekcija");
mysql_select_db("$db_name","$link") or die ("Nepostojeca baza");
$result = daLiPostojiStudent($indeks);
if ($result == "postoji")
{
$postoji = "Student sa tim brojem indeksa postoji";
return $postoji;
}
else
{
$sql = ("INSERT INTO studenti (indeks,imeprezime,godina)
VALUES ('$indeks','$ime','$godina' ");
mysql_query($sql);
return 1;
}
}
?>
strana1.php:`
<?php
include "lib.php";
include "Smarty/libs/Smarty.class.php";
$dodaj1 = "strana2.php?godina=1";
$dodaj2 = "strana2.php?godina=2";
$dodaj3 = "strana2.php?godina=3";
$studenti1 = vratiStudente(1);
echo ($studenti1["indeks"]);
$studenti2 = vratiStudente(2);
$studenti3 = vratiStudente(3);
$smarty= new Smarty();
$smarty->assign("dodaj1",$dodaj1);
$smarty->assign("dodaj2",$dodaj2);
$smarty->assign("dodaj3",$dodaj3);
$smarty->assign("studenti1",$studenti1);
$smarty->assign("studenti2",$studenti2);
$smarty->assign("studenti3",$studenti3);
$smarty->display("strana1.tpl");
?>
strana1.tpl
<html>
<head>
</head>
<body>
Godina: 1 <a href ={$dodaj1}>Dodaj</a>
<hr>
<table>
<tr>
<th>Indeks</th>
<th>Ime i Prezime </th>
</tr>
{foreach name="studenti1loop" item=student key=indeks from=$studenti1}
<tr>
<td> {$indeks} </td>
<td> {$student.imeiprezime}</td>
<td>{$student.godina}</td>
</tr>
{/foreach}
</table>
{* druga godina*}
Godina: 2 <a href ={$dodaj2}>Dodaj</a>
<hr>
<table>
<tr>
<th>Indeks</th>
<th>Ime i Prezime </th>
</tr>
{foreach name="studenti2loop" item=student from =$studenti2}
<tr>
<td> {$indeks} </td>
<td> {$student.imeiprezime}</td>
<td>{$student.godina}</td>
</tr>
{/foreach}
</table>
{* treca godina*}
Godina: 3 <a href ={$dodaj3}>Dodaj</a>
<hr>
<table>
<tr>
<th>Indeks</th>
<th>Ime i Prezime </th>
</tr>
{foreach name="studenti2loop" item=student from=$studenti3}
<tr>
<td> {$indeks} </td>
<td> {$student.imeiprezime}</td>
<td>{$student.godina}</td>
</tr>
{/foreach}
</table>
</body>
これは mysql の基本構造です。
そして私の出力(間違ったもの):
そして今、質問: 属性 index,imeiprezime および godina としての frist 配列 ($studenty1) の最初のメンバーが indexs,3,3 を持っている理由がわかりません - それは 12345,dusan skoric, 1 でなければなりません。次の 2 つの配列 (Studenti2,studenti3) のすべてのメンバーの ideks 属性として使用される、最初の配列の最後のメンバーの最後の indexs 属性です。