2016-04-20 2 views
1

holen Ich brauche eine Hilfe. Ich muss Wert aus Tabelle in zufälliger Reihenfolge zu jeder Zeit des Aufrufs mit MySQL und PHP holen. Ich werde meinen Code unten erklären.Wie man Wert aus der Datenbank in zufälliger Reihenfolge mit MySQL und PHP

$subcat_id=$_GET['subcat_id']; 
$quad_id=$_GET['quad_id']; 
$day_id=$_GET['day_id']; 
$data=array(); 
if(!empty($quad_id) && !empty($day_id)){ 
$sqlqry=mysqli_query($connect,"select * from db_restaurant_detail where subcat_id='".$subcat_id."' and day_id='".$day_id."'"); 
if(mysqli_num_rows($sqlqry) > 0){ 
    while($row=mysqli_fetch_array($sqlqry)){ 
     $member_id=$row['member_id']; 
     $qry="SELECT c.member_id,c.rest_name,c.quadrant,c.city,c.proviance,c.postal,c.address,c.country,c.person,c.mobile,c.url,c. premium,c.image,c.multiple_image,c.business_phone_no,q.quadrant AS quadrant_name FROM db_restaurant_basic AS c LEFT JOIN db_quadrant AS q ON c.quadrant=q.quad_id WHERE c.member_id='".$member_id."' and c.quadrant='".$quad_id."' and c.status=1"; 
     $fetchqry=mysqli_query($connect,$qry); 
     if(mysqli_num_rows($fetchqry) > 0){ 
     while($row1=mysqli_fetch_array($fetchqry)){ 
         if($row1['multiple_image']==''){ 
          $available_image=false; 
         }else{ 
          $available_image=true; 
         } 
         $data[]=array("day_id"=>$row['day_id'],"comment"=>$row['comment'],"restaurant_name"=>$row1['rest_name'],"member_id"=>$row1['member_id'],"available_image"=>$available_image,"quadrant"=>$row1['quadrant_name'],"address"=>$row1['address'],"city"=>$row1['city'],"proviance"=>$row1['proviance'],"postal_code"=>$row1['postal'],"country"=>$row1['country'],"person"=>$row1['person'],"mobile"=>$row1['mobile'],"url"=>$row1['url'],"premium"=>$row1['premium'],"image"=>$row1['image'],"business_phone_no"=>$row1['business_phone_no']); 
        } 
        $result=array("data"=>$data,"imagepath"=>$imagepath); 
        }else{ 
        $result=array("data"=>$data,"imagepath"=>$imagepath); 
        } 
       } 
      }else{ 
       $result=array("data"=>$data,"imagepath"=>$imagepath); 
      } 

Wenn Benutzer diesen localhost/spesh/mobileapi/categoryproduct.php?item=1&acn=2&subcat_id=4&quad_id=5 der obige Code Aufruf ist executing.Here ich brauche, wenn Benutzer diese URL jedes Mal, wenn die erforderlichen Daten Aufruf kommen sollten nicht zufällig in einem asc or desc order.Please mir zu helfen.

+1

Verwendung mysql erzeugen 'RAND()' –

+0

i verwendet this.its nicht als excepeted arbeiten. – subhra

+1

auf einer Nebenbemerkung: Bitte machen Sie Ihren Code lesbarer - ich kann nicht einmal daran denken, mit Code zu arbeiten, der wie Ihr formatiert ist! –

Antwort

3

Verwenden

ORDER BY rand() 

Dies wird zufällige Ergebnisse erzeugen.

MySQL Reference

+0

Ich benutzte dies, aber keine Änderungen bei jedem Anruf. – subhra

+0

@ Pupil: Ich benutze so '$ qry = "SELECT c.member_id, c.rest_name, c.quadrant, c.city, c.proviance, c.postal, c.address, c.lountry, c.person, c.mobile, c.url, c. \t premium, c.image, c.multiple_image, c.business_phone_no, q.quadrant AS quadrant_name FROM db_restaurant_basic AS c LINKER JOIN db_quadrant AS q ON c.quadrant = q.quad_id WHERE c. member_id = '". $ member_id.' 'und c.quadrant ='". $ quad_id. "'und c.status = 1 ORDER BY rand()"; '.aber es ändert keine Reihenfolge in jeder Aufrufzeit url. – subhra

+0

Bitte überprüfen Sie, wie viele Datensätze Sie in der Datenbank haben. Drucken Sie die Abfrage und führen Sie sie im MySQL-Client wie PHPMyAdmin aus. Die Syntax von 'ORDER BY RAND()' ist perfekt und muss funktionieren. – Pupil

1

können Sie fügen "ORDER BY rand()" in der Abfrage. So wird es zufällige Daten holen.

1

Ja

ORDER BY rand()

Es zufällige Ergebnisse der

Verwandte Themen