簡體   English   中英

使用while循環在Joomla中開始會話

[英]Session start in Joomla using a while loop

我有2個數據庫,一個數據庫安裝了Joomla,另一個數據庫則存儲了我的個人數據。

我需要同時使用這兩個數據庫。

現在,我使用此查詢對數據庫進行了一段while

 $query="Select * From lista where user_id='$id'"; 
 $result = mysql_query($query) or die(mysql_error());
 while($row=mysql_fetch_array($result))
 {
     $ID_STRUCTURE=$row['ID'];
     ECHO '<P>Modifica <a href="..../test/index.php/modifica">'.$row['struttura'].'</P>';
     $session =& JFactory::getSession();
     $session->set( 'myvar', $ID_STRUCTURE );
 }

當我進入/test/index.php/modifica頁面/test/index.php/modifica我使用以下代碼:

  $session =& JFactory::getSession();
  $myvar= $session->get('myvar');
  echo $myvar;

我必須只得到$ID_STRUCTURE記者的$row['struttura']

如果我在while使用數組,在另一頁/test/index.php/modifica使用foreach ,則將獲取所有值。

我該如何解決?

不要直接使用while循環。 將其存儲到數組或變量中,以便您可以反復使用它。 現在,它返回您的最后一個值,因為while循環已經運行。 因此,當您再次調用它時,它已經在它的最后一個記錄中。

$query="Select * FROM `lista` WHERE `user_id` = '$id'"; 
$result = mysql_query($query) or die(mysql_error());
$a_Array = array();
while($row=mysql_fetch_array($result))
{
    $a_Array['id'] = $row['ID'];
    $a_Array['link'] = '<P>Modifica <a href="..../test/index.php/modifica">'.$row['struttura'].'</P>';
}
$session =& JFactory::getSession();
$session->set( 'myvar', $a_Array);

現在使用一個foreach()循環來獲取另一頁上的所有數據。 在該數組中是值$ myvar ['id']和$ myvar ['link']。

foreach($myvar as $value){
echo $value['id'].$value['link'];
}

當然,因為您總是在循環中覆蓋它。 您需要創建一個數組,或者使鍵唯一。

while ($row = mysqli_fetch_array($result)) {
    $ID_STRUCTURE = $row['ID'];
    ECHO '<P>Modifica <a href="..../test/index.php/modifica">' . $row['struttura'] . '</P>';
    $myvarArray[] = $ID_STRUCTURE;
}
$session = & JFactory::getSession();
$session->set('myvar', $myvarArray);

由於不建議使用mysqli或PDO而不是mysql函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM