sql >> Databasteknik >  >> RDS >> Mysql

Använda räknefunktionen för att bestämma vad som visas i if-satsen

Ett projekt har många skjutreglage, för detta bör du ha två tabellprojekt och projektskjutare med relation.

projekttabell:

CREATE TABLE `projects` (

   `id` int(11) NOT NULL AUTO_INCREMENT,
   `project_name` varchar(50) NOT NULL

) 

projektskjutare:

CREATE TABLE `projectsliders` (

   `id` int(11) NOT NULL AUTO_INCREMENT,
   `solution` varchar(50) NOT NULL,
   `image` text NOT NULL,
   `alt` text NOT NULL,
   `project_id` int(11),
   PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1

hämta projectSliders för ett projekt, Master page - projectSlider.php

Bästa sättet att hämta projektskjutare för ett projekt är att använda OOP, du kan anropa en metod och skicka projekt-id och metod bör returnera en array med projektskjutare för detta projekt, men jag förbättrar din kod.

error_reporting(E_ALL);
ini_set('display_errors', 1);

$servername = 'localhost';
$username = 'root';
$password = '';

try {   
   $con = new PDO('mysql:host='.$servername.';dbname=mb', $username, 
   $password);
   $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  //$page = mysql_real_escape_string($page);
  //SQL Call
  $sql_project = "SELECT * FROM projectsliders ps inner join projects p
   on  p.id = ps.project_id
   WHERE p.project_name = '. $project_page .'";

  if ($project_stmt = $con->prepare($sql_project)) {

      $project_stmt->execute();

      $count = project_stmt->rowCount();

      if( $count  != 0 ){

         $project_rows = $project_stmt->fetchAll(PDO::FETCH_ASSOC);

         foreach ($project_rows as $project_row) {

            $project_solution = $project_row['solution'];
            $project_img = $project_row['image'];
            $project_alt = $project_row['alt'];
            $project_img = '<img class="home-comment-profile-pic" src=" '. 
            $project_img .'" alt="' . $project_alt .'">';

            echo '<section id="solProj">';
            echo '<div class="projSlide">';
            echo $project_img;
            echo '</div>';
            echo '</div>';

         }

       }else{
         echo 'No projects found.';
       }
     }
  }   
  catch(PDOException $e) {
      echo "Connection failed: " . $e->getMessage();
  }

Enskilda sidor:

error_reporting(E_ALL);
ini_set('display_errors', 1);
$project_page = "enclosures";
include_once("projectSlider.php"); 

Jag hoppas att detta kan hjälpa dig att njuta av kodning.




  1. Returnerar ett värde även om inget resultat

  2. Mysql lagrad procedur ger okänt kolumnfel när den körs

  3. Hur ändrar du datatypen för en kolumn i SQL Server?

  4. Laravel har många relationer antal gilla-markeringar och kommentarer på inlägget