sql >> Database teknologi >  >> RDS >> Mysql

Sådan opdeles MySQL-tabelposter i to for at blive vist på hver side af en side

Du kan bare runde det ned, så du altid får et heltal. På den måde vil en decimal ikke bryde forespørgslen.

$half = floor($numRows/2);

Du vil gerne bruge en ny $half værdi ved hjælp af ceil() på den anden side for at runde op, så du ikke springer en række over i midten.

Som en side kan det være bedre kun at lave én forespørgsel, der returnerer hver række, og derefter udskrive rækkerne op til $half på den ene side, og fortsæt derefter fra det punkt til enden for den anden side. Så rammer du kun databasen én gang, og det er nemmere at se, hvad der foregår.

f.eks.

$result = mysql_query("SELECT * FROM cultures ORDER BY name ASC");
$half   = floor(mysql_num_rows($result)/2);
$count  = 0;

// First side.
while($count <= $half
      && $row = mysql_fetch_array($result))
{
    // ...
    $count++;
}

// ...

// Second side.
while($row = mysql_fetch_array($result))
{
    // ...
}


  1. Indsættelse af variabler i SQL-forespørgsel til node-mysql

  2. PHP login klasse

  3. Bulk Insert til Oracle ved hjælp af .NET

  4. Hvordan JSONPath Wildcard Trin (**) fungerer i MariaDB