0

したがって、条件が満たされた場合、アプリはデータベースから読み取り、この形式でページに 出力する必要があります。ここに画像の説明を入力 コードは次のとおりです。出力の画像を最後に 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 属性です。

4

1 に答える 1

0

わかりました。最初の質問を解決しました。linestudenti["indeks"]=lib.phpの$indeksで問題が発生していましたが、2番目の質問に対する回答が見つかりません。

于 2012-05-26T19:22:04.133 に答える