sql >> Database >  >> RDS >> Mysql

De telfunctie gebruiken om te bepalen wat wordt weergegeven in de if-opdracht

Eén project heeft veel schuifregelaars, hiervoor moet je twee tabellen hebben, projecten en projectschuifregelaars met een relatie.

projecten tabel:

CREATE TABLE `projects` (

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

) 

projectsliders:

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

projectSliders ophalen voor één project, hoofdpagina - projectSlider.php

De beste manier om projectsliders voor één project op te halen, is door OOP te gebruiken. U kunt een methode aanroepen en project-ID doorgeven en de methode zou u een array met projectsliders voor dit project moeten retourneren, maar ik ben uw code aan het verbeteren.

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();
  }

Individuele pagina's:

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

Ik hoop dat dit je kan helpen, geniet van coderen.




  1. GI 19c RPM Package Manager-database

  2. Hoe duplicaten in SQL te verwijderen

  3. Kan ik dezelfde externe-sleutelbeperking in twee verschillende tabellen gebruiken?

  4. MySQL:BEPERKEN met een percentage van het aantal records?