2016-06-24 13 views
-4

Ich habe einige Datenbankdaten in einem Array. Jetzt möchte ich 3 Elemente jeder Seitenanforderung anzeigen.Zeige verschiedene Daten jeder Anfrage

Beispiel:

Data: array(1, 2, 3, 4, 5, 6, 7, 8, 9) 
First request: 1, 2, 3 
Second request: 4, 5, 6 
... 
+2

Dann möchten Sie nicht mischen, sondern nur die ersten 3 Elemente aus Ihrem Array in Scheiben schneiden und es bis zum Ende hinzufügen. – Rizier123

+0

@ Rizier123, Danke für die Antwort Ich werde erklären, was ich eigentlich brauche. Ich formiere das Array von mysql Ergebnissen und auf der ersten Seite zeige ich die ersten 3 Ergebnisse. Wenn der Benutzer die Seite aktualisiert hat, möchte ich die nächsten 3 Ergebnisse auf der ersten Seite – Sree

+0

Gut, dann möchten Sie wahrscheinlich Ihre Frage neu schreiben. Sie müssen dann die Ergebnisse mit einem Sitzungsarray oder ähnlichem über mehrere Anfragen verfolgen. – Rizier123

Antwort

0

Endlich habe ich eine Lösung und hier ist mein Code. Danke allen für die Hilfe

<?php 
       session_start(); 
       $array1=array(1,2,3,4,5,6,7,8,9); 
      $i=0; 
    if(isset($_SESSION["firstthreeids"])){ 
    $value=$_SESSION["firstthreeids"]; 
     $prevarray=explode(",",$value); 
     $displayids=array_diff($array1,$prevarray); 
    } 
    else{ 
     $displayids=$array1; 
    } 
foreach($displayids as $result){ 
    if($i==3){break;} 
    $check[]=$result; 
    $i++; 
} 
if(count($displayids)==3){ 
    unset($_SESSION['firstthreeids']); 
    session_destroy(); 
} 
else{ 
    if(isset($_SESSION["firstthreeids"])){ 
     $_SESSION["firstthreeids"]=implode(",",$check).",".$_SESSION["firstthreeids"]; 
} 
     else{  
      $_SESSION["firstthreeids"]=implode(",",$check); 
      } 
      } 

     print_r($displayids); 

?> 
0

können Sie zwei PHP-Funktionen verwenden array_slice und array_merge.

Schritt # 1 Schneiden Sie die ersten drei Elemente des Arrays ab.

Schritt # 2 Zusammenführen Diese drei Elemente mit den verbleibenden Array-Elementen.

<?php 
function shuffle(arr){ 
    $first_three = array_slice(arr,0,3); 
    $remaining_array = array_slice(arr,3); 

    $new_array = array_merge($remaining_array,$first_three); 

    return $new_array; 
} 

$numbers_array = array(1,2,3,4,5,6,7,8,9); 

shuffle($numbers_array); 

?> 
+0

1) 'shuffle()' ist bereits eine eingebaute Funktion, die Sie nicht überschreiben können 2) Siehe OP Kommentar: http://stackoverflow.com/questions/38011677/shuffle-an-array-in-a-specific -format # comment63466636_38011677 – Rizier123

+0

Vielen Dank für die Korrektur. –

+0

@Abdullah A Malik: Hallo, Danke für die Hilfe. aber es gibt immer 4,5,6 :( – Sree

Verwandte Themen