2010-11-18 4 views
0

Salut ce que j'essaie de faire est de mettre tous les 5 des ID de fichier dans les sessions afin que je puisse déplacer plus tard les noms de fichiers physiques. le $ sid sessionID sera le même pour chacun, la requête tire l'unique $ data [Id]. La limite est fixée à 5, comment puis-je faire que chaque session obtient des données uniques [Id] à partir des résultats et s'il n'y a que 3 résultat ne pas utiliser les 2 dernières ...Stocker des données dans plusieurs sessions

$results = mysql_query("SELECT * FROM test WHERE Language = '".$lang."' ORDER BY id DESC, CreationDate DESC LIMIT $start, 5"); 

    while ($data = mysql_fetch_array($results)) { 
     $Record_Count = $Record_Count + 1; 

session_start(); 
$sid = session_id(); 

     unset($_SESSION['file_1'], $file_1); 
    $_SESSION['file_1'] = $sid . '-' . $data[Id] . '-slow'; 
     unset($_SESSION['file_2'], $file_2); 
    $_SESSION['file_2'] = $sid . '-' . $data[Id] . '-slow'; 
     unset($_SESSION['file_3'], $file_3); 
    $_SESSION['file_3'] = $sid . '-' . $data[Id] . '-slow'; 
     unset($_SESSION['file_4'], $file_4); 
    $_SESSION['file_4'] = $sid . '-' . $data[Id] . '-slow'; 
     unset($_SESSION['file_5'], $file_5); 
    $_SESSION['file_5'] = $sid . '-' . $data[Id] . '-slow'; 

     } 
+0

Vous devez citer le '' Id' dans $ data [Id] '': $ data [ 'id'] '. – Gumbo

+0

si je faisais l'exemple ci-dessous en utilisant un tableau à 2 dimensions comme: $ _SESSION ['files'] [] comment j'appellerais chaque entrée si un simple echo $ _SESSION ['files'] [2] fonctionnait? – acctman

Répondre

1

Vous pouvez seulement avoir une session en cours d'exécution à la fois. Pour vous assurer qu'il n'y a que trois résultats, placez les ID collectés dans un tableau et testez sa longueur.

if(count($collectedIDs) != 3) { $collectedIDs[] = $newID; } 
1

utilisation 2 tableau de dimensions comme: $_SESSION['files'][]

session_start(); 
$sid = session_id(); 
unset($_SESSION['files']); 
$Record_Count = 0; 
while ($data = mysql_fetch_array($results) && $Record_Count < 5) { 
     $Record_Count = $Record_Count + 1; 
     $_SESSION['files'][] = $sid . '-' . $data[Id] . '-slow'; 
} 
+0

comment puis-je récupérer tous les noms à partir de la $ _SESSION ['fichiers'] je suppose que ce serait quelque chose comme ça, mais il faudrait faire défiler toute l'entrée tableau ... mais comment? $ scrtmp = $ _SESSION ['fichiers']; if (file_exists ($ scrtmp)) { @copie ("/ temp /". $ Scrtmp, "/ items /". Date (Y). "/". Date (m). "/". $ Scrtmp) ; } – acctman

Questions connexes